clf = tree.DecisionTreeClassifier(random_state = 0)
clf = clf.fit(X_train, y_train)
importances = clf.feature_importances_
importances
variable 是一个数组,由表示变量重要性的数字组成。我想知道这是什么顺序?变量的顺序importances
是否相同X_train
?
我正试图以此为基础。所以顺序很重要。
clf = tree.DecisionTreeClassifier(random_state = 0)
clf = clf.fit(X_train, y_train)
importances = clf.feature_importances_
importances
variable 是一个数组,由表示变量重要性的数字组成。我想知道这是什么顺序?变量的顺序importances
是否相同X_train
?
我正试图以此为基础。所以顺序很重要。
您可以从中获取列名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
. 训练完成后,您可以获取columns
pandas 的属性并使用输出df
制作 a 。dict
feature_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}
希望这可以帮助!