首页 > 解决方案 > 使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?

问题描述

我正在学习线性回归,我使用 scikit-learn 编写了这个线性回归代码,在做出预测之后,如何对原始数据集中不存在的新数据点进行预测。

在此数据集中,您将根据工作经验获得人们的薪水。

例如,一个有 15 年工作经验的人的预测薪水应该是 [167005.32889087]

这是数据集的图像

这是我的代码,

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()

标签: pythonmachine-learningscikit-learnlinear-regression

解决方案


在使用现有数据集拟合和训练模型后(即在 之后linear_regressor.fit(X,Y)),您可以以相同的方式在新实例中进行预测:

new_prediction = linear_regressor.predict(new_data)
print(new_prediction)

new_data您的新数据点在哪里。

如果您想对特定的随机新数据点进行预测,上述方式应该足够了。如果您的新数据点属于另一个数据框,那么您可以替换new_data为包含要预测的新实例的相应数据框。


推荐阅读