SlideShare uma empresa Scribd logo
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ã? …

Mais conteúdo relacionado

Destaque

Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
Márcio Bortolini dos Santos
 
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
Anderson 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 Sociais
Natã 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ção
Joel 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 Spark
sscdotopen
 
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
Marcel Caraciolo
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
Anderson Dantas
 
Sistemas de Recomendação
Sistemas de Recomendação Sistemas de Recomendação
Sistemas de Recomendação
Renato Shirakashi
 
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
saspi2
 
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
 
Shideshare
ShideshareShideshare
Shideshare
milena fernanda
 
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
Caserta
 

Destaque (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
 

Semelhante a 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.pptx
getuliodasilvasantos
 
Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01Material - Play! Framework - UERN - Aula 01
Material - Play! Framework - UERN - Aula 01
Allyson 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 computing
Priscila 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 Testes
GUTS-RS
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
Allan 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 8
Cí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.BR
Leandro Coutinho
 
Pybr12 algpedia
Pybr12 algpediaPybr12 algpedia
Pybr12 algpedia
Thais Viana
 
Webmedia2007 V4
Webmedia2007 V4Webmedia2007 V4
Webmedia2007 V4
Christiano Avila
 
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
Arthur Fortes
 
00 apresentacao
00   apresentacao00   apresentacao
00 apresentacao
IF Sertão Pernambucano
 
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
Alvaro Viebrantz
 
Learning to Rank
Learning to RankLearning to Rank
Learning to Rank
Adam Victor Brandizzi
 
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
 
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
Marcelo 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 webdriver
Qualister
 
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
Júlio de Lima
 

Semelhante 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

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (8)

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

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