SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Sistemas de Recomendação usando
Mahout
Alison Marczewski
Álvaro Reis Neto
Workshop de Mineração de Dados
Julho de 2012
Agenda
• Objetivo
• Mahout Framework
– O que é
– Quem usa
– Utilizando o Mahout com o Eclipse
– O que é Recomendação
Agenda
• Mahout Framework
– Rodando o primeiro sistema de recomendação
– Avaliando um Recomendador
– Avaliando Precision e Recall
– Representando dados de Recomendação
O que é
Apache Mahout é um conjunto de bibliotecas de
aprendizagem de máquinas projetado para ser
escalável e robusta
• Classificação

• Clusterização
• Recomendação
Quem usa
Utilizando o Mahout com o Eclipse
• Instalar Eclipse
• Baixar Apache Mahout
• Baixar base de dados Grouplens
O que é Recomendação
• Filtragem Colaborativa
– Pessoas com gostos similares
– Itens parecidos com os que você gosta

• Baseada em Conteúdo
UserSimilarity
App

Recommender

DataModel
UserNeighborhood
Rodando o primeiro Sistema de
Recomendação

Let’s Work!
Avaliando um Recomendador
• Qual a melhor recomendação para um
usuário?

Treino Dados

Teste
Avaliando Precision e Recall

Recall

Precision
Documentos Recuperados
Documentos
Relevantes
Todos os possíveis
Documentos
Representando dados de Recomendação
• Preferência
– Userid, itemid, preference_value

• Preferência no Mahout
– new GenericPreference(123, 456, 4.0f);
PreferenceArray userPref = new
GenericUserPreferenceArray(10);
userPref.setUserID(0, 1L);
userPref.setItemID(0, 101L);
userPref.setValue(0, 2.0f);
userPref.setItemID(1, 106L);
userPref.setValue(1, 5.0f);
Preference pref = userPref.get(0);
Representando dados de Recomendação
• DataModel
Obrigado!
Até amanhã? …

Más contenido relacionado

Destacado

Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
Natã Melo
 
Co-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and SparkCo-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and Spark
sscdotopen
 

Destacado (13)

Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação SocialUm Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
Um Modelo de Negociação de Privacidade para Sistemas de Recomendação Social
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
 
Conceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de RecomendaçãoConceitos e práticas em Sistemas de Recomendação
Conceitos e práticas em Sistemas de Recomendação
 
Co-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and SparkCo-occurrence Based Recommendations with Mahout, Scala and Spark
Co-occurrence Based Recommendations with Mahout, Scala and Spark
 
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çãoSistemas de recomendação
Sistemas de recomendação
 
Sistemas de Recomendação
Sistemas de Recomendação Sistemas de Recomendação
Sistemas de Recomendação
 
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de RecomendaçãoTécnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
 
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
 
Apache Mahout Tutorial - Recommendation - 2013/2014
Apache Mahout Tutorial - Recommendation - 2013/2014 Apache Mahout Tutorial - Recommendation - 2013/2014
Apache Mahout Tutorial - Recommendation - 2013/2014
 
Shideshare
ShideshareShideshare
Shideshare
 
How to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on SparkHow to Build a Recommendation Engine on Spark
How to Build a Recommendation Engine on Spark
 

Similar a Sistemas de Recomendação Usando Mahout - Dia 1

Tecnologias para Definição do Processo Organizacional segundo o MPS.BR
Tecnologias para Definição do Processo Organizacional segundo o MPS.BRTecnologias para Definição do Processo Organizacional segundo o MPS.BR
Tecnologias para Definição do Processo Organizacional segundo o MPS.BR
Leandro Coutinho
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
Targettrust
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
Targettrust
 

Similar a Sistemas de Recomendação Usando Mahout - Dia 1 (20)

Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptxMódulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
Módulo+10+-+Arquitetura+de+nuvem_nn+(1)_abcdpdf_pdf_para_ppt.pptx
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01
 
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
 
Sistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computingSistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computing
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
 
01/12 Introducao Workshop Atlas.ti 8
01/12 Introducao Workshop Atlas.ti 801/12 Introducao Workshop Atlas.ti 8
01/12 Introducao Workshop Atlas.ti 8
 
Tecnologias para Definição do Processo Organizacional segundo o MPS.BR
Tecnologias para Definição do Processo Organizacional segundo o MPS.BRTecnologias para Definição do Processo Organizacional segundo o MPS.BR
Tecnologias para Definição do Processo Organizacional segundo o MPS.BR
 
Pybr12 algpedia
Pybr12 algpediaPybr12 algpedia
Pybr12 algpedia
 
Webmedia2007 V4
Webmedia2007 V4Webmedia2007 V4
Webmedia2007 V4
 
Recomendação de conteúdo baseada em interações multimodais
Recomendação de conteúdo baseada em interações multimodaisRecomendação de conteúdo baseada em interações multimodais
Recomendação de conteúdo baseada em interações multimodais
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Learning to Rank
Learning to RankLearning to Rank
Learning to Rank
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
OpenAce - Método para Análise e Solução de Problemas e Planejamento
OpenAce - Método para Análise e Solução de Problemas e PlanejamentoOpenAce - Método para Análise e Solução de Problemas e Planejamento
OpenAce - Método para Análise e Solução de Problemas e Planejamento
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
 

Último

Último (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Sistemas de Recomendação Usando Mahout - Dia 1

  • 1. Sistemas de Recomendação usando Mahout Alison Marczewski Álvaro Reis Neto Workshop de Mineração de Dados Julho de 2012
  • 2. Agenda • Objetivo • Mahout Framework – O que é – Quem usa – Utilizando o Mahout com o Eclipse – O que é Recomendação
  • 3. Agenda • Mahout Framework – Rodando o primeiro sistema de recomendação – Avaliando um Recomendador – Avaliando Precision e Recall – Representando dados de Recomendação
  • 4. O que é Apache Mahout é um conjunto de bibliotecas de aprendizagem de máquinas projetado para ser escalável e robusta • Classificação • Clusterização • Recomendação
  • 6. Utilizando o Mahout com o Eclipse • Instalar Eclipse • Baixar Apache Mahout • Baixar base de dados Grouplens
  • 7. O que é Recomendação • Filtragem Colaborativa – Pessoas com gostos similares – Itens parecidos com os que você gosta • Baseada em Conteúdo UserSimilarity App Recommender DataModel UserNeighborhood
  • 8. Rodando o primeiro Sistema de Recomendação Let’s Work!
  • 9. Avaliando um Recomendador • Qual a melhor recomendação para um usuário? Treino Dados Teste
  • 10. Avaliando Precision e Recall Recall Precision Documentos Recuperados Documentos Relevantes Todos os possíveis Documentos
  • 11. Representando dados de Recomendação • Preferência – Userid, itemid, preference_value • Preferência no Mahout – new GenericPreference(123, 456, 4.0f); PreferenceArray userPref = new GenericUserPreferenceArray(10); userPref.setUserID(0, 1L); userPref.setItemID(0, 101L); userPref.setValue(0, 2.0f); userPref.setItemID(1, 106L); userPref.setValue(1, 5.0f); Preference pref = userPref.get(0);
  • 12. Representando dados de Recomendação • DataModel