我从数据科学( Data )开始,为了取得进展,我刚刚运行了西拉杰·拉瓦尔的数据科学导论视频中的代码。他实现了一个简单的决策树分类器,但我不得不注意到,在相同的训练集下,分类器并不总是产生相同的预测(或者显然是相同的匹配);我碰巧发现这非常奇怪,因为根据我所学到的,决策树应该是确定性的。
我唯一能想到的可能会导致随机性的事情是,分支在某个时刻被随机选择,因为两个选项的价值可能是相同的。我想说,这可以用一些更多的训练数据来纠正,但是即使我再增加5个人,也没有什么变化。有人对发生了什么事有什么解释吗?
下面是for循环中视频中的代码(用Python语言)来计算决策树对男性和女性的预测量。
from
如果我们不给任何约束,如max_depth,minimum number of samples for nodes,决策树总能给0训练错误吗?还是取决于数据集?显示的数据集呢?
编辑-它有可能有一个分裂,从而导致的准确性低于父节点,对吗?根据决策树理论,即使几次分割后的最终结果可以很好,也应该停止在那里进行分割!我说的对吗?
是否有可能通过使用python代码改变matlab和jupyter笔记本中相同数据集的准确性?
对于相同的数据集,首先在matlab中应用,决策树法的准确率为96%,然后使用python代码将相同的数据集应用到jupyter笔记本中,通过k次交叉验证,C4.5 (决策树)的准确率为53%。
我不明白对于相同的数据集和相同的方法获得不同的准确性的问题在哪里。
我在python代码中的过程如下所示:
import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.model_selection import