Você será capaz de implementar um sistema de recomendação de filmes baseado nas similaridades dos usuários por meio do algoritmo de mineração KNN. Notebook original:github.com/kri... Notebook adaptado: github.com/mfm...
Acho importante salientar que no momento que vc usa 230 no idx_usuario e vai passar no iloc, será retornado o valor de user_id 231, e como entre os vizinhos retornados o id dos vizinhos constam o 230(que creio que seja do indice e não do user_id) fico na dúvida se não seria melhor utilizar o loc para pegar o id de usuário correto? No mais seu vídeo foi um ótimo esclarecedor, parabéns!
Queria fazer isso com, cliente, cidade, bairro e produtos. Ou usando coordenada geográficas. Será que é muito difícil, para meu conhecimento limitado e difícil. Queria recomendar produtos.
Nesse caso, não podemos usar informações de localidade ou coordenadas porque a própria característica do vizinho próximo é calcular distâncias. Agregando informações de localização iríamos enviesar o modelo a recomendar, em vez de bons produtos aos clientes, produtos aleatórios a pessoas que moram perto. Imagine o algoritmo recomendando uma escova de dente a você só porque seu vizinho comprou. E outro detalhe é que informações de localização são dados pessoais protegidos e portanto geram necessidade de um grande controle. Em vez desses dados de localização, busque por dados que descrevam características dos clientes e dos produtos, aí vira um poderoso motor de recomendação.
O código ficou show mas os resultados ficaram muito ruins hahaha. Se comparar os filmes comuns do usuário base e os usuários mais próximo ( pode ser o do exemplo do vídeo) você observa que eles possuem ratings bem distintos sobre um mesmo filme. Outro ponto é que mesmo com a "distancia do cosseno similaridade" baixa tem poucos filmes comuns vistos e um dos pontos importantes de analisar são filmes que os usuários viram( preferencialmente os bons) e deram um rating parecido. Não sei ao certo quais técnicas poderia ser aplicada para melhorar a resultado, e ser "algo mais usável" ou se é melhor partir para outro algoritmo
Boa Alysson! Acontece nas melhores famílias (trocadilho com o modelo de vizinhos próximos rs). A limitação deste modelo é que ele depende muito de cada ponto de dado. Uma prévia exploração permite percebermos que os ratings são muito diferentes e, dada a característica do modelo, ele sentirá esta diferença com resultados ruins para vizinhos “similares” (para ele). Eis o paradoxo do KNN - com poucos dados, ele não performa, com muitos dados, ele tem um custo alto. Talvez por isso a Netflix tenha alterado o modelo para um baseado em recomendação “legítimo”. E sim, para uma recomendação eficiente, o ideal seria usarmos um algoritmo de filtragem colaborativa, como o ALS. Bons estudos!