Python中的基本决策树

Python中的基本决策树,python,scikit-learn,decision-tree,Python,Scikit Learn,Decision Tree,我不明白为什么我的算法不分离样本“1”(蓝色),就好像算法忽略了它们一样。我不知道decisiontreeclasiffer的更新。如果我没有添加任何参数,算法如下所示。我有3个标签,即3种类型的样本(Import在代码中缺失) 修改后的答案: 您只是忘记了使用缩放特征训练模型X\u train\u std。因此,与其 tree.fit(X_train, y_train) 应该是 tree.fit(X_train_std, y_train) 现在,该模型能够区分所有三类: 该算法可以识别3个

我不明白为什么我的算法不分离样本“1”(蓝色),就好像算法忽略了它们一样。我不知道
decisiontreeclasiffer
的更新。如果我没有添加任何参数,算法如下所示。我有3个标签,即3种类型的样本(
Import
在代码中缺失)


修改后的答案:

您只是忘记了使用缩放特征训练模型
X\u train\u std
。因此,与其

tree.fit(X_train, y_train)
应该是

tree.fit(X_train_std, y_train)
现在,该模型能够区分所有三类:


该算法可以识别3个标签,只是忘记在
树中写入
X\u train\u std
。fit(X\u train,y\u train)
哈哈。无论如何谢谢你的帮助:)@Cristobal我刚刚意识到,如果不更改为
X\u train\u std
,我使用其他功能的原始答案将无法工作。。。当我测试它时,它只给出了所需的输出,因为我实际上也发现了这个问题并对其进行了更改。。。但不知怎么的,我完全忘记了。。。对不起,我把事情搞混了。让我更新答案以包含正确的解决方案。。。啊,太尴尬了。。。
tree.fit(X_train_std, y_train)