Inizia subitoInizia gratis

Importanza delle feature con la random forest

Un aspetto utile dei metodi basati su alberi è la possibilità di estrarre l'importanza delle feature. È un modo quantitativo per misurare quanto ciascuna feature contribuisce alle nostre previsioni. Può aiutarci a concentrarci sulle feature migliori, magari migliorandole o ottimizzandole, e può anche aiutarci a eliminare feature inutili che potrebbero appesantire il modello.

I modelli ad albero in sklearn hanno una proprietà .feature_importances_, accessibile dopo l'addestramento del modello. Questa contiene i punteggi di importanza delle feature. Per creare un bar plot ordinato delle importanze (dalla più alla meno importante), dobbiamo ottenere gli indici delle importanze ordinate usando np.argsort().

Questo esercizio fa parte del corso

Machine Learning per la finanza in Python

Visualizza corso

Istruzioni dell'esercizio

  • Usa la proprietà feature_importances_ del nostro modello di random forest (rfr) per estrarre le importanze delle feature nella variabile importances.
  • Usa argsort di NumPy per ottenere gli indici delle importanze dalla più grande alla più piccola e salva gli indici ordinati nella variabile sorted_index.
  • Imposta le etichette degli xtick con i nomi delle feature nella variabile labels, usando la lista sorted_index. feature_names deve essere convertita in un array NumPy così da poterla indicizzare con la lista sorted_index.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Get feature importances from our random forest model
importances = rfr.____

# Get the index of importances from greatest importance to least
sorted_index = ____(importances)[::-1]
x = range(len(importances))

# Create tick labels 
labels = np.array(____)[____]
plt.bar(x, importances[sorted_index], tick_label=labels)

# Rotate tick labels to vertical
plt.xticks(rotation=90)
plt.show()
Modifica ed esegui il codice