SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Minerando dados com Python -
FTSL 2016
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.
Comunidades
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/
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.
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
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
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
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
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).
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.
Naive Bayes
• Classificação probabilística.
• Aprendizado preguiçoso (vizinho mais próximo) e fominha (bayes).
• Probabilidade.
• Teorema de Bayes.
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.
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
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

Mais conteúdo relacionado

Mais procurados

Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosLeinylson Fontinele
 
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...Fernando Belome Feltrin
 
Palestra Ciência de Dados
Palestra Ciência de DadosPalestra Ciência de Dados
Palestra Ciência de Dadoscardoso80
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축BOAZ Bigdata
 
Desenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonDesenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonLuiz Cláudio Silva
 
Erros mais comuns num computador
Erros mais comuns num computadorErros mais comuns num computador
Erros mais comuns num computadorIgor Domingos
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)Kaoru Hatake
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
O que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoO que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoLuis Borges Gouveia
 

Mais procurados (20)

Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
300 Exercícios Resolvidos e Comentados em Python - Fernando Feltrin - Amostra...
 
Palestra Ciência de Dados
Palestra Ciência de DadosPalestra Ciência de Dados
Palestra Ciência de Dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Catch, Traffic!] : 지하철 혼잡도 및 키워드 분석 데이터 파이프라인 구축
 
Desenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonDesenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com Python
 
Erros mais comuns num computador
Erros mais comuns num computadorErros mais comuns num computador
Erros mais comuns num computador
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Data science
Data scienceData science
Data science
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Manutenção de computadores
Manutenção de computadoresManutenção de computadores
Manutenção de computadores
 
Analise sistemas 01
Analise sistemas 01Analise sistemas 01
Analise sistemas 01
 
O que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceitoO que é a ciência de dados (data science). Discussão do conceito
O que é a ciência de dados (data science). Discussão do conceito
 

Semelhante a Minerando dados com Python

WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...
WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...
WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...Celso Crivelaro
 
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...Celso Crivelaro
 
Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Ralph Rassweiler
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaMarcel Caraciolo
 
Os 7 processos da Arquitetura da Informação
Os 7 processos da Arquitetura da InformaçãoOs 7 processos da Arquitetura da Informação
Os 7 processos da Arquitetura da InformaçãoEdyd B. Junges
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filteringZhang Yi Ling
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de RecomendacaoAhirton Lopes
 
Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2Ralph Rassweiler
 
Pesquisa Exploratória em Marketing
Pesquisa Exploratória em MarketingPesquisa Exploratória em Marketing
Pesquisa Exploratória em MarketingGraziela Rodrigues
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao IIAhirton Lopes
 
Avaliar_informacao.pdf
Avaliar_informacao.pdfAvaliar_informacao.pdf
Avaliar_informacao.pdfjpedrosilva1
 
Teste de usabilidade - Site 2AB
Teste de usabilidade - Site 2ABTeste de usabilidade - Site 2AB
Teste de usabilidade - Site 2ABLuiz Agner
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Alison Marczewski
 

Semelhante a Minerando dados com Python (18)

Sistemas de Recomendação na web
Sistemas de Recomendação na webSistemas de Recomendação na web
Sistemas de Recomendação na web
 
WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...
WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...
WTA2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recome...
 
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
WTA 2012 - Proposta de Modelo Adaptativo para Geração de Contextos na Recom...
 
Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1Sistemas de Recomendação - Parte 1
Sistemas de Recomendação - Parte 1
 
Sistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência ColetivaSistemas de Recomendação e Inteligência Coletiva
Sistemas de Recomendação e Inteligência Coletiva
 
Sistemas de Recomendação
Sistemas de Recomendação Sistemas de Recomendação
Sistemas de Recomendação
 
Talk conexao
Talk conexaoTalk conexao
Talk conexao
 
Os 7 processos da Arquitetura da Informação
Os 7 processos da Arquitetura da InformaçãoOs 7 processos da Arquitetura da Informação
Os 7 processos da Arquitetura da Informação
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao[Jose Ahirton Lopes] Algoritmos de Recomendacao
[Jose Ahirton Lopes] Algoritmos de Recomendacao
 
Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2Sistemas de Recomendação - Parte 2
Sistemas de Recomendação - Parte 2
 
Pesquisa Exploratória em Marketing
Pesquisa Exploratória em MarketingPesquisa Exploratória em Marketing
Pesquisa Exploratória em Marketing
 
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II[Jose Ahirton Lopes] Algoritmos de Recomendacao II
[Jose Ahirton Lopes] Algoritmos de Recomendacao II
 
