我使用下面的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个特性。你知道这里会发生什么吗?在
谢谢你的帮助!在
谢谢你的回复!是的,python似乎有这种怪癖(?)包括下限,但不包括范围的上限
这是由于在python中如何定义列表。你可以在这个here上找到一些很好的见解。在
但总而言之,如果您定义这样的列表:
你打电话给
^{pr2}$my_list[0:5]
,它会给你:因此,如果您将代码的第二行更改为:
clsfr=clsfr.fit(wordsDatum[:,0:20],wordsDatum[:,20])
它会做你所期望的。它将包括前20个功能。在
相关问题 更多 >
编程相关推荐