2016-07-26 76 views
0

这是我在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() 

我绘制的数据看起来是这样的: enter image description here 性拟合后,obj.predict(7)等于[7]

我在做什么错?我预计看到7.7点被绘制。

+0

您的预期产出是什么? – DavidG

回答

1

绘图方法为X轴和Y轴阵列取数组,并根据这些数组绘制。您尝试使用一种方法来绘制线 ...

为您的代码的工作(我已经测试它和它的工作)切换这一行:

plt.plot(X[0],obj.predict(7),color='black',linewidth=3) 

与此line:

plt.scatter(7,obj.predict(7),color='black',linewidth=3) 

scatter方法将采用给定的点(7,7)并将它放在图中,就像你想要的那样。

我希望这有助于:)