SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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ã? …

Weitere ähnliche Inhalte

Andere mochten auch

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 SocialAnderson Kanegae Soares Rocha
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisNatã Melo
 
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çãoJoel Pinho Lucas
 
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 Sparksscdotopen
 
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
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendaçãoAnderson Dantas
 
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çãosaspi2
 
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...Alan Said
 
Apache Mahout Tutorial - Recommendation - 2013/2014
Apache Mahout Tutorial - Recommendation - 2013/2014 Apache Mahout Tutorial - Recommendation - 2013/2014
Apache Mahout Tutorial - Recommendation - 2013/2014 Cataldo Musto
 
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 SparkCaserta
 

Andere mochten auch (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
 

Ähnlich wie Sistemas de Recomendação Usando Mahout - Dia 1

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.pptxgetuliodasilvasantos
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Allyson Barros
 
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?Marlesson Santana
 
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 computingPriscila Mayumi
 
[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 TestesGUTS-RS
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do MavenAllan Alves
 
#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?Mayara Fernandes
 
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 8Cícera Malheiro
 
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.BRLeandro Coutinho
 
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 multimodaisArthur Fortes
 
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 GoAlvaro Viebrantz
 
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 softwareTargettrust
 
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 softwareTargettrust
 
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 PlanejamentoMarcelo Chinalia
 
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 webdriverQualister
 
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 driverJúlio de Lima
 

Ähnlich wie 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
 

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