Avaliar_informacao.pdf
Avaliar_informacao.pdfAvaliar_informacao.pdf
Avaliar_informacao.pdf
 
Teste de usabilidade - Site 2AB
Teste de usabilidade - Site 2ABTeste de usabilidade - Site 2AB
Teste de usabilidade - Site 2AB
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
Prz 25 03_11
Prz 25 03_11Prz 25 03_11
Prz 25 03_11
 
Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2Sistemas de Recomendação Usando Mahout - Dia 2
Sistemas de Recomendação Usando Mahout - Dia 2
 

Mais de Ramiro Luz

Institutional Website - the longest project of my life
Institutional Website - the longest project of my lifeInstitutional Website - the longest project of my life
Institutional Website - the longest project of my lifeRamiro Luz
 
Plone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsPlone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsRamiro Luz
 
Portal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsPortal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsRamiro Luz
 
Para que serve o Python
Para que serve o PythonPara que serve o Python
Para que serve o PythonRamiro Luz
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Ramiro Luz
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Ramiro Luz
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Ramiro Luz
 
Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Ramiro Luz
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com PloneRamiro Luz
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Ramiro Luz
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Ramiro Luz
 
Python 3, patterns and indioms
Python 3, patterns and indiomsPython 3, patterns and indioms
Python 3, patterns and indiomsRamiro Luz
 
Dojo de Programação
Dojo de ProgramaçãoDojo de Programação
Dojo de ProgramaçãoRamiro Luz
 
Teaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleTeaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleRamiro Luz
 
Usando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDUsando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDRamiro Luz
 
Sabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonSabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonRamiro Luz
 
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Ramiro Luz
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionRamiro Luz
 
python-agil-IVEnGitec
python-agil-IVEnGitecpython-agil-IVEnGitec
python-agil-IVEnGitecRamiro Luz
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++Ramiro Luz
 

Mais de Ramiro Luz (20)

Institutional Website - the longest project of my life
Institutional Website - the longest project of my lifeInstitutional Website - the longest project of my life
Institutional Website - the longest project of my life
 
Plone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizationsPlone Portal, cultural and economic challenges in public organizations
Plone Portal, cultural and economic challenges in public organizations
 
Portal Modelo - Plone for Parliaments
Portal Modelo - Plone for ParliamentsPortal Modelo - Plone for Parliaments
Portal Modelo - Plone for Parliaments
 
Para que serve o Python
Para que serve o PythonPara que serve o Python
Para que serve o Python
 
Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.Python, por onde começar - Semana Technológica UTFPR 2015.
Python, por onde começar - Semana Technológica UTFPR 2015.
 
Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015Workshop de introdução ao python - TADS 2015
Workshop de introdução ao python - TADS 2015
 
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
Não se repita - Django Generic Views - Semana Acadêmica TADS 2015.
 
Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015Não se repita - Django Generic Views - FLISOL Curitiba 2015
Não se repita - Django Generic Views - FLISOL Curitiba 2015
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com Plone
 
Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014Python, por onde começar? @FTSL2014
Python, por onde começar? @FTSL2014
 
Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?Flisol 2014 - Python, por onde começar?
Flisol 2014 - Python, por onde começar?
 
Python 3, patterns and indioms
Python 3, patterns and indiomsPython 3, patterns and indioms
Python 3, patterns and indioms
 
Dojo de Programação
Dojo de ProgramaçãoDojo de Programação
Dojo de Programação
 
Teaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo StyleTeaching TDD, the Coding Dojo Style
Teaching TDD, the Coding Dojo Style
 
Usando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDDUsando Dojos de Programação para o Ensino de TDD
Usando Dojos de Programação para o Ensino de TDD
 
Sabores do desenvolvimento web com Python
Sabores do desenvolvimento web com PythonSabores do desenvolvimento web com Python
Sabores do desenvolvimento web com Python
 
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
Usando Dojos de Programação para o Ensino e Disseminação de Práticas Ágeis: r...
 
Apresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoptionApresentação resumo de artigo Limiting Factor of TDD adoption
Apresentação resumo de artigo Limiting Factor of TDD adoption
 
python-agil-IVEnGitec
python-agil-IVEnGitecpython-agil-IVEnGitec
python-agil-IVEnGitec
 
Testes de Unidade para C++
Testes de Unidade para C++Testes de Unidade para C++
Testes de Unidade para C++
 

Minerando dados com Python

  • 1. Minerando dados com Python - FTSL 2016
  • 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