# 🧩 Summary 从严格意义上说,它是一个 **“开放数据集(Open Dataset)”,不是一个完整的软件开源项目**。 不过,它确实是开放、可自由使用的研究资源,并且源自一个长期维护的开源科研项目体系——**GroupLens Project**。 由 [[GroupLens]] 研究组长期维护,用于学术研究与教学。 # 💡 Cues [[推荐算法]] # Notes 非常好的问题 👍 你问的“**MovieLens 是啥**”,其实是一个非常经典的「**推荐系统基准数据集(Recommendation Benchmark Dataset)**」的变体。 它常被用来**验证推荐算法效果**、**构建强基线模型**,几乎是所有推荐系统入门者的“Hello World”。 --- ## 🧩 一、这是哪类经典问题的变体? > **MovieLens** 属于「**推荐系统实验与基准测试(Recommender System Benchmarking)**」问题的变体。 换句话说,它提供了一组**干净、真实、结构良好的“用户–物品–评分”数据**, 让你可以专注于算法,而不用自己采集数据。 --- ## 🎬 二、基本信息 |项目|内容| |---|---| |**名称**|MovieLens Dataset| |**维护者**|美国明尼苏达大学 GroupLens 研究组| |**数据内容**|用户、电影、评分、时间戳| |**任务类型**|协同过滤(Collaborative Filtering)、排序推荐、特征建模| |**网址**|[https://grouplens.org/datasets/movielens/](https://grouplens.org/datasets/movielens/)| --- ## 📦 三、数据结构示例 |userId|movieId|rating|timestamp| |---|---|---|---| |1|31|2.5|1260759144| |1|1029|3.0|1260759179| |2|10|4.5|1260759182| 对应的电影信息文件通常叫 `movies.csv`: |movieId|title|genres| |---|---|---| |31|Dangerous Minds (1995)|Drama| |1029|Dumbo (1941)|Animation, Children, Musical| --- ## 🧮 四、常见版本(数据规模) |版本|用户数|电影数|评分数|文件大小| |---|---|---|---|---| |**ml-latest-small**|610|9,000+|100,000+|1 MB| |**ml-1m**|6,000|4,000|1,000,000|6 MB| |**ml-10m**|70,000|10,000|10,000,000|60 MB| |**ml-25m**|160,000|60,000|25,000,000|250 MB| > 一般入门实验(比如“GBDT + 10个特征”)常用 **ml-latest-small** 或 **ml-1m**。 --- ## ⚙️ 五、你那句话的意思 >「MovieLens:GBDT 基线 + 10 个高质量特征;AUC > 0.80」 这是一个**推荐系统入门实验任务**,解释如下: |元素|含义| |---|---| |**MovieLens**|使用 MovieLens 数据集(电影评分数据)| |**GBDT 基线**|用梯度提升树(如 LightGBM/XGBoost)作为推荐模型| |**10 个高质量特征**|构造 10 个与推荐强相关的输入特征(例如:平均评分、最近评分时间、用户活跃度等)| |**AUC > 0.80**|模型在测试集上达到 AUC(ROC 曲线下面积)超过 0.8,代表预测性能良好| 这是一个**强基线级别的小型推荐实验**,非常适合: - 练习特征工程; - 熟悉 GBDT; - 了解推荐系统的核心评价指标。 --- ## 🎯 六、MovieLens 的典型应用方向 |目标|可做的实验| |---|---| |**协同过滤**|用矩阵分解(SVD / ALS)预测用户评分| |**排序推荐**|用 GBDT / DNN 模型预测“是否喜欢”| |**特征工程**|构造时间、类型、用户画像等特征| |**冷启动研究**|处理新用户或新电影无数据的问题| |**多模态推荐**|加入电影简介、海报、演员特征等信息| --- ## ✅ 小结一句话 > **MovieLens** 是一个用于推荐算法研究的经典开源数据集, > 它提供了用户对电影的评分记录,是构建和验证推荐模型(如 GBDT、DNN、CF)的**标准实验平台**。 --- 是否希望我帮你示范一下: 在 MovieLens 数据上如何构造 “GBDT + 10个高质量特征” 的入门实验?(我可以帮你写出整个特征设计思路 + 伪代码框架。)