日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《机器学习实战》第十章错误总结

發(fā)布時間:2024/9/30 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《机器学习实战》第十章错误总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這一章完成后發(fā)現(xiàn)自己的基礎(chǔ)還不牢固,先來復(fù)習(xí)下基礎(chǔ)
( )———元組tuples
[ ]———列表list
{ }———字典dict
尤其是列表list,一定要看清有多少個[ ]

下邊的錯誤就是由于基礎(chǔ)不牢導(dǎo)致的

return np.matrix(centList), clusterAssment

提示錯誤ValueError: matrix must be 2-dimensional
或者TypeError: list indices must be integers or slices, not tuple
找到centList的賦值語句

centList[bestCentToSplit] = bestNewCents[0, :] centList.append(bestNewCents[1, :])

根據(jù)錯誤提示可以看出是centList的數(shù)值有問題,加一條語句

print(centList)

可以看到輸出大概是這樣的

[matrix([[-122.54868607, 45.51882187]]), matrix([[-122.65589505, 45.49371211]]), matrix([[-122.842918, 45.646831]]), matrix([[-122.7680632, 45.4665528]]), matrix([[-122.68216889, 45.56573522]])]

所以很容易就知道怎么改了,賦值語句不應(yīng)該把matrix型數(shù)據(jù)直接賦過去,應(yīng)該先把數(shù)據(jù)轉(zhuǎn)換格式再賦值,即

centList[bestCentToSplit] = bestNewCents[0, :].tolist() centList.append(bestNewCents[1, :].tolist())

我滿心歡喜地以為應(yīng)該成功了,結(jié)果提示錯誤

ValueError: matrix must be 2-dimensional

輸出的centList為

[[[-122.55924017857146, 45.52238271428571]], [[-122.65691647999998, 45.50956080000001]], [[-122.755383, 45.5949895]], [[-122.7680632, 45.4665528]], [[-122.40092849999999, 45.46897]]]

根據(jù)輸出我們可以很容易知道多了一個[ ],使得centList的秩為1,所以接下來就是怎么去掉一個[ ],我想了很久(基礎(chǔ)不牢固),后來查了一些資料,發(fā)現(xiàn)應(yīng)該改成這樣

centList[bestCentToSplit] = bestNewCents[0, :].tolist()[0] centList.append(bestNewCents[1, :].tolist()[0])

然后,成功。

總結(jié)

以上是生活随笔為你收集整理的《机器学习实战》第十章错误总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。