我尝试使用两个数组进行练习,目的是绘制它们 – 首先是查看它们,然后创建一个线性回归模型,接着拟合数据并进行预测。
最后,我想绘制一条区分它们的线性回归线,但无法成功 – 它没有绘制出来。这是我的代码:
k_true = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
k_pred = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21]
plt.scatter(k_true,k_pred)
model = LinearRegression()
model.fit([k_true],[k_pred])
predictor = model.predict([k_pred])
plt.scatter(k_true,k_pred)
plt.plot([k_true],predictor,color="red")
回答:
您绘制了错误的自变量,并且predictor
需要替换为predictor[0]
,因为它包含了一个列表中的列表。您需要使用k_true
作为x。
plt.scatter(k_true, k_pred)
plt.plot(k_pred, predictor[0], '-k');