2016-07-26 5 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) 

с этим линия:

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

метод рассеяния будет принимать точку заданного (7, 7) и положить его на графике так же, как вы хотели.

Надеюсь, это помогло :)

Смежные вопросы