Jusqu'à présent, la bibliothèque pour PermutationImportance
était ʻELI5[Document officiel ELI5](https://eli5.readthedocs.io/en/latest/blackbox/permutation_importance.html). (ELI5 signifie Explain Like I'm 5. (expliquez-moi comme un enfant de 5 ans).) Récemment, «Importance de la permutation» a été implémentée à partir de «Scikit-Learn 0.22». Jusqu'à présent, je n'étais pas sûr de la contribution de la quantité de caractéristiques après le calcul avec le vecteur de support, mais maintenant je peux voir quelle quantité de caractéristiques est importante avec
Importance de la permutation`.
Pour le dire simplement, PermutationImportance
sélectionne l'une des fonctionnalités et mélange les valeurs qu'elle contient pour la rendre dénuée de sens. La précision est calculée à l'aide des données, la précision est comparée à l'ensemble de données de la quantité de caractéristiques correcte et la mesure dans laquelle la quantité de caractéristiques sélectionnée affecte la précision est calculée.
C'était assez facile à calculer.
Importez permutation_importance
depuis sklearn.inspection
.
Tout ce que j'avais à faire était de charger l'instance ʻoptimized_regr créée en optimisant les paramètres avec ʻoputuna
dans le vecteur de support et le jeu de données comme argument de permutation_importance
et calculer.
#De là sklearn permutation_importance
from sklearn.inspection import permutation_importance
result = permutation_importance(optimised_regr, X_test_std, y_test, n_repeats=10, n_jobs=-1, random_state=0)
#Mettez le résultat dans une trame de données Pandas et affichez-le
df = pd.DataFrame([boston.feature_names,result.importances_mean,result.importances_std],index=['Featue','mean','std']).T
df_s = df.sort_values('mean',ascending=False)
print(df_s)
J'ai chargé le résultat dans pandas
et créé un tableau.
Featue | mean | std | |
---|---|---|---|
5 | RM | 0.466147 | 0.066557 |
12 | LSTAT | 0.259455 | 0.0525053 |
8 | RAD | 0.141846 | 0.0203266 |
9 | TAX | 0.113393 | 0.0176602 |
7 | DIS | 0.0738827 | 0.0178893 |
10 | PTRATIO | 0.0643727 | 0.0205021 |
6 | AGE | 0.0587429 | 0.010226 |
4 | NOX | 0.0521941 | 0.0235265 |
2 | INDUS | 0.0425453 | 0.0185133 |
0 | CRIM | 0.0258689 | 0.00711088 |
11 | B | 0.017638 | 0.00689625 |
3 | CHAS | 0.0140639 | 0.00568843 |
1 | ZN | 0.00434593 | 0.00582095 |
Jusqu'à présent, il n'était pas possible de savoir quelle quantité de caractéristique affectait le calcul avec le vecteur de support, mais maintenant que «permutation_importance» a été implémentée, il est possible de comprendre quelle quantité de caractéristique l'affecte. J'ai fait.
Recommended Posts