我对这个coursera当然线性回归(https://www.coursera.org/specializations/machine-learning)线性回归的过度拟合
我已经解决使用graphlab训练,但想尝试的经验和学习sklearn追求课程2。我为此使用了sklearn和熊猫。
该模型过度适用于数据。我怎样才能解决这个问题?这是代码。
这些是我得到的系数。
[-3.33628603e-13 1.00000000e + 00]
poly1_data = polynomial_dataframe(sales["sqft_living"], 1)
poly1_data["price"] = sales["price"]
model1 = LinearRegression()
model1.fit(poly1_data, sales["price"])
print(model1.coef_)
plt.plot(poly1_data['power_1'], poly1_data['price'], '.',poly1_data['power_1'], model1.predict(poly1_data),'-')
plt.show()
绘制的线是这样的。如你所见,它连接每个数据点。 ,这是输入数据
也许你想问你的问题上stats.stackexchange,因为它是不是一个真正的编程问题。 避免在线性回归中避免过度使用损失函数,通常使用Ridge或Lasso回归。 最后,如果你的训练和测试集之间有完美的相关性,我建议检查一下你是否使用相同的数据为两者;) – LoicM
感谢您的建议,将在那里提出我的问题。另外,我只是试图从训练模型的系数中画出线。但是创建的这条线甚至不是一条直线。这是如何发生的?给定一个截距和一个斜坡。 –
请为此提出一个单独的问题,说明您使用的代码,捕获您获得的内容以及它与预期结果的差异。 我(和其他很多人)会很乐意帮助! – LoicM