Sistemas de recomendação em ruby
Transcript of Sistemas de recomendação em ruby
![Page 1: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/1.jpg)
Sistemas de
recomendação em Ruby
Daniel Lopes
![Page 2: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/2.jpg)
Agenda
- Tipos de Sistemas
- Gems Ruby
- Performance
- Métricas
- Referências
![Page 3: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/3.jpg)
Tipos de recomendação
- Content-based filtering (Baseadas em
conteúdo dos itens)
- Collaborative filtering (Baseadas em
usuarios)
- Hibridas
![Page 4: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/4.jpg)
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]
![Page 5: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/5.jpg)
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
![Page 6: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/6.jpg)
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
![Page 7: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/7.jpg)
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.
![Page 8: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/8.jpg)
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)
![Page 9: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/9.jpg)
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
![Page 10: Sistemas de recomendação em ruby](https://reader036.fdocumentos.tips/reader036/viewer/2022082413/55ac7ed91a28ab77618b47d0/html5/thumbnails/10.jpg)
Obrigado!
Daniel Lopes
Engenheiro em Computação
@dannyeuu
about.me/dannyeuu
Junte-se
a nósbankfacil.com.br/dev