这是我在Python 3中的代码:
from sklearn import linear_model
import numpy as np
obj = linear_model.LinearRegression()
allc = np.array([[0,0],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]])
X=allc[:,0]
X=X.reshape(-1, 1)
Y=X.reshape(X.shape[0],-1)
obj.fit(X, Y)
print(obj.predict(7))
import matplotlib.pyplot as plt
plt.scatter(X,Y,color='black')
plt.plot(X[0],obj.predict(7),color='black',linewidth=3)
plt.show()
我的绘图数据看起来像这样: 拟合后,obj.predict(7)等于[7。]
我做错了什么?我预计会看到7.7点被绘制。
答案 0 :(得分:1)
绘图方法是为X轴采用数组,为Y轴采用数组,并根据这些数组绘制线。您尝试使用行的方法绘制点 ...
为了让您的代码正常工作(我已对其进行了测试并且有效)请切换此行:
plt.plot(X[0],obj.predict(7),color='black',linewidth=3)
这一行:
plt.scatter(7,obj.predict(7),color='black',linewidth=3)
分散方法将采用给定的点(7,7)并将其放入图中,就像你想要的那样。
我希望这有助于:)