为什么单个决策树算法无法准确地运行集成技术

问题描述 投票:0回答:1

我在“葡萄酒”数据集上使用了决策树算法,该数据集以1到10的等级预测葡萄酒的质量,其中1最差,10最好,示例代码如下

import pandas as pd
data=pd.read_csv("wine.csv")
x=data.drop(columns="quality")# x has all the feature columns
y=data.quality# y has the label column
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=355)
dt=DecisionTreeClassifier()
dt.fit(x_train,y_train)
dt.score(x_test,y_test)

现在在同一数据集上,我已经使用了集成技术和装袋方法,并且决策树算法与基本模型具有相同的准确度,示例代码如下:

bagging=BaggingClassifier(base_estimator=DecisionTreeClassifier(),n_estimators=100,
                         bootstrap=True,oob_score=True)
bagging.fit(x_train,y_train)
bagging.score(x_test,y_test)

令人惊讶的是,我得到了61%的准确度,也就是说,在集成方法中,准确度降低了,我的问题是,为什么集成方法中的准确度降低了。与单个决策树算法相比,集成是一种非常好的方法,这意味着当我们使用集成技术时必须提高准确性,但为什么会降低准确性

machine-learning decision-tree ensemble-learning
1个回答
1
投票

我无法复制您的结果。对于您的代码,DecisionTreeClassifier的精度为0.94,BaggingClassifier的精度为0.98。这是google colab的链接。

© www.soinside.com 2019 - 2024. All rights reserved.