機械学習におけるF1スコア:効果的に計算、適用、使用する方法
公開: 2025-02-10F1スコアは、バイナリまたはマルチクラス分類を実行するように設計された機械学習(ML)モデルを評価するための強力なメトリックです。この記事では、F1スコアが何であるか、なぜそれが重要であるか、それがどのように計算されるか、およびそのアプリケーション、利点、制限について説明します。
目次
- F1スコアとは何ですか?
- F1スコアを計算する方法
- F1スコア対精度
- F1スコアのアプリケーション
- F1スコアの利点
- F1スコアの制限
F1スコアとは何ですか?
ML開業医は、分類モデルを構築する際に共通の課題に直面しています。誤報を避けながら、すべてのケースをキャッチするためにモデルをトレーニングします。これは、虚偽のアラームや重要な分類の欠落が深刻な結果をもたらす金融詐欺検出や医療診断などの重要なアプリケーションで特に重要です。不均衡なデータセットを扱う場合、適切なバランスを達成することは特に重要です。この場合、不正なトランザクションのようなカテゴリは、他のカテゴリ(正当なトランザクション)よりもはるかにまれです。
精度とリコール
モデルのパフォーマンス品質を測定するために、F1スコアは2つの関連するメトリックを組み合わせます。
- 「モデルが肯定的なケースを予測する場合、どのくらいの頻度で正しいですか?」と答えます。
- 「実際のすべての肯定的なケースのうち、モデルが正しく識別したのはいくつですか?」と答えてください。
高精度ではあるが低いリコールを持つモデルは過度に慎重であり、多くの真の肯定的なポジティブを欠いていますが、リコールが高いが低精度のあるモデルは過度に攻撃的であり、多くの偽陽性を生成します。 F1スコアは、高調波の平均平均を精度とリコールすることでバランスを取ります。これにより、値が低い値により重量が増加し、1つだけではなく両方のメトリックでモデルがうまく機能するようになります。
精度とリコールの例
精度をよりよく理解して思い出すには、スパム検出システムを検討してください。システムがスパムとして正しくフラグを立てるレートが高い場合、これは高精度が高いことを意味します。たとえば、システムがスパムとして100メールにフラグを立て、そのうち90メールが実際にスパムである場合、精度は90%です。一方、高いリコールは、システムがほとんどの実際のスパムメールをキャッチすることを意味します。たとえば、200個の実際のスパムメールがあり、システムが90個の電子メールをキャッチした場合、リコールは45%です。
F1スコアのバリエーション
特定のニーズを備えたマルチクラス分類システムまたはシナリオでは、F1スコアは、重要な要因に応じて、さまざまな方法で計算できます。
- Macro-F1:クラスごとにF1スコアを個別に計算し、平均して取得します
- Micro-F1:すべての予測よりもリコールと精度を計算します
- 加重-F1:Macro-F1と同様ですが、クラスは周波数に基づいて重み付けされています
F1スコアを超えて:Fスコアファミリー
F1スコアは、Fスコアと呼ばれる大規模なメトリックファミリの一部です。これらのスコアは、精度とリコールの重みとリコールのさまざまな方法を提供します。
- F2:リコールに重点を置いています。これは、偽のネガがコストがかかる場合に役立ちます
- F0.5:誤検知がコストがかかる場合に役立つ精度に大きな重点を置いています
F1スコアを計算する方法
F1スコアは、精度とリコールの高調波平均として数学的に定義されています。これは複雑に聞こえるかもしれませんが、計算プロセスは明確な手順に分類されると簡単です。
F1スコアの式:
F1を計算するための手順に飛び込む前に、混乱マトリックスと呼ばれるものの重要なコンポーネントを理解することが重要です。これは、分類結果を整理するために使用されます。
- True Positives(TP):正しく識別されたケースの数
- false positives(fp):肯定として誤って識別されるケースの数
- FALSEネガティブ(FN):見逃されたケースの数(特定されていない実際のポジティブ)
一般的なプロセスには、モデルのトレーニング、予測のテストと結果の整理、精度とリコールの計算、F1スコアの計算が含まれます。
ステップ1:分類モデルをトレーニングします
まず、バイナリまたはマルチクラス分類を作成するためにモデルをトレーニングする必要があります。これは、モデルが2つのカテゴリのいずれかに属するものとしてケースを分類できる必要があることを意味します。例には、「スパム/ネットスパム」および「詐欺/詐欺ではない」が含まれます。
ステップ2:予測をテストし、結果を整理します
次に、モデルを使用して、トレーニングの一部として使用されていない別のデータセットで分類を実行します。結果を混乱マトリックスに整理します。このマトリックスは次のように表示します。
- TP:実際に正しい予測の数
- FP:肯定的な予測の数が正しくありませんでした
- FN:肯定的なケースの数
混乱マトリックスは、モデルのパフォーマンスの概要を提供します。
ステップ3:精度を計算します
混乱マトリックスを使用して、この式で精度が計算されます。
たとえば、スパム検出モデルが90個のスパムメール(TP)を正しく識別したが、10個の非スパムメール(FP)に誤ってフラグを立てた場合、精度は0.90です。
ステップ4:リコールを計算します
次に、式を使用してリコールを計算します。
スパム検出の例を使用して、合計200個のスパムメールがあり、モデルが110(FN)が欠落している間に90個(TP)を捕まえた場合、リコールは0.45です。

