マルチクラス・マルチラベル分類の精度/再現率 質問する

マルチクラス・マルチラベル分類の精度/再現率 質問する

マルチクラス マルチラベル分類、つまり 2 つ以上のラベルがあり、各インスタンスに複数のラベルがある分類の精度と再現率の測定値をどのように計算すればよいのでしょうか。

ベストアンサー1

マルチラベル分類には 2 つの方法があります。まず、次の点を検討してください。

  • $n$例の数です。
  • $Y_i$の真実ラベルの割り当ては、$i^{番目}$例..
  • $x_i$それは$i^{番目}$例。
  • $h(x_i)$予測されたラベルは$i^{番目}$例。

例に基づく

メトリックはデータポイントごとに計算されます。予測されたラベルごとにそのスコアのみが計算され、その後、これらのスコアがすべてのデータポイントにわたって集計されます。

  • 精度 =$\frac{1}{n}\sum_{i=1}^{n}\frac{|Y_{i}\cap h(x_{i})|}{|h(x_{i})|}$予測されたものがどれだけ正しいかの比率。分子は予測ベクトル内のラベルが真実と共通している数を見つけ、比率は予測された真のラベルのうち実際に真実にどれだけ含まれているかを計算します。
  • リコール =$\frac{1}{n}\sum_{i=1}^{n}\frac{|Y_{i}\cap h(x_{i})|}{|Y_{i}|}$実際のラベルのうち何個が予測されたかの比率。分子は、予測されたベクトル内のラベルのうち、実際のラベルと共通するラベルの数(上記参照)を求め、実際のラベルの数に対する比率を求めることで、実際のラベルのうち何個が予測されたかを取得します。

他にも指標はあります。

ラベルベース

ここでは、ラベルごとに処理が行われます。ラベルごとにメトリック (精度、再現率など) が計算され、これらのラベルごとのメトリックが集計されます。したがって、この場合は、バイナリ分類の場合と同様に (各ラベルにはバイナリ割り当てがあるため)、データセット全体にわたって各ラベルの精度/再現率を計算し、それを集計することになります。

簡単な方法は、一般的な形式を提示することです。

これは、標準的なマルチクラスの同等機能の単なる拡張です。

  • マクロ平均$\frac{1}{q}\sum_{j=1}^{q}B(TP_{j},FP_{j},TN_{j},FN_{j})$

  • ミクロ平均$B(\sum_{j=1}^{q}TP_{j},\sum_{j=1}^{q}FP_{j},\sum_{j=1}^{q}TN_{j},\sum_{j=1}^{q}FN_{j})$

ここでは$TP_{j}、FP_{j}、TN_{j}、FN_{j}$それぞれ、真陽性、偽陽性、真陰性、偽陰性のカウントです。$j^{番目}$ ラベル

ここで、$B$ は混同行列ベースのメトリックのいずれかを表します。この場合、標準の精度と再現率の式を入力します。マクロ平均の場合は、ラベルごとのカウントを渡してから合計し、ミクロ平均の場合は、最初にカウントを平均してからメトリック関数を適用します。

マルチラベルメトリックのコードを見てみるのも面白いかもしれません。ここパッケージの一部であるミリドルRまた、Javaマルチラベルライブラリもご覧ください。ムーラン

これは、さまざまな指標を理解するのに役立つ優れた論文です。マルチラベル学習アルゴリズムのレビュー

おすすめ記事