SlideShare uma empresa Scribd logo
Case Recommender Fazendo
Recomendação em
Python
Arthur Fortes
✘ Bacharel (Estácio CEUT) e Mestre (ICMC-USP) em Ciência
da Computação
✘ Doutorando (ICMC - USP) / Freelancer
- Desenvolvedor Backend (2009)
- Python (2010)
- Sistemas de Recomendação (2013)
- IA e Análise de Dados (2016)
Sistemas de Recomendação
Surgiu em resposta à dificuldade das pessoas em escolher entre uma grande variedade de
produtos e serviços e entre as várias alternativas que lhe são apresentadas (Sobrecarga de
informação)
Combina várias técnicas computacionais para selecionar itens personalizados com base nos
interesses dos usuários e conforme o contexto no qual estão inseridos.
Algoritmos de recomendação tentam achar a similaridade/relação entre conteúdos, amigos e
interações para gerar uma lista de itens (rankings) e/ou predição de notas para determinado(s)
item(s) baseado no comportamento dos usuários.
Geralmente os sistemas de recomendação são baseados em filtragem colaborativa ou baseada
em conteúdo. Existem também abordagens baseadas em demografia, localização, etc.
Recomendação está presente no dia-a-dia das pessoas: além de evitar a perda de milhares de
usuários, aumenta o consumo de conteúdo.
“A recomendação
tenta auxiliar o
usuário a encontrar
algo de que gostaria
mas que não sabe,
exatamente, como
achar”
“A lot of times, people don't know what they want until you show it to
them.”
-Steve jobs
Problemas
Excesso de Informação
Com a quantidade de informações e com a disponibilidade facilitada das mesmas pelo uso
da Internet, as pessoas se deparam com uma diversidade muito grande de opções e
informações. (A maldição da dimensionalidade/ esparsidade)
Solução: O uso de sistemas de recomendação adotam técnicas de modelagem de perfis
diferentes para coletar informações tanto dos usuários, como itens para retornar
aos usuários conteúdo relevante de acordo com suas preferências.
Problemas
Integração do Usuário
Novas funcionalidades e tendências nas aplicações tecnológicas encorajaram uma
crescente mudança no papel do usuário, de um mero consumidor de informações para
um ativo produtor de conhecimento e dados.
Solução: Algoritmos de recomendação que integrem diferentes tipos de feedback para
considerar o máximo de tipos de informação do usuário. (Mestrado - Ensemble)
Problemas
Abrangência
Com o avanço das tecnologias surgiram diferentes maneiras para que os usuários conseguissem
expressar de maneira mais eficiente suas preferências. No entanto, a maioria das ferramentas existentes
não conseguiram acompanhar essas mudanças e avanços ou não possuem um arcabouço abrangente de
vários recomendadores.
Solução:
Case Recommender
Inovações
✘ O desenvolvimento de um framework capaz de retornar conteúdo
personalizado para seus usuários com diferentes técnicas e visão dos dados.
✘ Além de técnicas de validação e avaliação dos resultados em cenários de
predição de notas e rankings.
✘ Oferecer ao desenvolver um ambiente dinâmico, no qual ele possa não
somente utilizar os algoritmos, mas também interagir e desenvolver seus
modelos.
O Framework
Case
Recommender
Linguagens de Programação
O framework é desenvolvido em Python
3.6 com algumas bibliotecas. Exemplos:
- Numpy
- Scipy
- Scikit-learn
Adicionais : Matplotlib, Pandas
Tecnologias
Técnicas e Áreas Relacionadas
Utiliza-se diversas técnicas de inteligência
artificial e recuperação de informação
para o desenvolvimento do projeto, entre
elas:
- Mineração de dados
- Análise de Sentimento
- Classificação
- Algortimos de Recomendação
- Agrupamento de dados
Predição de Notas
✘ Matrix Factorization
✘ SVD ++
✘ Item KNN
✘ Item Attribute KNN
✘ User KNN
✘ User Attribute KNN
✘ Item NSVD1 (with and without Batch)
✘ User NSVD1 (with and without Batch)
Algoritmos
Ranking
✘ BPR MF
✘ Item KNN
✘ Item Attribute KNN
✘ User KNN
✘ User Attribute KNN
✘ Ensemble BPR Learning
✘ Most Popular
✘ Random
Validação e Análise Estatístico
✘ All-but-one Protocol
✘ Cross-fold-validation
✘ Bootstrapping
✘ T-test and Wilcoxon
Avaliação
Métricas de Avaliação
✘ Rankings: Precision, Recall, NDCG e Map
✘ Predição de notas: RMSE e MAE
Requisitos
✘ Python 3
✘ scipy
✘ numpy
“Em meio a tudo isso,
o que devo escolher?”
Por que Python?
Representação dos Dados
Fácil manipulação de matrizes
e dicionários, principalmente
aliado as bibliotecas pandas e
numpy.
Manipulação de arquivo e dados
Capacidade de guardar e
manipular informações, além de
eficientes métodos de leitura e
escrita em arquivos.
Bibliotecas
Disponibilidade de bibliotecas
matemáticas, com funções e
tarefas otimizadas tanto para
processamento como
visualização de dados.
Uso
Divide datasets (Cross Fold Validation)
>> from caserec.utils.cross-fold-validation import CrossFoldValidation
>> CrossFoldValidation(input-file=dataset, dir_ folds=dir-path, n-folds=10).execute()
Run Item Recommendation Algorithm (E.g: ItemKNN)
>> from caserec.recommenders.item_ recommendation.itemknn import ItemKNN
>> ItemKNN(train-file, test-file).execute()
Uso
Run Rating Prediction Algorithm (E.g: ItemKNN)
>> from caserec.recommenders.rating-prediction.itemknn import ItemKNN
>> ItemKNN(train-file, test-file).execute()
Evaluate Ranking (Prec@N, Recall@N, NDCG@, Map@N and Map Total)
>> from caserec.evaluation.item-recommendation import ItemRecommendationEvaluation
>> ItemRecommendationEvaluation().simple-evaluation(ranking_ file, test_ file)
Evaluate Ranking (MAE and RMSE)
>> from caserec.evaluation.rating-prediction import RatingPredictionEvaluation
>> RatingPredictionEvaluation().simple_ evaluation(predictions-file, test-file)
Público Alvo
PesquisadorDesenvolvedor Especialistas
de Dados
O Case Recommender propõe um ambiente de desenvolvimento
personalizado com vários algoritmos, técnicas e métricas de
recomendação, destinado a desenvolvedores e pesquisadores. Além de
fornecer algoritmos prontos de recomendação para uso comercial e
acadêmico.
Considerações Finais
O Framework é open source e está em fase alpha (Existe algo antes disso?) [Porém funciona!!!!]
Tem como diferencial técnicas de ensemble e de filtragem baseada em conteúdo
Está disponível no pypi (pip install caserecommender)
Contribuições e críticas para o desenvolvimento são sempre bem vindas!
Obrigado!
Fortes.arthur@gmail.com
fortes@icmc.usp.br
Linkedin: linkedin.com/in/arthurfortes/
Github: https://github.com/ArthurFortes/

