2016-07-26 21 views
0

Hier ist mein Code in Python 3: enter image description here Nach der Montage obj.predict (7) entsprechen [7]Warum wird die Vorhersage nicht dargestellt?

Was mache ich falsch:

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() 

auf diese Weise meine gezeichneten Daten sehen ? Ich erwartete, dass 7,7 Punkte geplottet werden.

+0

Was ist Ihre erwartete Ausgabe? – DavidG

Antwort

1

Die Plotmethode verwendet ein Array für die X-Achse und ein Array für die Y-Achse und zeichnet eine Zeile gemäß diesen Arrays. Sie haben versucht, einen Punkt unter Verwendung eines Verfahrens für Linien ...

zu ziehen für Ihren Code (ich es getestet und es funktionierte) zu arbeiten schalten Sie diese Zeile:

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

mit diesem Linie:

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

Die Streuung Methode wird den Punkt gegeben (7, 7) und setzen Sie es in die Grafik, wie Sie es wollten.

Ich hoffe das hat geholfen :)