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