推荐系统手把手带你学推荐系统 3 实现第一个推荐系统

Posted 我是小白呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统手把手带你学推荐系统 3 实现第一个推荐系统相关的知识,希望对你有一定的参考价值。

【推荐系统】手把手带你学推荐系统 3 实现第一个推荐系统

概述

推荐系统 (Recommender System) 是一个信息过滤系统, 在很多领域都有广泛的使用. 推荐系统可以为用户提供个性化的产品, 挖掘用户的潜在需求. 从今天开始, 小白我就带大家来学习一下推荐系统方向的知识.

基于排名的推荐系统

基于排名的推荐系统是最容易实现的. 人们大概率会喜欢大家都喜欢的物品. 我们通过对物品进行排名, 取前 N 个物品对每个用户进行推荐.

代码实现

import pandas as pd
from sklearn.model_selection import train_test_split

def main():

    data_merge = pd.read_csv("../data/data_merge.csv")
    print(data_merge.head())

    train, test = train_test_split(data_merge, test_size=0.4, random_state=0)


    # Get a count of user_ids for each unique song as recommendation score
    song = train.groupby(["title"])["user"].count()
    song_df = pd.DataFrame(song)
    song_df["title"] = song_df.index
    song_df = song_df[["title", "user"]]
    song_df.columns = ["title", "score"]
    song_df.sort_values(by="score", ascending=False, inplace=True)
    song_df['score'].rank(ascending=0, method='first')
    print(song_df.head(10))

if __name__ == '__main__':
    main()

输出结果:

0  d6589314c0a9bcbca4fee0c93b14bc402363afea  ...  2004.0
1  d6589314c0a9bcbca4fee0c93b14bc402363afea  ...  2007.0
2  d6589314c0a9bcbca4fee0c93b14bc402363afea  ...     0.0
3  d6589314c0a9bcbca4fee0c93b14bc402363afea  ...  1993.0
4  d6589314c0a9bcbca4fee0c93b14bc402363afea  ...     0.0

[5 rows x 7 columns]
                                                         title  score
title                                                                
Use Somebody                                      Use Somebody  15264
Yellow                                                  Yellow  12950
Sehr kosmisch                                    Sehr kosmisch  11034
Dog Days Are Over (Radio Edit)  Dog Days Are Over (Radio Edit)  10663
You're The One                                  You're The One   9634
Love Story                                          Love Story   9326
Somebody To Love                              Somebody To Love   9275
Secrets                                                Secrets   9077
Revelry                                                Revelry   8962
Bring Me To Life                              Bring Me To Life   8937

以上是关于推荐系统手把手带你学推荐系统 3 实现第一个推荐系统的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统⚠️手把手带你学推荐系统 2⚠️ 协同过滤

推荐系统⚠️手把手带你学推荐系统 1⚠️ 简介

手把手带你搭建一个智能音乐推荐系统

手把手带你 搭建电商推荐系统,100%实战!

手把手带你入门搭建推荐系统!向面试官吹牛必备!

强烈推荐,建议收藏一万字手把手教你学习Spring Cloud,带你快速入门