我正在学习线性回归,我使用scikit-learn编写了这个线性回归代码,在做出预测后,如何对原始数据集中不存在的新数据点进行预测?
在这个数据集中,你会得到根据工作经验的人们的薪水数据。
例如,一个工作经验为15年的人的预测薪水应该是[16705.32889087]
这是我的代码,
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressiondata = 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(X,Y)
之后),你可以以相同的方式对新实例进行预测:
new_prediction = linear_regressor.predict(new_data)print(new_prediction)
其中new_data
是你新的数据点。
如果你想对特定的随机新数据点进行预测,上述方法应该足够。如果你的新数据点属于另一个数据框,那么你可以用包含要预测的新实例的相应数据框替换new_data
。