Scikit learn Python-RandomForestClassifier和XGBClassifier的得分完全相同

Scikit learn Python-RandomForestClassifier和XGBClassifier的得分完全相同,scikit-learn,data-science,xgboost,kaggle,Scikit Learn,Data Science,Xgboost,Kaggle,问题:你能帮我理解为什么RandomForestClassifier和XGBClassifier的分数完全相同吗 背景:我正在研究卡格尔-泰坦尼克号问题,在我的第一次尝试中,我想比较一些常见的模型 代码: 输出: 0.770949720670391 0.770949720670391 0.6312849162011173 非常感谢你的帮助 这两种算法都是基于树的。但是,您可以看到,在RandomForestClassifier中有一棵树,因此您实际上是一个DecisionTreeClassif

问题:你能帮我理解为什么RandomForestClassifier和XGBClassifier的分数完全相同吗

背景:我正在研究卡格尔-泰坦尼克号问题,在我的第一次尝试中,我想比较一些常见的模型

代码:

输出:

0.770949720670391
0.770949720670391
0.6312849162011173

非常感谢你的帮助

这两种算法都是基于树的。但是,您可以看到,在
RandomForestClassifier
中有一棵树,因此您实际上是一个
DecisionTreeClassifier
,同时为梯度提升算法使用集成。人们可以期待不同的结果

因此,使性能相等的唯一因素实际上是您的数据。您只有两个功能,而且是分类功能。因此,使用这些数据,您无法学习复杂的模型。所有的树都应该是一样的。您可以检查树中的节点数(例如,
myu管道[0][1]。估计器[0]。树。节点计数
;我只有11个)


添加两个额外的数字特征(例如票价和年龄),您将看到树可以进一步找到其他规则,然后性能将发生变化。

这两种算法都是基于树的集成方法。因此,预期的值几乎相似。。但精确匹配可能是因为使用了相似的特征和观察结果
0.770949720670391
0.770949720670391
0.6312849162011173