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ão utilizadas técnicas de mineração de dados.
2. Visão Geral
Palestra 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ão
utilizadas técnicas de mineração de dados.
4. Características da linguagem
Python é uma linguage de programação interpretada, com tipagem dinâmica e forte, interativa e muito
utilizada por pesquisadores, porque:
• Python é fácil
• Python é eficiênte
• Python é rápido
http://dataconomy.com/python-packages-for-data-mining/
5. Conhecendo o Python
Python 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.
6. Exemplo de módulo
Os programas ou scripts escritos em Python são chamados de módulo.
1 #!/usr/bin/env python3
2 import webbrowser
3
4 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
7. Bibliotecas científicas, extração e
mineraçã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
8. A arte dos Numerati. Conceitos de Data
Mining
Projeto 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
9. Sistemas de recomendação
Sistemas 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
10. Filtros baseados em itens
Algumas preferências são explicitas, joinha, carinha alegre/triste, estrelas, etc... Outras são implicitas, a
compra 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).
11. Classificação
A 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.
12. Naive Bayes
• Classificação probabilística.
• Aprendizado preguiçoso (vizinho mais próximo) e fominha (bayes).
• Probabilidade.
• Teorema de Bayes.
13. Classificando dados não estruturados
Nem sempre nossos dados irão possuir atributos, por exemplo um post no twitter ou facebook.
• Dados de treinamento.
• Teste de acertos.
14. Clustering
Quando 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
15. Referências
Algoritimo 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