ожидание ошибки 2D-массива в Python

1

Я пытаюсь сделать следующий ниже код python с линейной регрессией, но я получаю ошибку: " expecting a 2D array got 1D array instead: Array=[16] ". Что может быть неправильным?

 from sklearn.linear_model import LinearRegression
 # Training data
 X = [[6], [8], [10], [14], [18]]
 y = [[7], [9], [13], [17.5], [19]]
 # Create and fit the model
 model = LinearRegression()
 model.fit(X, y)
 print 'A 16" pitta bread should cost: $%.2f' % model.predict([16])[0]

================================================== ================== Traceback (последний последний звонок):

 File "<ipython-input-27-8b7f351334d7>", line 1, in <module>
 runfile('C:/ML/train.py', wdir='C:/ML')

 File "C:\Users\admin\Anaconda3\lib\site- 
 packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
 execfile(filename, namespace)

 File "C:\Users\admin\Anaconda3\lib\site- 
 packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

 File "C:/ML/train.py", line 16, in <module>
 model.predict([12])[0]

 File "C:\Users\admin\Anaconda3\lib\site- 
 packages\sklearn\linear_model\base.py", line 256, in predict
return self._decision_function(X)

   File "C:\Users\admin\Anaconda3\lib\site- 
   packages\sklearn\linear_model\base.py", line 239, in _decision_function
   X = check_array(X, accept_sparse=['csr', 'csc', 'coo'])

File "C:\Users\admin\Anaconda3\lib\site- 
 packages\sklearn\utils\validation.py", line 441, in check_array
"if it contains a single sample.".format(array))

ValueError: Expected 2D array, got 1D array instead:
 array=[16].
Reshape your data either using array.reshape(-1, 1) if your data has a single 
feature or array.reshape(1, -1) if it contains a single sample.
  • 0
    Пожалуйста, включите полную трассировку ошибок.
  • 0
    обратная связь включена
Показать ещё 1 комментарий
Теги:
arrays
scikit-learn
linear-regression

1 ответ

1
Лучший ответ

Вы предоставляете только 1D-массив. Пытаться

>>> print 'A 16" pitta bread should cost: $%.2f' % model.predict([16][0])
>>> A 16" pitta bread should cost: $18.14

Ещё вопросы

Сообщество Overcoder
Наверх
Меню