You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AdaBoostClassifier在test_size=0.25时指标异常完美,其他test_size值报样本数不一致错误的问题求助

AdaBoostClassifier在test_size=0.25时指标异常完美,其他test_size值报样本数不一致错误的问题求助

我现在遇到一个特别诡异的问题,想请各位帮忙分析解惑:

我正在用AdaBoostClassifier搭配弱学习器DecisionTreeClassifier做数据集分类,这个数据集一共有7857个样本,维度信息如下:

X.shape
# Output: (7857, 5)

y.shape
# Output: (7857,)

下面是我拆分数据集和训练模型的代码:

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=28
)

weak_learner = DecisionTreeClassifier(max_depth=1)

adb = AdaBoostClassifier(estimator=weak_learner, n_estimators=50, random_state=42)
adb_model = adb.fit(X_train, y_train)

y_pred = adb_model.predict(X_test)
print(classification_report(y_test, y_pred))

当我设置test_size=0.25时,分类指标居然全是100%,这明显不符合实际——我已经通过绘图确认过数据点并不是完全可分的:

precision    recall  f1-score   support

       Cheap       1.00      1.00      1.00       496
   Expensive       1.00      1.00      1.00       506
  Reasonable       1.00      1.00      1.00       963

    accuracy                           1.00      1965
   macro avg       1.00      1.00      1.00      1965
weighted avg       1.00      1.00      1.00      1965

更奇怪的是,只要我把test_size改成其他值(比如0.3或者0.2),就会弹出这个错误:

ValueError: Found input variables with inconsistent numbers of samples

我已经检查过的内容:

  • 确认了X和y的样本数量完全一致
  • 检查过X和y里都没有缺失值

我的疑问:

  1. 为什么test_size=0.25的时候会出现完美到不真实的指标,而其他test_size值却会报样本数不一致的错误?
  2. 我该怎么解决这个问题,才能正常使用不同的test_size值?

备注:内容来源于stack exchange,提问作者Asser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:58:11