Comment évaluer la signification statistique de l'exactitude d'un classificateur?

8

J'ai la sortie de précision du classificateur en pourcentage et le nombre d'échantillons d'entrée. Existe-t-il un test qui puisse dire à quel point le résultat est statistiquement significatif d'après ces informations?

Merci

Shan
la source
Pouvez-vous donner un exemple?
Max Gordon
3
Je ne sais pas exactement ce que vous avez et ce que vous demandez. Il existe des tests pour savoir si une proportion est de 0, mais ce n'est pas un test significatif pour la précision - la précision de 0 serait parfaite en quelque sorte - toujours faux!
Peter Flom

Réponses:

10

Vous voulez définir la distribution de la précision de juste deviner. C'est peut-être commeX/nX binomial(n, p) pour certains connus p (disons 50%).

Calculez ensuite la chance d'observer les résultats que vous avez obtenus, si ce modèle nul était vrai. Dans R, vous pouvez l'utiliser binom.testou le calculer directement avec pbinom.

Habituellement, vous voudriez comparer l'exactitude non pas à "deviner" mais à une autre méthode, auquel cas vous pourriez utiliser le test de McNemar ; dans R, mcnemar.test.

Karl
la source
6

Je ne vois pas où le test contre le hasard complet est si utile. Un classificateur qui ne peut battre que des suppositions aléatoires pures n'est pas très utile. Un problème plus important est l'utilisation de proportions correctement classées comme votre score de précision. Il s'agit d'une règle de notation incorrecte discontinue qui peut être facilement manipulée car elle est arbitraire et insensible. Une (parmi de nombreuses) façons de voir ses lacunes est de calculer correctement la proportion classée si vous avez un modèle avec seulement une interception. Elle sera élevée si les résultats ne sont pas proches de 0,5 en prévalence.

Une fois que vous avez choisi une règle plus appropriée, il serait utile de calculer un intervalle de confiance pour l'indice. La signification statistique a peu de valeur.

Frank Harrell
la source
À propos de la proportion de classifiés correctement, voulez-vous dire la précision de classification standard? merci
Simone
1
Oui; une mesure très problématique.
Frank Harrell
Oui, c'est une mesure très problématique. Je suis d'accord avec toi.
Simone
2
Les classificateurs qui battent à peine les suppositions aléatoires peuvent être extrêmement utiles dans certaines situations. Ainsi, il est également utile d'avoir un test qui quantifie la confiance dans un classificateur mieux que le hasard.
le
3

Bien sûr, vous pouvez calculer un intervalle de confiance . Siacc est votre précision estimée sur un ensemble de tests de N éléments, il soutient que

unecc-pp(1-p)/NN(0,1)
Donc
P(unecc-pp(1-p)/N[-zα/2,+zα/2])1-α
Vous pouvez donc dire que:
P(p[l,u])1-α
Par exemple, vous pouvez calculer l' intervalle Wilson .
l=2 N acc+zα/22-zα/2zα/22+4 N acc-4 N acc22(N+zα/22)
u=2 N acc+zα/22+zα/2zα/22+4 N acc-4 N acc22(N+zα/22)

Je pense que vous pouvez calculer à quel point vos performances diffèrent d'une performance aléatoire calculant le gain . La précision d'un classificateur aléatoire est:

accr=je=1cpje2
pje est la fréquence empirique de la classe je estimée sur l'ensemble de test, et cest le nombre de classes différentes. En moyenne, un classificateur aléatoire, qui classe au hasard deviner la classeje en se basant sur la probabilité a priori de l'ensemble de test, classe pjenje=njeNnje exemples de cours jecorrectement. Oùnje est le nombre d'enregistrements de classe jedans l'ensemble de test. Donc
accr=p1n1++pcncn1++nc=p1n1N++pcncN=jecpje2
Vous pourriez avoir un regard sur une de mes questions .

Le gain est:

Gain=accaccr

Je pense en fait qu'un test statistique peut être esquissé. Le numérateur pourrait être considéré comme une variable aléatoire normale,N(acc,p(1-p)/N), mais vous devez déterminer quel type de variable aléatoire le dénominateur accr pourrait être.

Simone
la source
3
Encore une fois, je ne suis pas convaincu qu'un test statistique contre absolument aucune valeur prédictive soit utile.
Frank Harrell
2
Les classificateurs qui battent à peine les suppositions aléatoires peuvent être extrêmement utiles dans certaines situations. Ainsi, il est également utile d'avoir un test qui quantifie la confiance dans un classificateur mieux que le hasard.
le
1
Dans la grande majorité des situations, nous voulons savoir dans quelle mesure une prédiction discrimine, pas seulement si elle discrimine mieux que le hasard.
Frank Harrell
Pas si vous augmentez un tas de classificateurs faibles, ce qui est une activité très courante. Vous pouvez vous soucier de la discrimination une fois que vous avez atteint le classificateur final entièrement boosté, mais il y a beaucoup de travail entre le début et la fin, et il est important de démontrer qu'un classificateur compliqué fonctionne mieux empiriquement que le hasard.
le
1
Et certains domaines d'application, par exemple les marchés financiers, où vous pouvez utiliser le classificateur dans de nombreux cas à peu près indépendants, être juste un peu mieux que le hasard (les R au carré de 11% ou 12% sont considérés comme excellents) peuvent signifier beaucoup. Dans ces cas, si même le classificateur boosté a un R au carré de 15%, cela pourrait être considéré comme très bon - auquel cas, il importe vraiment si vous pouvez statistiquement déterminer si les classificateurs faibles sont définitivement meilleurs que de deviner.
le
1

Vous pouvez être intéressé par les articles suivants:

  • Eric W. Noreen, Méthodes informatisées pour tester les hypothèses: une introduction, John Wiley & Sons, New York, NY, USA, 1989.
  • Alexander Yeh, Des tests plus précis pour la signification statistique des différences de résultats, dans: Actes de la 18e Conférence internationale de linguistique computationnelle, Volume 2, pages 947-953, 2000.

Je pense qu'ils couvrent ce dont parle Dimitrios Athanasakis.

J'ai implémenté une option de Yeh de la manière que je comprends:

http://www.clips.uantwerpen.be/~vincent/software#art

vvasch
la source
0

Je pense qu'une chose que vous pourriez essayer serait un test de permutation. Il suffit de simplement permuter de manière aléatoire les paires de sortie d'entrée souhaitées que vous alimentez votre classificateur plusieurs fois. S'il ne parvient pas à reproduire quoi que ce soit au même niveau sur 100 permutations différentes, il est significatif à 99% d'intervalle, etc. Il s'agit essentiellement du même processus utilisé pour obtenir des valeurs de p (qui correspondent à la probabilité d'obtenir une corrélation linéaire de la même mangnitude après permutation aléatoire des données) et ainsi de suite.

Dimitrios Athanasakis
la source
Pourriez-vous développer davantage ce que vous vouliez dire pour les paires d'entrée / sortie souhaitées?
Simone