【发布时间】:2017-04-17 16:41:20
【问题描述】:
我一直在使用包tsfresh 来查找时间序列的相关功能。它输出大约 300 个“相关”特征,这些特征通过了每个特征的可预测性的 p 检验阈值。当我使用 scikit 的DecisionTreeClassifier() 训练分类器时,我得到了一些奇怪的结果。每次我执行树的学习时,它都会返回一个只有两个级别的树,并且每次它使用的特征都不同。我很困惑。这棵树每次都做得很好,但我没有看到所有的关卡吗?
使用此代码:
from sklearn import tree
from sklearn.tree import _tree
X_train, X_test, y_train, y_test = train_test_split(X_filtered, y, test_size=.2)
cl = DecisionTreeClassifier()
cl.fit(X_train, y_train)
tree.export_graphviz(cl,out_file='tree.dot',feature_names=X.columns)
len(X.colums) 超过 300 的地方每次都会返回一个两层的决策树。
【问题讨论】:
标签: python scikit-learn decision-tree