根岸森林公園の梅 / 2021年2月22日
暖かくどこかに散歩へ行きたかったので、梅の花がそろそろ見頃を迎える根岸森林公園へ。公園全体が広く、梅園も丁度見どころで、とても良かった。
木漏れ日を浴びながらお弁当を食べたり、梅を見ながら本を読んだり。
梅園は平和そのもの。
元競馬場跡地。根岸森林公園周辺が高台になっているので、不思議な感じ。なお、根岸森林公園は元々はゴルフ場だったようだ。桜の木もかなりあったので、春の季節にまた来たいな。
そして暖かさと相まって花粉症がヤバく鼻水が酷かった…。今年はまだ花粉症が発症してなかったのだけど、今まで外に出ていなかったからのようだ。早速買っておいた薬を服用することに。
機械学習学習日記 - 21日目
5.3 の評価基準とスコア。いままではクラス分類なら精度で、回帰ではR2のスコアで評価してきた。ただこれはあくまで評価手法のうちの2例であって、実際のアプリケーションでは不適用なこともある。
5.3.1 最終的な目標を見失わないこと。精度やスコアより、高レベルな目標で何をしたいか。ビジネス基準での良いデルやパラメータとは。
5.3.2 2クラス分類における基準。最も一般的で単純なアプリとして2クラス分類。単純で簡単なタスク評価であっても、精度で見るとうまく行かないことがある。
5.3.2.1 エラーの種類。探しているものを陽性、それ以外を陰性と呼ぶ。例えば癌患者を陽性・陰性に分ける場合、本当は陽性なのに間違って陰性に分ける(偽陰性)と大変だ。もちろん、本当は陰性なのに陽性に振り分けられる(偽陽性)と、追検査や経済的・心理的負担でこちらも良くはない。だた、どちらを重視するかと言うと、この場合は偽陰性が多いほうが良い。
5.3.2.2 偏ったデータセット。データセットに偏りがあると、モデルの精度では良いモデルを区別できないことがある。例えば、0-9の数字データの集合で、9以外を判断するモデルを作りたい場合、「必ず真」を返すモデル(こういうモデルを作るのに適したDummyClassifierがsklearnにはある)でもスコアは90%。決定木モデルでのスコアは92%。スコアだけ見ると、どちらのモデルも同じぐらいの精度が出ている。
5.3.2.3 混同行列では、混合行列(confusion_matrix)では分類回数を見れる。これを見るとダミーモデルはなにかおかしい、とパッときづける。真しか返さないモデルは全部真に振り分けられるし、完全にランダムなダミーモデルは真陽性が非常に少ない。
これらの混合行列を、精度、適合率(precision)、再現率(recall)、f1値として定義してまとめて見ることができる。classification_report関数使うことで、これらの定義からデータを見ることができる。
5.3.2.4 不確実性を考慮に入れる。クラス分類予想(predict)はdecision_functionとpredict_probaの特定スレッショルドで決定境界を分ける。この決定境界をスレッショルドを変えることで、陽性より、陰性よりに結果を変えることができる。
5.3.2.5 適合率-再現率カーブとROCカーブ。では適合率-再現率カーブ(precision-recall curve)を用いて、スレッショルドに対する定期率と再現率のリストを返す。
5.3.2.6 受信者動作特性(ROC)と AUC。受信者動作特性カーブ(receiver operating characteristics curve)略してROCカーブでは、適合率・再現率の代わりに偽陽性率を真陽性率に対してプロットする。ROCカーブは低い偽陽性を保ちながら高い再現率のポイントはどこかを見ることができる。
これらのカーブの領域面積を計算したのがAUC(area under the curve)となる。偏ったデータセットの評価なら、AUCを評価に用いることを強くすすめる。
なお、再三ではあるが、実際に使う場合は訓練・テストデータに分けるのではなく、5.2.2 で述べている通り訓練・検証・テストと3つに分ける重要性も述べられている。