「良いもの」とは何でしょうか?機械学習モデルの精度は?
機械学習で分類モデルを使用する場合、モデルの品質を評価するためによく使用される指標の 1 つは精度です。
精度は、モデルによって正しく分類されたすべての観測値の割合にすぎません。
次のように計算されます。
精度 = (真陽性の数 + 真陰性の数) / (合計サンプル サイズ)
学生が精度に関してよく尋ねる質問は次のとおりです。
機械学習モデルの精度の「良い」値はどれくらいだと考えられますか?
モデルの精度は 0% から 100% の間で変化しますが、モデルの精度が「良好」であるかどうかを判断するために使用する普遍的なしきい値はありません。
代わりに、通常はモデルの精度を参照モデルの精度と比較します。
ベースライン モデルは、データ セット内の各観測値が最も一般的なクラスに属することを単純に予測します。
実際には、参照モデルよりも精度が高い分類モデルはすべて「有用」であると見なされますが、モデルと参照モデルの精度の差が大きいほど良いことは明らかです。
次の例は、分類モデルの精度が「良好」であるかどうかを大まかに判断する方法を示しています。
例: モデルの精度が「良好」かどうかの判断
ロジスティック回帰モデルを使用して、400 人のさまざまな大学バスケットボール選手が NBA にドラフトされるかどうかを予測するとします。
次の 混同行列は、モデルによって行われた予測を要約したものです。
このモデルの精度を計算する方法は次のとおりです。
- 精度 = (真陽性の数 + 真陰性の数) / (合計サンプル サイズ)
- 精度 = (120 + 170) / (400)
- 精度 = 0.725
このモデルは、 72.5%のプレイヤーの結果を正確に予測しました。
精度が「良好」かどうかを知るために、ベースライン モデルの精度を計算できます。
この例では、選手にとって最も一般的な結果はドラフト外になることです。具体的には、400人の選手のうち240人がドラフト外となった。
基本的なモデルは、各選手がドラフト外になることを単純に予測するモデルです。
このモデルの精度は次のように計算されます。
- 精度 = (真陽性の数 + 真陰性の数) / (合計サンプル サイズ)
- 精度 = (0 + 240) / (400)
- 精度 = 0.6
この基本モデルは、 60%のプレイヤーの結果を正確に予測します。
このシナリオでは、ロジスティック回帰モデルはベースライン モデルに比べて精度が大幅に向上しているため、このモデルは少なくとも「有用」であると考えられます。
実際には、いくつかの異なる分類モデルを適合させ、ベースライン モデルと比較して精度が最も向上する最終モデルを選択することになるでしょう。
精度を使用してモデルのパフォーマンスを評価する場合の注意事項
精度は解釈しやすいため、一般的に使用される指標です。
たとえば、モデルの精度が 90% であると言った場合、そのモデルは観測値の 90% を正しく分類したことがわかります。
ただし、精度にはデータの分散方法は考慮されていません。
たとえば、全選手の 90% が NBA にドラフト指名されなかったと仮定します。すべてのプレーヤーがドラフト外になることを単純に予測するモデルがある場合、モデルは 90% のプレーヤーの結果を正確に予測します。
この値は高いように見えますが、実際にはモデルはどの選手がドラフトされるかを正確に予測できません。
よく使用される代替指標はF1 スコアと呼ばれるもので、データの分散方法が考慮されます。
たとえば、データの不均衡が非常に大きい場合 (たとえば、全選手の 90% がドラフト外選手で、10% がドラフト外選手)、F1 スコアの方がモデルのパフォーマンスをより適切に評価できます。
精度と F1 スコアの違いについて詳しくは、こちらをご覧ください。
追加リソース
次のチュートリアルでは、機械学習分類モデルで使用されるメトリックに関する追加情報を提供します。