ステップ5:F1スコアを計算します
精度とリコールの値を手にすると、F1スコアを計算できます。
F1スコアは0〜1の範囲です。スコアを解釈するときは、これらの一般的なベンチマークを検討してください。
- 0.9以上:モデルは優れたパフォーマンスを発揮していますが、過剰適合を確認する必要があります。
- 0.7〜0.9:ほとんどのアプリケーションで良いパフォーマンス
- 0.5〜0.7:パフォーマンスは大丈夫ですが、モデルは改善を使用できます。
- 0.5以下:モデルのパフォーマンスが低下しているため、深刻な改善が必要です。
精度とリコールのスパム検出例計算を使用すると、F1スコアは0.60または60%になります。
この場合、F1スコアは、高精度であっても、低いリコールが全体的なパフォーマンスに影響していることを示しています。これは、より多くのスパムメールをキャッチするための改善の余地があることを示唆しています。
F1スコア対精度
F1と精度の両方がモデルのパフォーマンスを定量化しますが、F1スコアはより微妙な尺度を提供します。精度は、正しい予測の割合を単純に計算します。ただし、データセット内の1つのカテゴリのインスタンスの数が他のカテゴリを大幅に上回る場合、モデルパフォーマンスを測定するための精度に依存するだけで問題があります。この問題は、精度のパラドックスと呼ばれます。
この問題を理解するには、スパム検出システムの例を検討してください。電子メールシステムが毎日1,000メールを受け取っていると仮定しますが、実際にスパムであるのはそのうち10件のみです。スパム検出がすべての電子メールをスパムではないと単純に分類するだけで、99%の精度が得られます。これは、スパム検出に関してはモデルが実際に役に立たない場合でも、1,000のうち990の予測が正しかったためです。明らかに、精度はモデルの品質の正確な画像を提供しません。
F1スコアは、精度とリコールの測定を組み合わせることにより、この問題を回避します。したがって、次の場合には、F1を精度ではなく使用する必要があります。
- データセットは不均衡です。これは、不明瞭な病状の診断やスパム検出などの分野で一般的です。1つのカテゴリは比較的まれです。
- FNとFPはどちらも重要です。たとえば、医療スクリーニング検査では、実際の問題のキャッチのバランスを取ろうとしているため、誤ったアラームを引き起こさないことを求めています。
- このモデルは、あまりにも攻撃的であり、あまりにも慎重であることのバランスをとる必要があります。たとえば、スパムフィルタリングでは、過度に慎重なフィルターがあまりにも多くのスパム(低リコール)を通過する可能性がありますが、間違い(高い精度)を行うことはめったにありません。一方、過度に攻撃的なフィルターは、すべてのスパム(高いリコール)をキャッチしても、実際の電子メール(低精度)をブロックする可能性があります。
F1スコアのアプリケーション
F1スコアには、バランスの取れた分類が重要なさまざまな業界で幅広いアプリケーションがあります。これらのアプリケーションには、金融詐欺検出、医療診断、および内容の節度が含まれます。
金融詐欺検出
金融詐欺を検出するように設計されたモデルは、F1スコアを使用した測定に適したシステムのカテゴリです。金融会社は、多くの場合、毎日数百万または数十億の取引を処理し、実際の詐欺の場合は比較的まれです。このため、詐欺検出システムは、虚偽のアラームの数とその結果としての不便を同時に最小限に抑えながら、できるだけ多くの不正取引をキャッチする必要があります。 F1スコアを測定すると、金融機関が、システムの詐欺防止と優れたカスタマーエクスペリエンスのツイン柱のバランスをどの程度バランスさせるかを判断するのに役立ちます。
医療診断
医療診断と検査では、FNとFPはどちらも深刻な結果をもたらします。まれな形態の癌を検出するように設計されたモデルの例を考えてください。健康な患者を誤って診断すると、不必要なストレスや治療につながる可能性がありますが、実際の癌の症例を逃すことは患者に悲惨な結果をもたらします。言い換えれば、モデルは高精度と高いリコールの両方を持つ必要があります。これは、F1スコアが測定できるものです。
コンテンツモデレート
モデレートコンテンツは、オンラインフォーラム、ソーシャルメディアプラットフォーム、オンラインマーケットプレイスで一般的な課題です。過度の検査せずにプラットフォームの安全を実現するには、これらのシステムは精度とリコールのバランスをとる必要があります。 F1スコアは、プラットフォームがシステムがこれらの2つの要因のバランスをどの程度バランスさせるかを判断するのに役立ちます。
F1スコアの利点
一般に、精度よりもモデルパフォーマンスのより微妙なビューを提供することに加えて、F1スコアは、分類モデルのパフォーマンスを評価する際にいくつかの重要な利点を提供します。これらの利点には、モデルのトレーニングと最適化の高速化、トレーニングコストの削減、早期に過剰適合のキャッチが含まれます。
より高速なモデルトレーニングと最適化
F1スコアは、最適化をガイドするために使用できる明確な参照メトリックを提供することにより、モデルトレーニングをスピードアップするのに役立ちます。一般に複雑なトレードオフを伴うリコールと精度を個別に調整する代わりに、ML実践者はF1スコアの増加に集中できます。この合理化されたアプローチを使用すると、最適なモデルパラメーターを迅速に識別できます。
トレーニングコストの削減
F1スコアは、MLプラクティショナーがモデルのパフォーマンスの微妙な単一の尺度を提供することにより、モデルが展開の準備ができた時期について情報に基づいた決定を下すのに役立ちます。この情報を使用すると、開業医は不必要なトレーニングサイクル、計算リソースへの投資、および追加のトレーニングデータを取得または作成する必要があることを回避できます。全体として、これは分類モデルをトレーニングするときに大幅なコスト削減につながる可能性があります。
早めに過剰装着をキャッチします
F1スコアは精度とリコールの両方を考慮しているため、ML実践者がモデルがトレーニングデータに特化しすぎていることを特定するのに役立ちます。オーバーフィッティングと呼ばれるこの問題は、分類モデルの一般的な問題です。 F1スコアは、実務家に、モデルが実際のデータに一般化できないポイントに達する前にトレーニングを調整する必要があるという早期の警告を与えます。
F1スコアの制限
多くの利点にもかかわらず、F1スコアには、実務家が考慮すべきいくつかの重要な制限があります。これらの制限には、真のネガに対する感受性の欠如、一部のデータセットに適していない、マルチクラスの問題について解釈するのが難しいことが含まれます。
真のネガティブに対する感受性の欠如
F1スコアは真のネガを考慮していません。つまり、これを測定することが重要なアプリケーションにはあまり適していません。たとえば、安全な運転条件を識別するように設計されたシステムを検討してください。この場合、条件が真に安全である(真のネガティブ)がいつであるかを正しく識別することは、危険な条件を特定するのと同じくらい重要です。 FNを追跡しないため、F1スコアはモデルパフォーマンス全体のこの側面を正確にキャプチャしません。
一部のデータセットには適していません
F1スコアは、FPとFNの影響が大きく異なるデータセットには適していない場合があります。がんスクリーニングモデルの例を考えてみましょう。このような状況では、肯定的なケース(FN)の欠落は生命を脅かす可能性がありますが、誤って肯定的なケース(FP)を見つけると、追加のテストにつながるだけです。したがって、このコストを考慮するために重み付けできるメトリックを使用することは、F1スコアよりも良い選択です。
マルチクラスの問題を解釈するのは難しい
Micro-F1やMacro-F1スコアなどのバリエーションは、F1スコアを使用してマルチクラス分類システムを評価できることを意味しますが、これらの集約されたメトリックの解釈は、しばしばバイナリF1スコアよりも複雑です。たとえば、Micro-F1スコアは、より少ないクラスを分類する際にパフォーマンスの低下を隠す可能性がありますが、Macro-F1スコアは太りすぎのまれなクラスです。これを考えると、企業は、マルチクラス分類モデルに適したF1バリアントを選択する際に、クラスの平等な扱いまたはインスタンスレベルのパフォーマンスがより重要であるかどうかを検討する必要があります。