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

基于Keras的已训练预测模型如何用新数据xnew预测y值?

如何用训练好的Keras模型预测新数据的y值

嗨,这事儿其实挺简单的,核心就是用Keras模型自带的predict()方法来完成!我给你一步步拆解清楚:

1. 先确保新数据xnew的「格式和预处理」和训练数据完全一致

这一步绝对不能偷懒,不然预测结果大概率会跑偏:

  • 你的模型输入形状是(4,),意味着每个样本必须包含4个特征,所以xnew的整体形状得是(n_samples, 4)(n_samples是你新数据的样本数量)。
  • 如果训练时你对xtrn做了预处理(比如标准化、归一化、类别编码等),一定要用和训练时完全相同的规则处理xnew。比如训练时用StandardScaler()拟合了xtrn,那xnew只能用这个scaler的transform()方法,绝对不能重新对xnew做fit操作!

2. 调用模型的predict()方法获取预测结果

直接把处理好的xnew传入模型的predict()方法就行,它会自动完成从输入层到输出层的前向计算,输出对应的预测y值:

# 假设xnew已经处理完毕,形状符合模型输入要求
y_pred = model.predict(xnew)

3. 根据任务类型处理预测结果

  • 如果是回归任务:y_pred直接就是预测的连续数值,不用额外处理。
  • 如果是多分类任务:y_pred是每个样本对应各类别的概率(假设输出层用了softmax激活),你可以用numpy.argmax()取出概率最高的类别标签:
    import numpy as np
    y_pred_classes = np.argmax(y_pred, axis=1)
    
  • 如果是二分类任务:y_pred是样本属于正类的概率(假设输出层用了sigmoid激活),你可以设定一个阈值(比如0.5)转换为0/1标签:
    y_pred_classes = (y_pred > 0.5).astype(int)
    

简单来说,你要把xnew输入到模型的predict()方法里,这个方法会帮你把数据喂进模型的输入层,经过所有你搭建的Dense层计算,最终从输出层得到预测结果~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:33:04