Interpretando resultados
Quase sempre é importante saber quais variáveis estão influenciando mais a sua previsão. Talvez seja algo contraintuitivo — e isso já é um insight. Talvez um pequeno conjunto de variáveis responda pela maior parte da acurácia do seu modelo, e você não precise gastar tempo coletando ou ajustando outras variáveis.
Neste exemplo, vamos analisar um modelo que foi treinado sem nenhuma informação de LISTPRICE. Sem esse dado, o que mais influencia o preço?
- OBSERVAÇÃO: O array de importâncias das variáveis,
importances, já foi criado para você a partir demodel.featureImportances.toArray()
Este exercício faz parte do curso
Feature Engineering com PySpark
Instruções do exercício
- Crie um dataframe do
pandasusando os valores deimportancese nomeie a coluna comoimportancedefinindo o parâmetrocolumns. - Usando a lista importada de nomes de variáveis,
feature_cols, crie uma novapandas.Seriesenvolvendo-a com a funçãopd.Series(). Atribua ao campofi_df['feature']. - Ordene o dataframe usando
sort_values(), definindo o parâmetrobypara nossa colunaimportancee ordene em ordem decrescente definindoascendingcomoFalse. Inspecione os resultados.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Convert feature importances to a pandas column
fi_df = pd.DataFrame(____, columns=[____])
# Convert list of feature names to pandas column
fi_df['feature'] = pd.____(____)
# Sort the data based on feature importance
fi_df.____(by=[____], ascending=____, inplace=True)
# Inspect Results
fi_df.head(10)