tree.DecisionTree.feature_importances_数字对应的特征如何?

数据挖掘 Python scikit-学习
2021-10-06 02:01:40
clf = tree.DecisionTreeClassifier(random_state = 0)
clf = clf.fit(X_train, y_train)
importances = clf.feature_importances_

importancesvariable 是一个数组,由表示变量重要性的数字组成。我想知道这是什么顺序?变量的顺序importances是否相同X_train

我正试图以此为基础。所以顺序很重要。

1个回答

您可以从中获取列名X并将其与 绑定feature_importances_以更好地理解它们。这是一个例子 -

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
import pandas as pd

clf = DecisionTreeClassifier(random_state=0)
iris = load_iris()
iris_pd = pd.DataFrame(iris.data, columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width'])
clf = clf.fit(iris_pd, iris.target)

我以 iris 为例,转换为 apandas.DataFrame()并拟合一个简单的DecisionTreeClassifier. 训练完成后,您可以获取columnspandas 的属性并使用输出df制作 a 。dictfeature_importances_

print(dict(zip(iris_pd.columns, clf.feature_importances_)))

这会给你你想要的 -

{'sepal_length': 0.0, 'sepal_width': 0.013333333333333329, 'petal_length': 0.064055958132045052, 'petal_width': 0.92261070853462157}

希望这可以帮助!