機械学習についての勉強 10日目 - 学習データとテストデータの分け方・使い方について
10日目は引き続きscikit-learnによる識別、その中でも学習データと
テストデータの分け方・使い方について学んだ
土曜日に10時間ほど飲んじゃうと日曜日も潰れますよね…
サボってた訳では…
学んだ内容
- アヤメのデータを識別、学習データとテストデータを半々に (テストデータによっては精度が非常に下がる)
- アヤメのデータを識別、学習データとテストデータをランダムに半々に (精度が向上することを体感)
- アヤメのデータを識別、ランダムに分け、かつ分量を変えて何度も (ある一定の分量で精度が変わることを体感)
データの分け方について
scikit-learnに入っているアヤメのデータは、最初の3分の1はアヤメAのデータ、
次の3分の1はアヤメBのデータ、最後の3分の1はアヤメCのデータ、
というように格納されている
そのため単純にデータの最初から半分までを学習データ、もう半分をテストデータとすると
当然学習データにはアヤメA、アヤメBしか含まれない
なのでテストデータにあるアヤメCのデータは正しく分類できず、精度が下がる
そりゃそうだよなと思っているとそれをランダムに選んだ学習データを
準備するメソッドが用意されているなんて…
ここまで楽に機械学習に取り組めるようになっているからすごい
所感
手を動かしながら学んでいると、まだ慣れは足りないものの、
こんなことができるのではという材料がコードとして溜まっていく
このコースを最後まで学んで、別途線形代数・統計学の基礎を学べば
ある程度理論+実践ができるのでは
引き続き勉強しないといけない
でも年末って飲み会多いよね…