"特征重要性数量与Scikit学习中DecisionTreeClassifi中的特征数量不匹配"

2024-09-30 16:29:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的Python代码(wordsdatam只是一个数组,包含0到19列的输入和第20列的输出),将一个决策树装配到一个包含20个输入和1个分类输出的数据集中

clsfr=tree.DecisionTreeClassifier(max_depth=2,min_samples_leaf=50)
clsfr=clsfr.fit(wordsDatum[:,0:19],wordsDatum[:,20])
for items in clsfr.feature_importances_:
    print items

当我打印特性重要性时,我只得到19个值-这很奇怪,因为我有20个特性。你知道这里会发生什么吗?在

谢谢你的帮助!在


Tags: 数据代码决策树tree分类items数组特性
2条回答

谢谢你的回复!是的,python似乎有这种怪癖(?)包括下限,但不包括范围的上限

这是由于在python中如何定义列表。你可以在这个here上找到一些很好的见解。在

但总而言之,如果您定义这样的列表:

my_list = [0, 1, 2, 3, 4, 5]

你打电话给my_list[0:5],它会给你:

^{pr2}$

因此,如果您将代码的第二行更改为:

clsfr=clsfr.fit(wordsDatum[:,0:20],wordsDatum[:,20])

它会做你所期望的。它将包括前20个功能。在

相关问题 更多 >