Mais conteúdo relacionado

Semelhante a Case Recommender: Fazendo recomendação em Python

Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFSApresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Rogerio P C do Nascimento
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
Bruno Felipe
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
WANDERSON JONER
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoads
csmp
 
Ver
VerVer
Ver
csmp
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da Informação
Marcello Cardoso
 
ILM com PostgreSQL
ILM com PostgreSQLILM com PostgreSQL
ILM com PostgreSQL
Raul Oliveira
 
Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de Recomendação
Marlesson Santana
 
Plano de negócio Biblioteca Embrapa
Plano de negócio Biblioteca EmbrapaPlano de negócio Biblioteca Embrapa
Plano de negócio Biblioteca Embrapa
Marcela Bassoli
 
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
 
Usabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informaçãoUsabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informação
Alan Vasconcelos
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + Surprise
Morvana Bonin
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
Hélio Rodrigues de Oliveira
 
O que é Analytics?
O que é Analytics?O que é Analytics?
O que é Analytics?
Bruno Michel
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Rogerio P C do Nascimento
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazer
Projetos e TI
 
Mining software repositories
Mining software repositoriesMining software repositories
Mining software repositories
Rafael Rossi
 
Colaboração_rede_puc_rs
Colaboração_rede_puc_rsColaboração_rede_puc_rs
Colaboração_rede_puc_rs
Bayardo Morales
 
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
Ricardo Roberto MSc, MBA
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Jackson Meires
 

