不均衡なクラスのデータセットがあります。3つのクラスがデータの約60%を占めます。また、不均衡を引き起こすさまざまなテスト分割があります。たとえば:
トレインセット:label_1 ... label_n
テストセット:label_1、label_3、label_9
これは、テストセットにラベルが3つしかない場合でも、nラベルの1つとして予測される可能性があることを意味します。したがって、sklearn.metrics.precision_recall_fscore_supportを使用すると、ゼロが多い行列が得られます。
私の問題は、クラスごとの値ではなく、すべてのクラスにわたって平均Fスコアを取得する必要があることです。ただし、上記のsklearn関数から返された行列の平均を取るだけでは、非常に多くのゼロがあるため、常に非常に低い値になります。一方、潜在的な予測の総数はクラスの総数でなければならないため、ゼロ以外の値の平均を取ることも、私には意味がありません。
この場合、平均を取る良い方法はありますか?ミクロ、マクロ、加重平均のオプションを使用してみましたが、どちらが正しいかわかりません。
誰かこれを手伝ってくれませんか?