Download - Minerando dados com Python
Minerando dados com Python -
FTSL 2016
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.
Comunidades
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