Semelhante a Case Recommender: Fazendo recomendação em Python (20)

Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFSApresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoads
 
Ver
VerVer
Ver
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da Informação
 
ILM com PostgreSQL
ILM com PostgreSQLILM com PostgreSQL
ILM com PostgreSQL
 
Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de Recomendação
 
Plano de negócio Biblioteca Embrapa
Plano de negócio Biblioteca EmbrapaPlano de negócio Biblioteca Embrapa
Plano de negócio Biblioteca Embrapa
 
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
 
Usabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informaçãoUsabilidade aula-03. Processos: Arquitetura de informação
Usabilidade aula-03. Processos: Arquitetura de informação
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + Surprise
 
Apresentação da Dissertação
Apresentação da DissertaçãoApresentação da Dissertação
Apresentação da Dissertação
 
O que é Analytics?
O que é Analytics?O que é Analytics?
O que é Analytics?
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazer
 
Mining software repositories
Mining software repositoriesMining software repositories
Mining software repositories
 
Colaboração_rede_puc_rs
Colaboração_rede_puc_rsColaboração_rede_puc_rs
Colaboração_rede_puc_rs
 
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
cms_files_81187_1648754282Material_Doutorado_Profissional_em_Engenharia_de_So...
 
Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
 

Último

ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 

Último (6)

ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 

