fc2ブログ
scikitlearnでRandom Forests
Random Forestsという機械学習の方法論があります。すこし前に興味があって、自分で実装してみたりしたのですが、scikit-learnを使えばPythonで簡単に実行できます。

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
clf = RandomForestClassifier(n_estimators=5000, #森の中の木の数
max_depth=None,
#最後サンプルのクラスが均一になるか、min_samples_split個になるまで分割
min_samples_split=2,
random_state=0,#乱数のseed?
criterion='entropy',#分割の方法、これかgini
verbose=1)#出力レベルの調整
forest = clf.fit(X, y) #Xは行がサンプルの2次元array、yはクラスを表現する1次元array
accuracy_score(y2,forest.predict(X2)) #X2は別のデータセット。その正解y2をどれくらい予測できるかが計算される。
#チュートリアルだと、以下のcross validationを利用
scores = cross_val_score(clf, X, y)
scores.mean()

実装するとアルゴリズムが完全に理解できるので良いですが、使いながら理解していくという方法もありかもしれません。
スポンサーサイト



【2014/08/29 16:26】 | Python | トラックバック(0) | コメント(0) | page top↑
<<Emacsにauto-install.elを入れて、yamlに色を付ける | ホーム | Pandas.DataFrameでデータの標準化>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://tanopy.blog79.fc2.com/tb.php/114-fe4e002e
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |