【发布时间】:2015-07-23 18:12:45
【问题描述】:
您好,我创建了一种从 Movielens 数据集中推荐电影的方法。我的问题是如何根据用户观看的电影将数据库中的表划分为折叠以应用交叉验证。这个例子详细解释了我在寻找什么。假设有人看了 12 部电影,我将应用 3 折交叉验证,所以我需要 1 组作为测试,3 组作为训练,其中 12/3 = 4,即组数。为了评估我的推荐方法,我需要将测试集的预测与其他集一一进行比较,因此我需要检索 4 组不包含重复电影的用户电影。有谁知道如何将以下示例的数据检索到 mysql 数据库中的集合中?
ID| User_ID| Movie_ID| Movie_Title| Movie_Genre| Rating|
107747| 3| 480| Jurassic Park| Adventure| 4|
107748| 3| 590| Dances with Wolves| Drama, Western| 4|
107749| 3| 648| Mission: Impossible| Action| 3|
107750| 3| 1198| Raiders of the Lost Ark| Adventure| 5|
107751| 3| 1259| Stand by Me| Drama| 5|
107752| 3| 1266| Unforgiven| Western| 5|
107753| 3| 1270| Back to the Future| Sci-Fi| 3|
107754| 3| 1291| Indiana Jones and the Last Crusade| Action| 4|
107755| 3| 1378| Young Guns| Western| 5|
107756| 3| 1379| Young Guns II| Western| 4|
107757| 3| 1394| Raising Arizona| Comedy| 4|
107758| 3| 1431| Beverly Hills Ninja| Comedy| 3|
因此,我尝试将这 12 部电影检索为 3 个组,其中每个组包含 4 部电影,这些组包含独特的电影,换句话说,电影不应存在于多个组中。我正在使用 Java 从数据库中检索这些数据。对此的任何帮助都非常感谢。
【问题讨论】:
标签: java mysql recommendation-engine cross-validation