Case Recommender: Fazendo recomendação em Python

  • 2. Arthur Fortes ✘ Bacharel (Estácio CEUT) e Mestre (ICMC-USP) em Ciência da Computação ✘ Doutorando (ICMC - USP) / Freelancer - Desenvolvedor Backend (2009) - Python (2010) - Sistemas de Recomendação (2013) - IA e Análise de Dados (2016)
  • 3. Sistemas de Recomendação Surgiu em resposta à dificuldade das pessoas em escolher entre uma grande variedade de produtos e serviços e entre as várias alternativas que lhe são apresentadas (Sobrecarga de informação) Combina várias técnicas computacionais para selecionar itens personalizados com base nos interesses dos usuários e conforme o contexto no qual estão inseridos. Algoritmos de recomendação tentam achar a similaridade/relação entre conteúdos, amigos e interações para gerar uma lista de itens (rankings) e/ou predição de notas para determinado(s) item(s) baseado no comportamento dos usuários. Geralmente os sistemas de recomendação são baseados em filtragem colaborativa ou baseada em conteúdo. Existem também abordagens baseadas em demografia, localização, etc. Recomendação está presente no dia-a-dia das pessoas: além de evitar a perda de milhares de usuários, aumenta o consumo de conteúdo.
  • 4. “A recomendação tenta auxiliar o usuário a encontrar algo de que gostaria mas que não sabe, exatamente, como achar”
  • 5. “A lot of times, people don't know what they want until you show it to them.” -Steve jobs
  • 6. Problemas Excesso de Informação Com a quantidade de informações e com a disponibilidade facilitada das mesmas pelo uso da Internet, as pessoas se deparam com uma diversidade muito grande de opções e informações. (A maldição da dimensionalidade/ esparsidade) Solução: O uso de sistemas de recomendação adotam técnicas de modelagem de perfis diferentes para coletar informações tanto dos usuários, como itens para retornar aos usuários conteúdo relevante de acordo com suas preferências.
  • 7. Problemas Integração do Usuário Novas funcionalidades e tendências nas aplicações tecnológicas encorajaram uma crescente mudança no papel do usuário, de um mero consumidor de informações para um ativo produtor de conhecimento e dados. Solução: Algoritmos de recomendação que integrem diferentes tipos de feedback para considerar o máximo de tipos de informação do usuário. (Mestrado - Ensemble)
  • 8. Problemas Abrangência Com o avanço das tecnologias surgiram diferentes maneiras para que os usuários conseguissem expressar de maneira mais eficiente suas preferências. No entanto, a maioria das ferramentas existentes não conseguiram acompanhar essas mudanças e avanços ou não possuem um arcabouço abrangente de vários recomendadores. Solução: Case Recommender
  • 9. Inovações ✘ O desenvolvimento de um framework capaz de retornar conteúdo personalizado para seus usuários com diferentes técnicas e visão dos dados. ✘ Além de técnicas de validação e avaliação dos resultados em cenários de predição de notas e rankings. ✘ Oferecer ao desenvolver um ambiente dinâmico, no qual ele possa não somente utilizar os algoritmos, mas também interagir e desenvolver seus modelos.
  • 11. Linguagens de Programação O framework é desenvolvido em Python 3.6 com algumas bibliotecas. Exemplos: - Numpy - Scipy - Scikit-learn Adicionais : Matplotlib, Pandas Tecnologias Técnicas e Áreas Relacionadas Utiliza-se diversas técnicas de inteligência artificial e recuperação de informação para o desenvolvimento do projeto, entre elas: - Mineração de dados - Análise de Sentimento - Classificação - Algortimos de Recomendação - Agrupamento de dados
  • 12. Predição de Notas ✘ Matrix Factorization ✘ SVD ++ ✘ Item KNN ✘ Item Attribute KNN ✘ User KNN ✘ User Attribute KNN ✘ Item NSVD1 (with and without Batch) ✘ User NSVD1 (with and without Batch) Algoritmos Ranking ✘ BPR MF ✘ Item KNN ✘ Item Attribute KNN ✘ User KNN ✘ User Attribute KNN ✘ Ensemble BPR Learning ✘ Most Popular ✘ Random
  • 13. Validação e Análise Estatístico ✘ All-but-one Protocol ✘ Cross-fold-validation ✘ Bootstrapping ✘ T-test and Wilcoxon Avaliação Métricas de Avaliação ✘ Rankings: Precision, Recall, NDCG e Map ✘ Predição de notas: RMSE e MAE Requisitos ✘ Python 3 ✘ scipy ✘ numpy
  • 14. “Em meio a tudo isso, o que devo escolher?”
  • 15. Por que Python? Representação dos Dados Fácil manipulação de matrizes e dicionários, principalmente aliado as bibliotecas pandas e numpy. Manipulação de arquivo e dados Capacidade de guardar e manipular informações, além de eficientes métodos de leitura e escrita em arquivos. Bibliotecas Disponibilidade de bibliotecas matemáticas, com funções e tarefas otimizadas tanto para processamento como visualização de dados.
  • 16. Uso Divide datasets (Cross Fold Validation) >> from caserec.utils.cross-fold-validation import CrossFoldValidation >> CrossFoldValidation(input-file=dataset, dir_ folds=dir-path, n-folds=10).execute() Run Item Recommendation Algorithm (E.g: ItemKNN) >> from caserec.recommenders.item_ recommendation.itemknn import ItemKNN >> ItemKNN(train-file, test-file).execute()
  • 17. Uso Run Rating Prediction Algorithm (E.g: ItemKNN) >> from caserec.recommenders.rating-prediction.itemknn import ItemKNN >> ItemKNN(train-file, test-file).execute() Evaluate Ranking (Prec@N, Recall@N, NDCG@, Map@N and Map Total) >> from caserec.evaluation.item-recommendation import ItemRecommendationEvaluation >> ItemRecommendationEvaluation().simple-evaluation(ranking_ file, test_ file) Evaluate Ranking (MAE and RMSE) >> from caserec.evaluation.rating-prediction import RatingPredictionEvaluation >> RatingPredictionEvaluation().simple_ evaluation(predictions-file, test-file)
  • 18. Público Alvo PesquisadorDesenvolvedor Especialistas de Dados O Case Recommender propõe um ambiente de desenvolvimento personalizado com vários algoritmos, técnicas e métricas de recomendação, destinado a desenvolvedores e pesquisadores. Além de fornecer algoritmos prontos de recomendação para uso comercial e acadêmico.
  • 19. Considerações Finais O Framework é open source e está em fase alpha (Existe algo antes disso?) [Porém funciona!!!!] Tem como diferencial técnicas de ensemble e de filtragem baseada em conteúdo Está disponível no pypi (pip install caserecommender) Contribuições e críticas para o desenvolvimento são sempre bem vindas!