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

Python中如何输出所有random_state对应的模型准确率?

问题分析与解决

你的代码存在两个关键问题,导致无法输出1-5的所有结果:

  1. 循环范围错误:Python的range(1,5)是左闭右开区间,实际只会生成1、2、3、4四个值,不会包含5。要覆盖1-5的所有数值,需要写成range(1,6)。
  2. 缩进错误:Python依赖缩进区分代码块,你循环内的所有语句(创建RFC实例、拟合模型、预测、打印结果)都没有缩进,导致这些代码不会被循环执行,仅会在循环结束后执行一次。

修改后的代码

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 假设X_train、y_train、x_test、y_test已提前定义
for index in range(1, 6):  # 调整range范围,覆盖1-5
    Rndm1 = RandomForestClassifier(n_estimators=500, random_state=index)
    Rndm1.fit(X_train, y_train)
    y_pred = Rndm1.predict(x_test)
    print("selected random state:", index)
    print("Accuracy:", accuracy_score(y_test, y_pred))
    print()  # 打印空行,匹配期望的结果格式

补充说明

  • 调整range(1,6)后,循环会依次取1、2、3、4、5作为random_state的值。
  • 给循环内的所有代码添加缩进(通常为4个空格),确保每一轮循环都能完整执行模型训练、预测和结果打印流程。
  • 新增的print()用来输出空行,让最终结果的排版和你期望的一致。

内容的提问来源于stack exchange,提问作者Ajrhjnd

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:55:13