SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Sistemas de
recomendação em Ruby
Daniel Lopes
Agenda
- Tipos de Sistemas
- Gems Ruby
- Performance
- Métricas
- Referências
Tipos de recomendação
- Content-based filtering (Baseadas em
conteúdo dos itens)
- Collaborative filtering (Baseadas em
usuarios)
- Hibridas
Content-based filtering
Baseado em conteúdos dos itens, verifica a
semelhança .
Algoritmos mais comuns são: tf-idf (term
frequency–inverse document frequency), a
Correlação de Pearson - mede a correlação
entre duas variáveis X e Y numa faixa [-1] ~ [1]
Collaborative filtering
Baseado nos usuários, verifica a semelhança
entre eles e procura a similaridade entre eles.
Algoritmo mais comum é o: k-NN (k vizinhos
mais próximos) procura o vizinho mais próximo
Ferramentas em Ruby
Como o ruby tem menos tradição científica,
como python, há menos gems :(
SciRuby (http://sciruby.com/) :)
Tools for Scientific Computing in Ruby
Performance do dataset/algoritmo
- MSE (root mean square) Calcula o valor
eficaz de uma função variável continua ou
uma série discreta, MSE = 0 indica
simulação perfeita.
- RMSE (root-mean-square error) apresenta
valores do erro nas mesmas dimensões da
variável analisada.
Métrica
- Presição: Mede o acerto das
recomendações. precisao=tp/(tp+fp)
- Recall: quantidade de itens de interesse do
usuário que aparecem na lista de
recomendações. recall=tp/(tp+fn)
Referências
Recommender Systems with Ruby
http://pt.slideshare.net/marcelcaraciolo/recomm
ender-systems-with-ruby-adding-machine-
learning-statistics-etc
Big Data, Data Mining, and Machine
Learning, Jared Dean, 2014
Obrigado!
Daniel Lopes
Engenheiro em Computação
@dannyeuu
daniel@bankfacil.com.br
about.me/dannyeuu
Junte-se
a nós
bankfacil.com.br/dev

Weitere ähnliche Inhalte

Mehr von Creditas

Positive reinforcement and statistics
Positive reinforcement and statisticsPositive reinforcement and statistics
Positive reinforcement and statisticsCreditas
 
Text mining Pre-processing
Text mining Pre-processingText mining Pre-processing
Text mining Pre-processingCreditas
 
Melanoma: how to detect skin cancer
Melanoma: how to detect skin cancerMelanoma: how to detect skin cancer
Melanoma: how to detect skin cancerCreditas
 
Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Creditas
 
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeComo melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeCreditas
 
O paradoxo da escolha
O paradoxo da escolhaO paradoxo da escolha
O paradoxo da escolhaCreditas
 
A arte de ser Mensch
A arte de ser MenschA arte de ser Mensch
A arte de ser MenschCreditas
 
An introduction to MySQL
An introduction to MySQLAn introduction to MySQL
An introduction to MySQLCreditas
 
GTD - Getting Things Done
GTD - Getting Things DoneGTD - Getting Things Done
GTD - Getting Things DoneCreditas
 
Pig - Analyzing data sets
Pig - Analyzing data setsPig - Analyzing data sets
Pig - Analyzing data setsCreditas
 
Learning how to learn
Learning how to learnLearning how to learn
Learning how to learnCreditas
 
OOCSS and SMACSS
OOCSS and SMACSSOOCSS and SMACSS
OOCSS and SMACSSCreditas
 
Debugging with pry
Debugging with pryDebugging with pry
Debugging with pryCreditas
 
Rails in the bowels
Rails in the bowelsRails in the bowels
Rails in the bowelsCreditas
 
Solid - OOD Principles
Solid - OOD PrinciplesSolid - OOD Principles
Solid - OOD PrinciplesCreditas
 
Do MONOLÍTICO à arquitetura distribuída
Do MONOLÍTICO à arquitetura distribuídaDo MONOLÍTICO à arquitetura distribuída
Do MONOLÍTICO à arquitetura distribuídaCreditas
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy HerokuCreditas
 

Mehr von Creditas (20)

Positive reinforcement and statistics
Positive reinforcement and statisticsPositive reinforcement and statistics
Positive reinforcement and statistics
 
Text mining Pre-processing
Text mining Pre-processingText mining Pre-processing
Text mining Pre-processing
 
Melanoma: how to detect skin cancer
Melanoma: how to detect skin cancerMelanoma: how to detect skin cancer
Melanoma: how to detect skin cancer
 
Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015Rails Girls - RubyConfBR 2015
Rails Girls - RubyConfBR 2015
 
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefeComo melhorar sua comunicação com sua equipe, sua mãe e seu chefe
Como melhorar sua comunicação com sua equipe, sua mãe e seu chefe
 
O paradoxo da escolha
O paradoxo da escolhaO paradoxo da escolha
O paradoxo da escolha
 
A arte de ser Mensch
A arte de ser MenschA arte de ser Mensch
A arte de ser Mensch
 
An introduction to MySQL
An introduction to MySQLAn introduction to MySQL
An introduction to MySQL
 
GTD - Getting Things Done
GTD - Getting Things DoneGTD - Getting Things Done
GTD - Getting Things Done
 
Pig - Analyzing data sets
Pig - Analyzing data setsPig - Analyzing data sets
Pig - Analyzing data sets
 
Neo4 j
Neo4 jNeo4 j
Neo4 j
 
Learning how to learn
Learning how to learnLearning how to learn
Learning how to learn
 
OOCSS and SMACSS
OOCSS and SMACSSOOCSS and SMACSS
OOCSS and SMACSS
 
Debugging with pry
Debugging with pryDebugging with pry
Debugging with pry
 
Sublime
SublimeSublime
Sublime
 
Rails in the bowels
Rails in the bowelsRails in the bowels
Rails in the bowels
 
Solid - OOD Principles
Solid - OOD PrinciplesSolid - OOD Principles
Solid - OOD Principles
 
Do MONOLÍTICO à arquitetura distribuída
Do MONOLÍTICO à arquitetura distribuídaDo MONOLÍTICO à arquitetura distribuída
Do MONOLÍTICO à arquitetura distribuída
 
Minitest
MinitestMinitest
Minitest
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy Heroku
 

Sistemas de Recomendação em Ruby: Tipos, Gems, Métricas e Performance

  • 1. Sistemas de recomendação em Ruby Daniel Lopes
  • 2. Agenda - Tipos de Sistemas - Gems Ruby - Performance - Métricas - Referências
  • 3. Tipos de recomendação - Content-based filtering (Baseadas em conteúdo dos itens) - Collaborative filtering (Baseadas em usuarios) - Hibridas
  • 4. Content-based filtering Baseado em conteúdos dos itens, verifica a semelhança . Algoritmos mais comuns são: tf-idf (term frequency–inverse document frequency), a Correlação de Pearson - mede a correlação entre duas variáveis X e Y numa faixa [-1] ~ [1]
  • 5. Collaborative filtering Baseado nos usuários, verifica a semelhança entre eles e procura a similaridade entre eles. Algoritmo mais comum é o: k-NN (k vizinhos mais próximos) procura o vizinho mais próximo
  • 6. Ferramentas em Ruby Como o ruby tem menos tradição científica, como python, há menos gems :( SciRuby (http://sciruby.com/) :) Tools for Scientific Computing in Ruby
  • 7. Performance do dataset/algoritmo - MSE (root mean square) Calcula o valor eficaz de uma função variável continua ou uma série discreta, MSE = 0 indica simulação perfeita. - RMSE (root-mean-square error) apresenta valores do erro nas mesmas dimensões da variável analisada.
  • 8. Métrica - Presição: Mede o acerto das recomendações. precisao=tp/(tp+fp) - Recall: quantidade de itens de interesse do usuário que aparecem na lista de recomendações. recall=tp/(tp+fn)
  • 9. Referências Recommender Systems with Ruby http://pt.slideshare.net/marcelcaraciolo/recomm ender-systems-with-ruby-adding-machine- learning-statistics-etc Big Data, Data Mining, and Machine Learning, Jared Dean, 2014
  • 10. Obrigado! Daniel Lopes Engenheiro em Computação @dannyeuu daniel@bankfacil.com.br about.me/dannyeuu Junte-se a nós bankfacil.com.br/dev