minerando dados com python

15
Minerando dados com Python - FTSL 2016

Upload: ramiro-luz

Post on 14-Apr-2017

81 views

Category:

Technology


3 download

TRANSCRIPT

Minerando dados com Python -

FTSL 2016

www.princexml.com
Prince - Non-commercial License
This document was created with Prince, a great way of getting web content onto paper.

Visão GeralPalestra apresentada no FTSL em 31 de agosto de 2016.

A palestra apresenta uma introdução aos conceitos de mineração de dados com exemplos em Python.

A mineração de dados é muito utilizada para identificar padrões e então recomendar e classificar informação.

Quando são apresentadas sugestões de livros, músicas ou produtos em sites de comércio eletrônico, sãoutilizadas técnicas de mineração de dados.

Características da linguagemPython é uma linguage de programação interpretada, com tipagem dinâmica e forte, interativa e muitoutilizada por pesquisadores, porque:

• Python é fácil

• Python é eficiênte

• Python é rápido

http://dataconomy.com/python-packages-for-data-mining/

Conhecendo o PythonPython possui um interpretador que pode ser usado de forma interativa ou para interpretar um módulo.

• Usando o interpretador.

• Função help(), type() e dir().

• Interpretador turbinado.

Exemplo de móduloOs programas ou scripts escritos em Python são chamados de módulo.

1 #!/usr/bin/env python32 import webbrowser34 links = ['http://www.python.org', 'http://www.python.org.br']5 for link in links:6 webbrowser.open_new_tab(link)7 parar = input('Digite "parar" para interromper: ')8 if parar == 'parar':9 break

Bibliotecas científicas, extração emineração de dados

• numpy

• scipy

• matplotlib

• mlpy, Machine Learning Python

• pandas

• scikits-learn

• NLTK, Natural Language Toolkit

• Scrapy

http://www.kdnuggets.com/2012/11/best-python-modules-for-data-mining.html

A arte dos Numerati. Conceitos de DataMiningProjeto baseado no livro A Programmer's Guide to Data Mining.

• Extração de dados relevantes.

• Sistemas de recomendação.

• Filtros baseados em itens.

• Classificação

• Naïve Bayes

• Texto não estruturado

• Clustering

Sistemas de recomendaçãoSistemas de recomendação são aqueles que sugerem algo o mais próximo possível do seu gosto pessoal.

• Como encontrar algo próximo?

• Distância de Manhattan (distância de motorista de taxi).

• Distância Euclideana.

• Cálculo N-dimensional. Métrica de distância de Minkowski.

• Correlação de Coeficiente de Pearson.

• Similaridade de Coseno.

• Vizinho K-nearest

Filtros baseados em itensAlgumas preferências são explicitas, joinha, carinha alegre/triste, estrelas, etc... Outras são implicitas, acompra de um item indica que você gosta ou precisa dele.

• Preferências implicitas.

• Implicito ou explicito?

• Similaridade de itens.

• Similaridade de coseno ajustada. (subtraindo a média do usuário).

• Slope one. (desvio entre cada par de itens e predição com o peso ("Weighted") slope one).

ClassificaçãoA recomendação colaborativa pode falhar pois começa a pesar a popularidade de um item. Uma alternativa éclassificar itens baseando-se em similaridade de seus atributos.

• O gene de um item.

• Problema de escalas.

• Normalização.

• Desvio padrão e score padronizado.

• Casos extremos, score padronizado modificado e desvio padrão absoluto.

• Avaliando sistemas de recomendação.

Naive Bayes• Classificação probabilística.

• Aprendizado preguiçoso (vizinho mais próximo) e fominha (bayes).

• Probabilidade.

• Teorema de Bayes.

Classificando dados não estruturadosNem sempre nossos dados irão possuir atributos, por exemplo um post no twitter ou facebook.

• Dados de treinamento.

• Teste de acertos.

ClusteringQuando não sabemos previamente quais são as classes ou nomes dos grupos.

• Descobrindo grupos.

• k-means clustering.

• hierarchical clustering.

• Single-linkage clustering

• Complete-linkage clustering

• Average-linkage clustering

ReferênciasAlgoritimo de rankeamento de palavras. https://github.com/aneesha/RAKE

Python code for the free book A Programmer's Guide to Data Mining https://github.com/zacharski/pg2dm-python

http://dataconomy.com/python-packages-for-data-mining/

http://www.kdnuggets.com/2012/11/best-python-modules-for-data-mining.html

Natural Language Toolkit http://www.nltk.org/

Machine Learning in Python http://scikit-learn.org/stable/

Scrapy, An open source web scraping framework for Python http://scrapy.org/

What are the best Python 2.7 modules for data mining? https://www.quora.com/What-are-the-best-Python-2-7-modules-for-data-mining

Data mining and integration with Python https://www.youtube.com/watch?v=qWcas-OUE9I

Datamining for Hackers 28C3 - (Análise de VOIP) https://www.youtube.com/watch?v=__s45TTXxps

Practical Machine Learning in Python https://www.youtube.com/watch?v=mS4k0hFhPeQ