2016-07-26 62 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)並將它放在圖中,就像你想要的那樣。

我希望這有助於:)