本記事の目的
分類モデルは回帰モデルと並んでデータ解析や機械学習の中核的な手法の一つであり、データが属するクラスを予測するために使用されます。材料開発においては、強度、導電率、耐熱性などの物性や、臭気評価のような官能評価が特定の基準を満たすか否かの判定、製造プロセスでの不良品の検出などに活用されます。分類モデルの予測性能を正しく評価することは、モデルを効果的に活用するために不可欠です。本記事では、一般的な分類モデルの評価方法と精度指標について、基礎的な内容をご紹介します。
分類モデルの予測性能の評価目的
分類モデルの予測性能を評価する目的は、既知のデータ(学習データ)に対してだけでなく、未知のデータ(テストデータ)に対しても正確な予測が可能かどうかを確認することです。テストデータに対する予測性能を示す汎化性能や、学習データに過度に適合することを示す過学習について、回帰モデルの精度指標に関する記事で紹介しています。
分類モデルの評価方法
分類モデルの予測性能は、以下の2つの考え方で評価することが一般的です。
- 分類モデルが学習データをどの程度学習できているか
これを、In-Sample評価と呼びます。 - 分類モデルが未知のデータをどの程度予測できるか
これを、Out-of-Sample評価と呼びます。
これら2つの視点をバランス良く評価することで、モデルの適合度と汎化性能を把握することができます。
Out-of-Sample評価においてクラス毎のデータ数に偏りがある場合、foldごとに含まれる各クラスの割合を等しくする層化抽出(stratified sampling)を行うことで、テストデータと学習データの各クラスの割合を揃えて評価を安定させることができます。層化抽出によるCross-Validationの手法をStratified k-fold CVと呼びます。図1に、偏りのある二値分類タスクにおけるStratified 3-foldCVの例を示します。
図1. Stratified 3-fold CV
材料の物性が顧客要望の基準を満たして合格か / 不合格かを予測するタスクを例とすると、これまでの検討では合格となる材料の割合が10%と少ないデータを学習した分類モデルの評価として、Stratified k-fold CVによる評価が有効となります。
ここまで分類モデルの性能評価方法として、Stratified k-fold CVを紹介しました。次に、予測性能を評価する際の精度指標を紹介します。分類タスクが二値分類か多クラス分類かで用いる指標は異なりますが、二値分類の精度指標を多クラス分類用に拡張したものも多いため、本記事では二値分類モデルの代表的な精度指標を紹介します。
二値分類モデルの精度指標
二値分類モデルの精度指標として用いられる指標の例を以下に示します。以降記載の「OK」「NG」は目的変数の各クラスを意味するラベルに対応します。
- OKかNGかを予測値とする場合
- Accuracy(正解率)
- Recall(再現率)
- Precision(適合率)
- F1(F値)
- OKである確率を予測値とする場合
- LogLoss
- ROC曲線のAUC(Area Under the Curve)
混同行列
精度指標ではないですが、二値分類モデルの予測結果の可視化のためによく利用されます。
予測値と実測値の組み合わせは、予測値をOKとしたかNGとしたか、実測値がOKかNGかによって、以下の4パターンに分けられます。
- TP(True Positive、真陽性):実測値と予測値の両方がOKであったもの
- FP(False Positive、偽陽性):実測値がNGなのに、誤ってOKと予測したもの
- TN(True Negative、真陰性):実測値と予測値の両方がNGであったもの
- FN(False Negative、偽陰性):実測値がOKなのに、誤ってNGと予測したもの
True / Falseは予測が正しいか誤りか、Positive / Negativeは予測値がOKかNGかに対応します。
図2. 混同行列
混同行列の各要素から算出される、Accuracy、Recall、Precision、F1について解説します。いずれも1に近づくほど、その評価基準においてモデルの性能が高いことを意味します。
Accuracy(正解率)
全データの中で正しく予測されたデータの割合を示します。
目的変数の各クラスのデータ数に偏りが少ない場合に適切に評価でき、一般的に使用される指標です。一方で各クラスのデータ数に偏りがある場合には注意が必要です。例えば全体の10%がOK、90%がNGのデータの場合、全てのデータをNGと予測して、OKのデータを見分けられないモデルのAccuracyは90%であり、高性能と判断される場合があります。分類モデルで見出したいのはOKとなる原料配合や実験条件であり、全てのデータをNGと予測するモデルは開発者の次の実験水準の検討を支援することができません。上記の課題に対して、Precision / Recall / F1など他の指標を併用することで対応できます。
Recall(再現率)
実際にOKであるデータの中で、OKと予測されたデータの割合を示します。
Recallが大きいほど、OKの実測データを網羅的に上手く予測できていることを表します。OKの実測データを誤ってNGと予測してしまう見逃しを抑えたい場合に重視する指標です。見逃しによって潜在的に有望な材料を失うリスクを避けたい場合に有効な指標となるでしょう。
Precision(適合率)
OKと予測されたデータの中で、実際にOKであったデータの割合を示します。
Precisionが大きいほど、OKと予測されたデータの正確性が高いと評価できます。NGの実測データを誤ってOKと予測してしまう誤検知を抑えたい場合に重視する指標です。1回の実験に対して経済的 / 時間的なコストがかかる場合、Precisionを評価してOKとなる正確性の高い実験条件を選択すると良いでしょう。
F1(F1値)
F1はPrecisionとRecallの調和平均です。PrecisionとRecallは互いにトレードオフの関係になっており、どちらかの値を高くしようとすると、もう一方の値は低くなります。F1は両者のバランスをとった指標といえます。
LogLoss
クロスエントロピーとも呼ばれ、以下の式で表されます。
Nはデータ数を、yiは実測データがOKかどうかを表すラベル(OKが1、NGが0)を、piは各データがOKである予測確率を表します。
LogLossは真の値を予測している確率の対数をとって符号を反転させた値で、低い方が良い指標です。あるデータがOKである確率を低く予測したにも関わらずOKである場合にペナルティが大きくなる指標であり、分類モデルがどの程度の確信を持って予測しているかが反映されます。
ROC曲線のAUC(Area Under the Curve)
ROC曲線とは、TPR(True Positive Rate、真陽性率)を縦軸、FPR(False Positive Rate、偽陽性率)を横軸として描画されます。TPRとFPRは以下の式で表され、TPRはRecallと同義です。
予測値をOKとする閾値を1から0に動かして描画されるROC曲線の下部の面積がAUCであり、0.5でランダムな予測と同等、1に近づくほど予測精度が高いモデルと判断できます。閾値に依存しないため、目視による評価などOK / NGを分類する閾値が曖昧な場合でもモデルの全体的な分類性能を評価することができます。
図3. ROC曲線とAUC
精度指標を用いる際の実用的な考え方
これまで紹介した通り、二値分類タスクに対する精度指標はPrecisionやF1のように混同行列を基にしたものと、LogLossやAUCのように確率を基にしたものの2種類が挙げられます。混同行列を元にした指標はクラスを分類する閾値によって結果が変わるため、開発目標や顧客要望に沿った閾値を設定することとなるでしょう。
紹介した精度指標はそれぞれ異なる特性を持つため、一つの指標だけでモデルの良し悪しを判断せずに複数の指標を考慮した評価を行うことが重要です。RecallやPrecisonのようにトレードオフの関係にある指標については、開発の目的と照らし合わせて適切な指標を選定する必要があります。
まとめ
本記事では、分類モデルの予測性能を適切に評価する方法と、評価時に用いる精度指標の基礎について解説しました。分類モデルの精度指標評価については、単一の指標だけではなく複数の指標を考慮した結果の解釈が重要であることを紹介しました。未知データへの汎化性能の向上と精度指標の選択が、モデルの実用性を高める鍵となります。本記事の内容が、分類モデルを活用する研究者や実務家にとって、モデル評価の基礎を整理する一助となることを願います。