Линейная регрессия: ValueError: x и y должны иметь одинаковое первое измерение, но иметь формы (10, 1) и (1, 1) - PullRequest
0 голосов
/ 19 марта 2020

Я все еще новичок ie в Pyhton, и я пытаюсь показать график линейной регрессии, но получил некоторую ошибку

это код:

 linear_regression = lm.LinearRegression()
 linear_x = data.Luas.values.reshape(-1,1)
 linear_y = data.Harga.values.reshape(-1,1)
 linear_regression.fit(linear_x,linear_y)
 print("Intercept = ",linear_regression.intercept_)
 print("Coefisien = ",linear_regression.coef_)
 print("Persamaan menggunakan fungsi Linear Regression :")
 print("Y=",linear_regression.intercept_,"+",linear_regression.coef_,"X")
 print("Prediksi Luas Tanah (X) = 1800")
 print("Maka:")
 result = linear_regression.predict([[1800]])
 print("Harga Tanah(Y) = ",result,"jt")


 plt.scatter(linear_x,linear_y,color='black')
 plt.plot(linear_x,linear_regression.predict([[1800]]),color='blue')
 plt.title('Luas Tanah/Area VS Harga/Price')
 plt.ylabel('Harga Tanah/Price (jt)')
 plt.xlabel('Luas Tanah/Area')
 plt.show()

ошибка:

Traceback (most recent call last):
 File "D:/Tugas/smt6/data mining/tugasKlasifikasi/klasifikasi.py", line 55, in <module>
  plt.plot(linear_x,linear_regression.predict([[1800]]),color='blue')
 File "C:\Users\Thor\Anaconda3\envs\coba\lib\site-packages\matplotlib\pyplot.py", line 2796, in 
  plot is not None else {}), **kwargs)
 File "C:\Users\Thor\Anaconda3\envs\coba\lib\site-packages\matplotlib\axes\_axes.py", line 1665, 
  in plot lines = [*self._get_lines(*args, data=data, **kwargs)]
 File "C:\Users\Thor\Anaconda3\envs\coba\lib\site-packages\matplotlib\axes\_base.py", line 225, 
  in __call__yield from self._plot_args(this, kwargs)
 File "C:\Users\Thor\Anaconda3\envs\coba\lib\site-packages\matplotlib\axes\_base.py", line 391, 
  in _plot_args x, y = self._xy_from_xy(x, y)
 File "C:\Users\Thor\Anaconda3\envs\coba\lib\site-packages\matplotlib\axes\_base.py", line 270, 
  in _xy_from_xy "have shapes {} and {}".format(x.shape, y.shape))
 ValueError: x and y must have same first dimension, but have shapes (10, 1) and (1, 1)

Большое спасибо за помощь!

1 Ответ

0 голосов
/ 19 марта 2020

Ваша проблема не связана с линейной регрессией. Появляется, когда вы хотите построить:

plt.plot(linear_x,linear_regression.predict([[1800]]),color='blue')

И проблема в том, что linear_x имеет форму (10, 1), а ваш prediction имеет форму (1, 1). Таким образом, вы не можете сделать это. Они должны обеспечивать одинаковую первую форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...