当前位置:   article > 正文

如何使用机器学习构建自己的推荐系统?

如何使用机器学习构建自己的推荐系统?

一、说明

        在广阔的电子商务领域,众多产品和服务都在争夺我们的注意力,推荐系统的作用变得至关重要。这些智能系统彻底改变了我们在线发现和接触产品的方式,使其成为现代电子商务平台成功的基石。

        推荐系统,通常称为推荐引擎或简称为“推荐”,是一种算法,旨在根据用户过去的行为、偏好和互动来预测和推荐用户可能感兴趣的项目。它们已成为在线购物体验不可或缺的一部分,影响着我们的购买决策并推动了企业的销售。

        在本文中,我们将深入探讨推荐系统的迷人世界,并探讨如何使用 Python 构建一个推荐系统。我们将揭示这些系统的内部工作原理,从数据收集和预处理到算法选择和实现。

        在此旅程结束时,您将拥有创建有效推荐系统的知识和工具,以满足您的电子商务平台的独特需求,最终推动增长和客户满意度。

二、加载数据集 

        我们将从 Kaggke 获取一个数据集来探索该主题,您可以在此处找到该数据集:Book Recommendation Dataset | Kaggle

  • 首先要做的是使用 Pandas 加载数据
  1. import pandas as pd
  2. ratings = pd.read_csv(r'Data/ratings.csv')

三、筛选数据

  • 我们的数据集太大了,我们将过滤掉评分很少的书籍,至少有 6 个评分,我们将为用户做同样的事情。
  • 我们还将删除 0 的评分,假设人们没有投票。
  • 然后我们将所有内容存储在一个新的
  1. #Books
  2. min_book_ratings = 5
  3. filter_books = ratings['ISBN'].value_counts() > min_book_ratings
  4. filter_books = filter_books[filter_books].index.tolist()
  5. #Users
  6. min_user_ratings = 5
  7. filter_users = ratings['User-ID'].value_counts() > min_user_ratings
  8. filter_users = filter_users[filter_users].index.tolist()
  9. ratings_filtered = ratings[(ratings['ISBN'].isin(filter_books)) & (ratings['User-ID'].isin(filter_users))]
  10. ratings_filtered = ratings[ratings['Book-Rating'] > 0]

 

四、构建模型

        我们将使用“Surprise”,一个 Python scikit,用于构建和分析处理显式评级数据的推荐系统。

        我们需要定义 Reader 并根据 “Surprise” 注解来格式化数据集:

  • Surprise 中的 Reader 类用于分析包含评级的文件或 DataFrame。读取器的主要用途是定义数据集中评级的比例。这很重要,因为它有助于算法了解如何以数字方式解释评级。
  • 数据是指您用于推荐系统的数据集,通常以用户与项目交互的形式(例如用户对书籍、电影等的评分)
  1. from surprise import Reader, Dataset
  2. reader = Reader(rating_scale=(0, 10))
  3. data = Dataset.load_from_df(ratings_filtered[['User-ID', 'ISBN', 'Book-Rating']], reader)

        经典:将数据拆分为训练集和测试集,避免过度拟合

  1. from surprise.model_selection import train_test_split
  2. trainset, testset = train_test_split(data, test_size=0.25)

        对于模型选择,您可以从 Surprise 中包含的不同模型中进行选择,我将使用 SVD(奇异值分解)并使用网格搜索 CV 来查找最佳参数。

        有关 SVD

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/261256
推荐阅读
相关标签