1
resposta

Características relevantes para o modelo

Olá, gostaria de descobrir quais das características utilizada no modelo foram mais relevante no processo de aprendizagem. Poderiam me sugerir alguma estratégia para obter essa informação?

1 resposta

Olá, Inara! Tudo tranquilo com você?

Primeiramente gostaria de pedir desculpas pela demora em te dar um retorno.

Ao consultarmos a documentação do estimador DecisionTreeClassifier nos deparamos com alguns atributos, como o feature_importances_ que nos retorna a importância das features (ou colunas) utilizadas para nosso modelo. Podemos aplicar esse atributo da seguinte forma:

from sklearn.model_selection import GroupKFold
from sklearn.tree import DecisionTreeClassifier

SEED = 301
np.random.seed(SEED)

cv = GroupKFold(n_splits = 10)
modelo = DecisionTreeClassifier(max_depth=2)
results = cross_validate(modelo, x_azar, y_azar, cv = cv, groups = dados.modelo, return_train_score=False)
modelo.fit(x_azar, y_azar)
display(modelo.feature_names_in_)
display(modelo.feature_importances_)

Saída:

array(['preco', 'idade_do_modelo', 'km_por_ano'], dtype=object)
array([0.8478651, 0.       , 0.1521349])

O primeiro array retornado são os nomes das features, utilizei o atributo feature_names_in_ para ficar melhor de entender com quais features estamos trabalhando, o segundo array é a sua importância. Vemos que o preço do carro é o fator mais importante, seguido da quilometragem e a feature menos importante é a idade do modelo para determinar se o carro foi vendido ou não.

OBS: Os valores encontrados por você podem diferenciar um pouco dos meus, pois os resultados dependem de onde você executa o código devido a alterações nas variáveis usadas.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!