《python机器学习经典实例》Expected 2D array, got 1D array instead和Reshape your data either using array.问题(已解决)
生活随笔
收集整理的這篇文章主要介紹了
《python机器学习经典实例》Expected 2D array, got 1D array instead和Reshape your data either using array.问题(已解决)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:
ValueError: Expected 2D array, got 1D array instead:
array=[2. ?1.5].
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.
自己最初改這個bug的時候重點關注了第二點,然后各種百度、百度、百度。
一般的解決辦法都是人家提示的修改建議:數組后面添加reshape(1,-1). ?
但是這個方法并不能解決我的問題,即使reshape之后,還會報同樣的錯。
這就提示我們:要認真一點,看所有的報錯信息,這時發現了第一點問題:
即真正的問題出在:
print(i, '-->', classifier.decision_function(i)[0])這行語句。
問題分析:python版本問題
如果跟的是《python機器學習經典實例》這本書(版本是python2.x ),而自己的版本是3.x的,就會出現很多小問題需要改。讓人頭疼的是很多時候,這類型的bug不容易發現,也沒有修改建議。比如這個題,爆出了第一個錯誤,但是沒給具體錯誤原因,也沒有修改建議,讓人直接忽略,以為是第二個報錯,做了半天無用功。
問題解決:
將提示出錯的語句改成下面:
print(i, '-->', classifier.decision_function([i])[0])注意區別:i ——>[i]
?
測試成功!
總結
以上是生活随笔為你收集整理的《python机器学习经典实例》Expected 2D array, got 1D array instead和Reshape your data either using array.问题(已解决)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy中where函数的用法
- 下一篇: GridSearchCV.grid_sc