使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?
Posted
技术标签:
【中文标题】使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?【英文标题】:After training the Linear Regression model using scikit-learn , How to do predictions for new data points which are not there in original data set? 【发布时间】:2021-03-30 01:30:35 【问题描述】:我正在学习线性回归,我使用 scikit-learn 编写了这个线性回归代码,在进行预测之后,如何对原始数据集中不存在的新数据点进行预测。
在此数据集中,您可以根据工作经验获得人们的薪水。
例如,一个工作经验为 15 年的人的预计工资应该是 [167005.32889087]
Here is image of data set
这是我的代码,
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data = pd.read_csv('project_1_dataset.csv')
X = data.iloc[:,0].values.reshape(-1,1)
Y = data.iloc[:,1].values.reshape(-1,1)
linear_regressor = LinearRegression()
linear_regressor.fit(X,Y)
Y_pred = linear_regressor.predict(X)
plt.scatter(X,Y)
plt.plot(X, Y_pred, color = 'red')
plt.show()
【问题讨论】:
只需将值传递给linear_regressor.fit
...?
@fischmalte 能否请您详细说明一下如何进一步进行我不是这方面的专家?谢谢
【参考方案1】:
使用现有数据集拟合和训练模型后(即在linear_regressor.fit(X,Y)
之后),您可以以相同方式在新实例中进行预测:
new_prediction = linear_regressor.predict(new_data)
print(new_prediction)
new_data
是您的新数据点。
如果你想对特定的随机新数据点进行预测,上面的方式应该足够了。如果您的新数据点属于另一个数据帧,那么您可以将 new_data
替换为包含要预测的新实例的相应数据帧。
【讨论】:
以上是关于使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?的主要内容,如果未能解决你的问题,请参考以下文章
R 与 scikit-learn 中用于线性回归 R2 的交叉验证
一文带你用Python玩转线性回归模型 ❤️加利福尼亚房价预测❤️回归模型评估指标介绍
[机器学习与scikit-learn-29]:算法-回归-普通线性回归LinearRegression拟合线性分布数据的代码示例