Pour la classification multi-étiquettes, vous avez deux possibilités. Commencez par examiner les points suivants.
- n
- Yiith
- xiith
- h(xi)ith
Exemple basé
Les métriques sont calculées par point de donnée. Pour chaque étiquette prédite, seul son score est calculé, puis ces scores sont agrégés sur tous les points de données.
- 1n∑ni=1|Yi∩h(xi)||h(xi)|
- 1n∑ni=1|Yi∩h(xi)||Yi|
Il existe également d'autres mesures.
Basé sur les étiquettes
Ici, les choses sont faites au niveau des étiquettes. Pour chaque étiquette, les métriques (par exemple, précision, rappel) sont calculées et ensuite, ces métriques par étiquette sont agrégées. Par conséquent, dans ce cas, vous finissez par calculer la précision / le rappel de chaque étiquette sur l'ensemble du jeu de données, comme pour une classification binaire (chaque étiquette ayant une affectation binaire), puis agrégez-la.
Le moyen le plus simple est de présenter la forme générale.
Ceci est juste une extension de l’équivalent standard multi-classes.
1q∑qj=1B(TPj,FPj,TNj,FNj)
B(∑qj=1TPj,∑qj=1FPj,∑qj=1TNj,∑qj=1FNj)
TPj,FPj,TNj,FNjjth
B
Vous pourriez être intéressé d'avoir un coup d' oeil dans le code pour les mesures mult-étiquette ici , dont une partie du paquet mldr dans R . Vous pouvez également être intéressé par la bibliothèque multi-étiquettes Java MULAN .
C’est un article intéressant pour entrer dans les différentes mesures: Examen des algorithmes d’apprentissage multi-étiquettes