【发布时间】:2011-06-01 08:41:30
【问题描述】:
我有一个电影数据库,我需要在其中填充数据,以便更轻松地测试和开发应用程序。有表格来保存电影评分和用户帐户,用户对电影评分。
我已经开始开发一个脚本来使用虚假和通用数据填充数据库,但我不知道如何随机化评分。对于每部电影,我选择随机数量的用户,100、500、1000 等等。对于这些用户中的每一个,我将评分从 1 到 10 随机化。但是这些评分的平均值相同,大约为 5。这意味着特定电影的评分分布(1 到 10)基本相同。这根本不“现实”,因为所有具有这样生成评分的电影都将具有相同的平均值,因此来自不同用户和不同用户数量的相同评分并不重要。
我希望电影 A 的平均值为 7,电影 B 的平均值为 5,电影 C 的平均值为 8,等等……但我只是不希望每部电影的平均值都不同。我的意思是,产生这样的评级会很好(针对特定数量的用户): http://www.imdb.com/title/tt1046173/ratings 或者这个http://www.imdb.com/title/tt0486640/ratings
你知道,一些随机的东西可能会产生两种不同的变化,就像上面的那些。我点击刷新,我得到第一个图表,我点击刷新,得到第二个,再次点击,得到不同或相似的东西,一些“随机”和“现实”的东西。
我还将在我的应用程序上显示这样的图表,以便拥有不同的分布看起来不错。但我不知道如何用一个简单的脚本随机完成这个来生成所有这些。
我该如何解决这个问题?也许是工作太多不值得?
也许更简单一些,比如选择一个点(1 到 10 之间),然后创建一个评级的正态分布,其中所选点是最高的,这对我有用。
【问题讨论】:
-
不太明白你的问题...你想从现有电影列表中随机选择收视率表吗?
-
不,我想随机化看起来类似于上面图表的评分,以便我可以将它们插入数据库并使用一些数据。
-
回声'9'; // 你不能证明它不是随机的
-
我只是好奇:你关心这些数字有什么特别的原因吗?我想我只是生成测试数据,验证我的算法是否正确,而不是真正为数字“看起来”的样子出汗。
-
这就是我正在做的“生成数据”。而且我不只是在谈论算法,我还必须设计网站,我希望有不同的参考,这样我就可以正确设计图表。这不是关于“数字是什么样子”,而是关于拥有某种“现实”数据而不是均匀分布,这没有多大帮助。