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

随机森林模型训练达标但用户输入预测全错的问题及解决

问题:随机森林测试集准确率超90%,但用户输入预测全错

我用随机森林分类器构建模型,在测试集上的准确率能达到0.91,但现在遇到了核心问题——用用户输入的数据做预测时结果100%错误,且用户输入的列顺序和训练数据集完全一致。

代码如下:

model = RandomForestClassifier()
model.fit(X_train, y_train)
prediction = model.predict(X_test)
acc = accuracy_score(y_test, prediction)   # 输出: 0.91

X_test_user = df_user_compounds_1.to_numpy()
user_input_predictions_1 = model.predict(X_test_user) # 
user_input_predictions_1    # 输出: array([0, 0, 0, 0, 0], dtype=int64), 预期应为: array([1, 1, 1, 1, 1],dtype=int64) 

我的数据集已完成预处理:

  • 无缺失值、无重复值
  • 通过RandomOverSampler解决了数据不平衡问题
  • 使用MinMaxScaler做特征缩放,所有特征无负值
  • 包含11个特征,共7000行数据

后续更新(解决进展)

感谢@ElvinJafarov的建议,补充df_user_compounds_1和X_test的部分数据样例:
X_test数据样例

由于训练时使用了MinMaxScaler,我意识到用户输入必须遵循和训练集完全一致的缩放逻辑。于是我通过原数据集的df.describe(include="all")获取每个特征的最小值和最大值,将这两行最值数据拼接到用户输入的数据框后,再进行缩放处理:
用户输入预处理步骤

调整后结果符合预期:前5个样本的预期预测值为1,实际达到了4/5的正确率:
最终预测结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:07:15