À l'exception des arbres de décision et de la régression logistique, quels autres modèles de classification fournissent une bonne interprétation? Je ne suis pas intéressé par la précision ou d'autres paramètres, seule l'interprétation des résultats est importante.
interpretation
supervised-learning
Miroslav Sabo
la source
la source
Réponses:
1) Je dirais que les arbres de décision ne sont pas aussi interprétables que les gens le prétendent. Ils semblent interprétables, car chaque nœud est une décision binaire simple. Le problème est que lorsque vous descendez dans l'arborescence, chaque nœud est conditionnel à chaque nœud au-dessus. Si votre arbre n'a que quatre ou cinq niveaux de profondeur, il n'est toujours pas trop difficile de convertir le chemin d'un nœud terminal (quatre ou cinq divisions) en quelque chose d'interprétable (par exemple, «ce nœud reflète les clients à long terme qui sont des hommes à revenu élevé avec plusieurs comptes). "), mais il est difficile de garder une trace de plusieurs nœuds terminaux.
Si tout ce que vous avez à faire est de convaincre un client que votre modèle est interprétable ("regardez, chaque cercle ici a une simple décision oui / non, facile à comprendre, non?") Alors je garderais les arbres de décision dans votre liste . Si vous voulez une interprétabilité exploitable, je dirais qu'ils pourraient ne pas faire la coupe.
2) Un autre problème consiste à clarifier ce que vous entendez par «interprétabilité des résultats». J'ai rencontré l'interprétabilité dans quatre contextes:
Le client pouvant comprendre la méthodologie. (Pas ce que vous demandez.) Une forêt aléatoire est assez facilement explicable par analogie, et la plupart des clients se sentent à l'aise avec elle une fois qu'elle est expliquée simplement.
Expliquer comment la méthodologie correspond à un modèle. (J'ai eu un client qui a insisté pour que j'explique comment un arbre de décision est adapté car ils pensaient que cela les aiderait à comprendre comment utiliser les résultats de manière plus intelligente. Après avoir fait un très bon résumé, avec beaucoup de beaux diagrammes, ils ont abandonné le sujet. Ce n'est pas du tout utile pour interpréter / comprendre.) Encore une fois, je crois que ce n'est pas ce que vous demandez.
Une fois qu'un modèle est ajusté, interpréter ce que le modèle «croit» ou «dit» au sujet des prédicteurs. Voici où un arbre de décision semble interprétable, mais est beaucoup plus complexe que les premières impressions. La régression logistique est ici assez simple.
Lorsqu'un point de données particulier est classé, expliquant pourquoi cette décision a été prise. Pourquoi votre régression logistique indique-t-elle que le risque de fraude est de 80%? Pourquoi votre arbre de décision indique-t-il qu'il est à faible risque? Si le client est satisfait de l'impression des nœuds de décision menant au nœud terminal, cela est facile pour un arbre de décision. Si «pourquoi» doit être résumé en termes humains («cette personne est considérée comme à faible risque car c'est un client masculin à long terme qui a des revenus élevés et des comptes multiples avec notre entreprise»), c'est beaucoup plus difficile.
Donc, à un niveau d'interprétabilité ou d'explicabilité (# 1 avec un peu # 4, ci-dessus), K-Nearest Neighbour est facile: "ce client a été jugé à haut risque car 8 clients sur 10 qui ont été précédemment évalués et qui étaient les plus similaires à eux en termes de X, Y et Z, ont été jugés à haut risque. " Au niveau 4, actionnable et complet, ce n'est pas si interprétable. (J'ai pensé à leur présenter les 8 autres clients, mais cela nécessiterait qu'ils explorent ces clients pour comprendre manuellement ce que ces clients ont en commun, et donc ce que le client évalué a en commun avec eux.)
J'ai lu récemment quelques articles sur l'utilisation de méthodes de type analyse de sensibilité pour essayer de trouver des explications automatisées de type # 4. Mais je n'en ai pas sous la main. Peut-être que quelqu'un peut jeter des liens dans les commentaires?
la source
Cela dépend des données que vous utilisez. Si vous n'êtes pas intéressé par la précision, je pense que la visualisation des données et des classifications est l'une des meilleures façons d'interpréter les données et les performances de l'algorithme.
Voici un exemple de comparaison de divers classificateurs. Chaque ligne est un ensemble de données différent avec des données ayant une séparabilité variable. Chaque colonne est la visualisation de chaque classificateur.
http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html
la source
L'analyse discriminante est le modèle de classification original, remontant à plus de cent ans à RA Fisher ( https://en.wikipedia.org/wiki/Linear_discriminant_analysis ). Il est trop souvent ignoré dans le monde actuel des modèles d'apprentissage automatique et statistique, ayant été remplacé par des approches plus cohérentes avec le jargon le plus récent.
Cet article a été publié dans le Journal of Machine Learning et contient une liste de plusieurs autres méthodes, Avons-nous besoin de centaines de classificateurs pour résoudre les problèmes de classification du monde réel? http://jmlr.org/papers/volume15/delgado14a/delgado14a.pdf
la source
Pour trouver la relation entre les fonctionnalités et les classes, vous pouvez utiliser une méthode de relation. Vous pouvez également utiliser la méthode chi au carré pour déterminer si une fonction est associée à la classe. Pour ce faire, vous devez utiliser l'égalité d'étiquette de classe. Par exemple, si vous testez la fonctionnalité 1 et la classe 1, vous devez effectuer un regroupement pour la fonctionnalité 1 et calculer chi ^ 2 entre les probabilités groupées et une variable d'appartenance qui a la valeur 1 lorsque la classe est 1, 0 sinon. De cette façon, si le fait d'être de classe 1 dépend de la caractéristique 1, certains bacs auront un taux plus élevé d'être de classe 1 alors que certains bacs auront un taux plus faible.
Une méthode supplémentaire que j'ai essayée avec un succès modéré a été d'intégrer une caractéristique d'une classe dans une distribution normale. Ensuite, pour chaque échantillon de la classe, améliorez le score de la fonctionnalité par l'adéquation de l'échantillon à la distribution. Pour chaque échantillon qui n'est pas dans la classe, pénalisez la fonction fitness. De toute évidence, vous devez normaliser le nombre d'échantillons qui sont dans et non dans la classe. Cela ne fonctionne que sur les fonctionnalités qui sont distribuées près de la distribution normale. J'ai utilisé cette méthode pour attribuer un score par fonctionnalité à chaque classe.
la source
Personne n'a mentionné la classification du plus proche voisin. C'est très simple à expliquer; une observation est classée selon la classe la plus courante parmi les observations les plus proches d'elle. Nous choisissons normalement un nombre impair de voisins les plus proches à regarder, donc il n'y a pas de liens à rompre.
la source