在当今数据驱动的时代,个性化推荐系统已成为提升用户体验、增加用户粘性的关键技术。无论你是电商、内容平台还是应用开发者,搭建一个属于自己的推荐系统都极具价值。本文将手把手教你如何在 Ubuntu 系统上从零开始搭建一个基础但功能完整的推荐系统,即使你是编程小白也能轻松上手。

首先,确保你使用的是 Ubuntu 20.04 或更高版本。打开终端(Ctrl+Alt+T),执行以下命令更新系统并安装必要工具:
sudo apt updatesudo apt upgrade -ysudo apt install python3 python3-pip python3-venv git -y接下来,创建一个虚拟环境,避免依赖冲突:
mkdir ~/recommendation-systemcd ~/recommendation-systempython3 -m venv rec_envsource rec_env/bin/activate我们将使用 Python 的 surprise 库来构建一个基于协同过滤的推荐模型。它简单高效,非常适合初学者。同时安装 pandas 用于数据处理:
pip install pandas scikit-learn surprise numpy为了演示,我们使用 MovieLens 的小型数据集(100k 条评分)。你可以直接下载并解压:
wget https://files.grouplens.org/datasets/movielens/ml-latest-small.zipunzip ml-latest-small.zip数据文件 ratings.csv 包含用户ID、电影ID、评分和时间戳,这正是推荐系统所需的基本结构。
在项目目录下创建一个 Python 脚本 recommend.py:
import pandas as pdfrom surprise import Dataset, Reader, SVDfrom surprise.model_selection import train_test_split# 加载数据ratings = pd.read_csv('ml-latest-small/ratings.csv')reader = Reader(rating_scale=(0.5, 5.0))data = Dataset.load_from_df(ratings[['userId', 'movieId', 'rating']], reader)# 划分训练集和测试集trainset, testset = train_test_split(data, test_size=0.2)# 使用SVD算法训练模型model = SVD()model.fit(trainset)# 预测某用户对某电影的评分(示例:用户1对电影10)pred = model.predict(uid=1, iid=10)print(f"预测评分: {pred.est:.2f}")# 获取用户1的Top-5推荐电影user_id = 1movies = ratings['movieId'].unique()predictions = []for movie in movies: pred = model.predict(uid=user_id, iid=movie) predictions.append((movie, pred.est))# 按预测评分排序并取前5top5 = sorted(predictions, key=lambda x: x[1], reverse=True)[:5]print(f"\n用户 {user_id} 的Top-5推荐电影ID:")for movie_id, score in top5: print(f"电影ID: {movie_id}, 预测评分: {score:.2f}")保存文件后,在终端中运行:
python recommend.py如果一切顺利,你将看到类似如下的输出:
预测评分: 3.72用户 1 的Top-5推荐电影ID:电影ID: 318, 预测评分: 4.85电影ID: 50, 预测评分: 4.79...恭喜!你已经成功在 Ubuntu 上搭建了一个基础的个性化推荐系统。接下来,你可以:
通过本教程,你不仅掌握了 Ubuntu推荐系统搭建 的基本流程,也迈入了Linux推荐引擎开发的大门。坚持实践,你将能构建出适用于真实业务场景的智能推荐服务!
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125743.html