Uso sklearn per tracciare l'importanza della funzione per le foreste di alberi. Il dataframe è chiamato 'cuore'. Ecco il codice per estrarre l'elenco delle caratteristiche ordinate:COME LEGGERE L'IMPORTANZA DELLA CARATTERISTICA con le foreste di alberi?
importances = extc.feature_importances_
indices = np.argsort(importances)[::-1]
print("Feature ranking:")
for f in range(heart_train.shape[1]):
print("%d. feature %d (%f)" % (f + 1, indices[f], importances[indices[f]]))
Poi tracciare la lista in questo modo:
f, ax = plt.subplots(figsize=(11, 9))
plt.title("Feature ranking", fontsize = 20)
plt.bar(range(heart_train.shape[1]), importances[indices],
color="b",
align="center")
plt.xticks(range(heart_train.shape[1]), indices)
plt.xlim([-1, heart_train.shape[1]])
plt.ylabel("importance", fontsize = 18)
plt.xlabel("index of the feature", fontsize = 18)
e ottengo una trama simile a questo:
La mia domanda è: come potrei sostituire il NUMERO della funzione con il NOME della funzione per rendere la trama più comprensibile? Ho provato a convertire la stringa contenente il nome della funzione (che è il nome di ogni colonna del frame di dati), ma non riesco a raggiungere il mio obiettivo.
Grazie
Grazie! Ora devo abbinare la colonna giusta con la giusta importanza. – ElenaPhys
Hai capito come abbinare la colonna giusta con la giusta importanza? – Amy21