python - SKLearn 使用新数据进行预测
问题描述
我已经使用 SKLearn 尝试了线性回归。我的数据类似于:卡路里摄入量 | 重量。
150 | 150
300 | 190
350 | 200
基本上是由数字组成,但我已将数据集拟合到线性回归模型中。
我感到困惑的是,我将如何使用新数据进行预测,比如我有 10 个新的卡路里摄入量,我希望它来预测体重?
regressor = LinearRegression()
regressor.fit(x_train, y_train)
y_pred = regressor.predict(x_test) ??
但是,我将如何仅制作 10 个新的卡路里摄入数据数,并将其作为我希望回归器预测的测试集?
解决方案
您是对的,您只需调用predict
模型的方法并传入新的看不见的数据进行预测。现在它也取决于你的意思new data
。您是否引用了您不知道结果的数据(即您不知道权重值),或者这些数据是否用于测试您的模型的性能?
对于新数据(预测):
你的方法是正确的。您只需打印y_pred
变量即可访问所有预测。
您知道各自的权重值并且想要评估模型:
确保您有两个单独的数据集:x_test(包含特征)和 y_test(包含标签)。像使用变量一样生成预测y_pred
,然后您可以使用许多性能指标来计算其性能。最常见的是均方根,您只需将y_test
andy_pred
作为参数传递。这是sklearn 提供的所有回归性能指标的列表。
如果不知道这 10 个新数据点的权重值:
使用train_test_split将您的初始数据集拆分为 2 部分:training
和testing
. 您将有 4 个数据集:x_train
、y_train
、x_test
、y_test
。
from sklearn.model_selection import train_test_split
# random state can be any number (to ensure same split), and test_size indicates a 25% cut
x_train, y_train, x_test, y_test = train_test_split(calories_eaten, weight, test_size = 0.25, random_state = 42)
x_train
通过拟合和训练模型y_train
。然后通过预测x_test
并将这些predictions
与实际结果进行比较来评估模型的训练性能y_test
。这样您就可以了解模型的性能。此外,您可以相应地预测weight values
新10
数据点的值。
作为初学者,也值得进一步阅读该主题。这是一个简单的教程。
推荐阅读
- python-3.x - Python 3 - 二进制模式下的 open() 不会创建文件名中包含特殊字符的文件
- javascript - Node.js:从该应用安装的节点模块中获取应用文件夹的路径
- javascript - 如何使用触摸事件跟踪手指运动
- android - Fabric Crashlytics 卡在构建和运行上 - IDE 错误
- javascript - 如何在服务器的 p5.js 中正确加载图像
- android - 如何使用 LiveData + Retrofit 在 30 分钟内缓存数据?
- git - 正确处理 Jenkins 管道中每个分支的单独凭据
- r - 有没有办法使用 rpy2(在 jupyter notebook 中)修复包 'afex' 的安装?
- github - github 可以有条件地对过时的分支执行状态检查吗?
- slack - Slack webhook:发送slack时可以直接下载的字符串化json?