Scikit learn 如何返回sklearn中DecisionTreeClassifier创建的决策树中使用的功能

Scikit learn 如何返回sklearn中DecisionTreeClassifier创建的决策树中使用的功能,scikit-learn,decision-tree,feature-selection,Scikit Learn,Decision Tree,Feature Selection,我想通过CART和C4.5决策树对我的数据集进行特征选择。在这种情况下,将决策树应用于数据集,然后提取决策树算法用于创建树的特征。所以我需要返回在创建的树中使用的特性。我在sklearn.tree模块中使用“DecisionTreeClassifier”。我需要一个方法或函数来给我(返回)创建树中使用的功能!!要将此功能用作主调制算法中更重要的功能,请执行以下类似操作: 我假设你有火车(x_火车,y_火车)和测试(x_测试,y_测试)集 下面是一个示例输出,显示了哪些功能对分类很重要 from

我想通过CART和C4.5决策树对我的数据集进行特征选择。在这种情况下,将决策树应用于数据集,然后提取决策树算法用于创建树的特征。所以我需要返回在创建的树中使用的特性。我在sklearn.tree模块中使用“DecisionTreeClassifier”。我需要一个方法或函数来给我(返回)创建树中使用的功能!!要将此功能用作主调制算法中更重要的功能,请执行以下类似操作:

我假设你有火车(x_火车,y_火车)和测试(x_测试,y_测试)集

下面是一个示例输出,显示了哪些功能对分类很重要

from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score

tree_clf1 = DecisionTreeClassifier().fit(x_train, y_train)

y_pred = tree_clf1.predict(x_test)

print(confusion_matrix(y_test, y_pred))
print("\n\nAccuracy:{:,.2f}%".format(accuracy_score(y_test, y_pred)*100))
print("Precision:{:,.2f}%".format(precision_score(y_test, y_pred)*100))
print("Recall:{:,.2f}%".format(recall_score(y_test, y_pred)*100))
print("F1-Score:{:,.2f}%".format(f1_score(y_test, y_pred)*100))

feature_importances = DataFrame(tree_clf1.feature_importances_,
                                index = x_train.columns,
                                columns['importance']).sort_values('importance', 
                                                                    ascending=False)

print(feature_importances)