L'importanza variabile (o l'importanza della funzione) viene calcolata per tutte le funzioni a cui si sta adattando il modello. Questo codice pseudo vi dà un'idea di nomi come variabili e importanza può essere correlato:
import pandas as pd
train = pd.read_csv("train.csv")
cols = ['hour', 'season', 'holiday', 'workingday', 'weather', 'temp', 'windspeed']
clf = YourClassifiers()
clf.fit(train[cols], train.targets) # targets/labels
print len(clf.feature_importances_)
print len(cols)
Vedrete che le lunghezze delle due liste in fase di stampa sono gli stessi - si può essenzialmente mappare le liste insieme o manipolarli come desideri. Se desideri mostrare variabile importanza bene in una trama, è possibile utilizzare questo:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(6 * 1.618, 6))
index = np.arange(len(cols))
bar_width = 0.35
plt.bar(index, clf.feature_importances_, color='black', alpha=0.5)
plt.xlabel('features')
plt.ylabel('importance')
plt.title('Feature importance')
plt.xticks(index + bar_width, cols)
plt.tight_layout()
plt.show()
Se non si desidera utilizzare questo metodo (il che significa che si intende installare tutte le colonne, non appena selezionato pochi come impostato nella variabile cols
), quindi è possibile ottenere i nomi colonna/funzione/variabile dei dati con train.columns.values
(quindi mappare questo elenco insieme all'elenco di importanza variabile o modificarlo in altro modo).
[Questo esempio illustra l'importanza della funzione] (http://scikit-learn.org/0.13/auto_examples/ensemble/plot_forest_importances.html#example-ensemble-plot-forest-importances-py). Potresti rendere più chiaro ciò che vuoi ("più raffinato") - forse cosa non viene mostrato in questo esempio? – AGS