映画の評価予測のための分類モデル


11

私はデータマイニングにいくらか慣れていません。映画の評価予測の分類モデルに取り組んでいます。

IMDBからデータセットを収集しましたが、モデルには決定木と最近傍アプローチを使用する予定です。自由に利用できるデータマイニングツールで、必要な機能を提供できるかどうか知りたいのですが。

回答:


5

ハイン、

利用可能な機能を持つ多くのツールとライブラリがあります。

どちらを選択するかは、作業にGUIを使用するか、それを他のプログラムに埋め込むかによって異なります。

スタンドアロンのデータマイニングツール(Javaインターフェースを備えたWEKAのような他のものがあります):

  • ラピッドマイナー
  • オレンジ
  • RのガラガラGUI
  • ナイフ

テキストベース:

  • GNU R

ライブラリ:

  • Python用Scikit
  • HadoopのMahout

プログラミング言語を十分に理解している場合は、その言語のlibを使用するか、Rを試してみます。そうでない場合は、guiを使用してツールの1つを試すことができます。

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

@steffen:敬意を表して、audijenzが4つの賛成票と0の反対票を受け取ったことは、そうではありません。私は彼/彼女が質問にうまく答えたと信じています。「自由に利用できるどのデータマイニングツールでも、私が必要とする機能を提供できるか」と尋ねられ、答えはそれ以上のものでした。実際には、リンクしたスレッドでのどの回答よりもはるかに多くなります。
rolando2

1
@ rolando2 audijenzが編集する前にコメントを追加しましたが、編集した回答はすでに賛成しています;)。
steffen

@steffen:私は修正された立場です!
rolando2 2011年

5

Wekaは、無料のオープンソースの機械学習ツールスイートです。GUIと、必要に応じてJavaコードから呼び出すAPIがあります。

彼らはいくつかの決定木アルゴリズムを含む多くの分類アルゴリズムを持っています。これらはUIで使用できます。最近傍は少しトリッキーで、APIを直接使用する必要があるようです

Rapid Minerはおそらくこの種のことをサポートしていると思いますが、そのような目的で使用したことはありません。

Rを検討することもできますが、その場合は、少し手を汚す必要があります。

Netflixが映画の格付けの分類で大量の作業を行っていることに注意してください。数年前、彼らはグループに100万ドルの賞金を提供しました。さまざまなチームがその問題にどのように取り組んだかを読むことに興味があるかもしれません。


おかげでマイケル、ディシジョンツリーアルゴリズムにWekaを試してみましたが、ほとんどのディシジョンツリーアルゴリズムでは数値がサポートされていないことがわかりました。データセットには、評価(クラスラベル)、予算、監督ID、俳優IDなどの数値があります。これらの数値をどのように処理できますか?(質問に対して新しいスレッドを開く必要があるかどうかはわかりません)。他の適切なアルゴリズムについて何か提案はありますか?
K Hein

2
@K Hein 1)DTの代わりにランダムフォレスト(RF)を使用することをお勧めします。たとえば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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.