电影收视率预测的分类模型


11

我对数据挖掘有些陌生,并且正在研究用于电影收视率预测的分类模型。

我已经从IMDB收集了数据集,并计划在模型中使用决策树和最近邻方法。我想知道哪种免费的数据挖掘工具可以提供我需要的功能。

Answers:


5

海因

有很多具有可用功能的工具和库。

选择哪个取决于您是要使用gui进行工作还是将其嵌入到其他程序中。

独立的数据挖掘工具(还有带有Java接口的WEKA等):

  • 快速矿工
  • 橙子
  • R的拨浪鼓gui
  • 尼米

基于文本:

  • GNU R

库:

  • 适用于Python的Scikit
  • Hadoop上的Mahout

如果您足够了解一种编程语言,则可以使用该语言的lib或尝试使用R。如果没有,您可以尝试使用带有gui的工具之一。

R中的树形示例:

# we are using the iris dataset
data(iris)

# for our tree based model we use the rpart package
# to download it type install.packages("rpart")
library(rpart)

# Building the tree
fit <- rpart(Species ~ Petal.Length + Petal.Width, method="class", data=iris)

# Plot the tree
plot(fit)
text(fit)

如建议的那样,使用R进行分析需要您自己编写代码,但是您会找到适用于大多数分类任务的软件包,这些软件包可以立即使用。可以在这里找到概述机器学习任务视图

要开始使用RapidMinder,您应该先看看Youtube。即使是决策树也有一些截屏视频。


1
我想投票,但是您是新手,所以:您只需列出一组工具(一个相当通用的答案),而无需演示为什么它适合于OP的特定任务。我建议提供更多详细信息,否则您的答案可以由stats.stackexchange.com/questions/2007/…代替。没有冒犯,请以友好的
态度

@steffen:尊敬的是,audijenz收到4张赞成票和0张反对票的说法相反。我相信他/她已经很好地回答了这个问题。它询问“哪个免费的可用数据挖掘工具可以提供我所需的功能”,答案给出了更多内容。实际上,比您所链接的线程中的任何答案要多得多。
rolando2 2011年

1
@ rolando2我在audijenz编辑之前添加了评论,并且我已经对编辑的答案进行了投票;)。
steffen 2011年

@steffen:我纠正了!
rolando2 2011年

5

Weka是一个免费的开放源代码的机器学习工具套件。如果需要,它们具有GUI以及从Java代码中调用的API。

他们有许多分类算法,包括几种决策树算法。这些在用户界面中可用。最近的邻居更加棘手,似乎您必须直接使用API

我认为Rapid Miner可能支持这种类型的东西,但是我以前从未将其用于此类目的。

您可能还会考虑R,但这可能需要使您的手变脏一点。

请注意,Netflix在电影分级分类方面做了很多工作。几年前,他们向小组提供了100万美元的奖金,这可以最大程度地提高他们的分类。您可能会对阅读各种团队如何解决该问题感兴趣。


谢谢Michael,我已经尝试过使用Weka进行决策树算法,但是我发现大多数决策树算法都不支持数值。在我的数据集中,我有数值,例如等级(班级标签),预算,导演ID,演员ID等。那么我该如何处理这些数值?(我不确定是否应该为我的问题打开一个新线程)。您对其他合适的算法有什么建议吗?
K Hein

2
@K Hein 1)我建议使用随机森林(RF)代替DT。参见例如stats.stackexchange.com/questions/10001/…。2)数字变量:RF可以处理数字标签和离散标签,您应该尝试两种方法;director_id,actor_id不是数字功能,它可以是布尔值(参与过演员的角色)还是名义上(主要演员);预算可以离散化,也可以由RF处理。在这种情况下,算法将搜索最佳分割点。我建议随便玩,稍后再提出更具体的问题;)。
steffen

@steffen谢谢Steffen!我将尝试使用RF,但是关于您的评论我仍然有一些问题。假设我想将actor_id设为布尔值,那么对于每个唯一的actor_id,我都有一个像isActor1Particated这样的布尔值属性(例如actor_id = 1)?如果我想将actor_id更改为名义属性,应该如何进行?如果您能提供一些说明,我将不胜感激,因为我确实是数据挖掘领域的新手。
K Hein

1
@KHein我的名义建议背后的想法是通过创建诸如first_actor,second_actor等功能将演员限制为最重要的角色。无论如何:如何处理可变长度的信息(演员,导演,关键字等)是一个主题。一个单独的问题。
steffen

@KHein当您问“如何处理可变长度信息”问题时,请在此处链接:-)
Darren Cook

1

可能是... WEKA? http://www.cs.waikato.ac.nz/ml/weka/


1
(-1):尽管Weka确实是一个数据挖掘工具,确实包含NN和DT的实现,但是答案是如此普遍,以至于可以回答很多问题。如果您认为Weka适合给定极高维稀疏数据的收视率预测的特殊任务,那么为什么不显示示例(或示例链接)。没有冒犯,请将其作为友好建议。
steffen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.