Comece agoraComece grátis

Importâncias de features no random forest

Um aspecto útil dos métodos baseados em árvores é a capacidade de extrair importâncias de features. Isso é uma forma quantitativa de medir quanto cada feature contribui para nossas previsões. Isso pode ajudar você a focar nas melhores features, possivelmente aprimorando ou ajustando-as, e também a eliminar features inúteis que podem estar poluindo o seu modelo.

Modelos de árvore no sklearn têm a propriedade .feature_importances_, acessível após o ajuste do modelo. Ela armazena as pontuações de importância das features. Precisamos obter os índices das importâncias ordenadas usando np.argsort() para criar um gráfico de barras organizado das importâncias (da maior para a menor).

Este exercicio faz parte do curso

Machine Learning para Finanças em Python

Ver curso

Instruções do exercicio

  • Use a propriedade feature_importances_ do nosso modelo de random forest (rfr) para extrair as importâncias de features na variável importances.
  • Use argsort do NumPy para obter os índices das importâncias das features da maior para a menor e salve os índices ordenados na variável sorted_index.
  • Defina os rótulos do eixo x (xtick labels) como os nomes das features na variável labels, usando a lista sorted_index. feature_names deve ser convertido para um array do NumPy para que possamos indexá-lo com a lista sorted_index.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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()
Editar e Executar Código