Au niveau du modèle, pour évaluer la contribution / l'importance des prédicteurs, nous pouvons utiliser:
- Techniques spécifiques au modèle - par exemple pureté (indice de Gini) pour un modèle basé sur un arbre, coefficients du modèle le cas échéant, etc.
- Techniques indépendantes du modèle - par exemple, importance des caractéristiques de permutation, dépendance partielle, etc.
Ce que cela ne donne pas, c'est pour une prédiction particulière (disons une classification binaire qui fournit une probabilité d'appartenance à la classe 1 de 92%) quels prédicteurs ont été les plus «influents» dans la production de cette prédiction.
Ayant un peu réfléchi à ce problème, il me semble que quelques approches pourraient être envisagées:
- Techniques spécifiques au modèle - par exemple, coefficients des modèles linéaires applicables, techniques telles que décrites ici pour, disons, XGBoost ( https://medium.com/applied-data-science/new-r-package-the-xgboost-explainer-51dd7d1aa211 )
- Modéliser des techniques indépendantes - par exemple une sorte de «méthode de perturbation» similaire à la dépendance partielle pour comprendre comment la prédiction change lorsque nous perturbons le prédicteur et peut-être modéliser cela?, Ou des techniques comme LIME décrites dans cet article ( https://arxiv.org/ pdf / 1602.04938.pdf et https://github.com/marcotcr/lime ), une technique d'importance de permutation modifiée?
Il me semble que l'approche la plus valable serait une technique indépendante du modèle étant donné la nature quelque peu «boîte noire» de nombreux algorithmes, et offrant une capacité d'interpréter des algorithmes et des techniques nouveaux et nouveaux.
Une méthode naïve, décrite ici ( http://amunategui.github.io/actionable-instights/index.html ) consiste à prendre chaque prédicteur, à «neutraliser» son impact en imputant la moyenne de la «population» et à relancer la prédiction obtenir une différence entre la prédiction d'origine et la version neutralisée fournissant une mesure d'importance. Cela semble un cas particulier d'une sorte de méthode de «perturbation» évoquée ci-dessus. Voici quelques défauts que je constate: 1) cela semble impliquer qu'une prédiction qui a la «moyenne» (ou l'équivalent) de chaque caractéristique est nécessairement une prédiction «moyenne» peut-être, et 2) que les caractéristiques qui sont «signifie »(Ou équivalent) sont nécessairement sans impact?
Plus généralement, toute technique devrait prendre en compte:
- Comment gérer différents types de données (numériques, catégoriques, etc.)
- Comment gérer les données manquantes
- Comment gérer l'importance conditionnelle peut-être (c'est-à-dire que les prédicteurs peuvent n'être importants que par paires, etc.)
- Efficacité informatique (est-il vraiment pratique d'exécuter une prédiction fois où est le nombre de prédicteurs, ou pour une méthode de perturbation où est le nombre de prédictions par prédicteur, etc.)
Avec ces réflexions lâches et peut-être incorrectes sur la question posées, je me demande quelles approches du problème les gens connaissent, ont envisagé, ont utilisé, conseilleraient etc.?