LoginSignup
0
1

More than 5 years have passed since last update.

scikit-learn + RandomForestの性能評価 part2

はじめに

前回は均質なデータに対する性能評価だったので、今回はバラツキのあるデータに対して学習を行った。

使用したデータは前回と同じくmnist

前回はそれぞれの文字に対して2000サンプルずつ抽出したが、

今回は0から順に,1100,1300,1500,1700,1900,2100,2300,2500,2700,2900サンプルずつ抽出を行った。

テストデータは同じく10000の均質なデータ。

変化させる変数は

  • 木の数
  • 探索の深さ
  • featureの数

の3種類。

実験

木の数

まず、木の数について、10、100、1000、10000の4種類に変化させる。

結果は下の図
trees.png

前回の一番精度がいい値が0965?くらいだったことから見ても、精度は若干下がったが、傾向は同じ

1000くらいあったら十分かなという感じ

探索の深さ

次に深さの探索について、

これは前回同様2~20まで変化させて学習。

木の数は1000、featureの数はsqrt(features)

結果は下の図

depth.png

これも前回と同じ、精度もほぼ変わらない、深くまで探索しても過学習は起こしていない。

featureの数

最後にfeatures

10から55まで変化

木の数は1000、depthはmaxで固定

feature.png

sqrtの時が28なので、それよりも少なめの方が今回は精度がいい?

ただ、0.001のオーダーの違いなので、20以上だったら大差ないとも言えるかも。

比較実験

最後に比較のためにSVMでやった結果

RBFカーネルでC=1.0, gamma=1/784

  • one-versus-one: 0.932
  • one-versus-all: 0.920

やはり、RamdomForestの方が精度がいいが、

SVMは前回よりも精度が上がった・・・?

ランダムにサンプリングしていることを考慮すればあり得ることだが、

RandomForestの方は0.05ほど精度が下がったことを考えると、

もしかしてSVMの方がデータのばらつきに強い・・・?

MNISTは精度が高すぎるからあまり評価できない・・・

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1