【E-11】ValueError: setting an array element with a sequence


一、錯誤提示

kmeans = MiniBatchKMeans(n_clusters= i, batch_size=40, random_state=33) kmeans.fit(pcm_energys) #報錯點

   

二、原因分析

網查了好多資料大致分為這幾種情況:

  1. 輸入到模型里的數據沒嚴格轉換成 np.arry()形式,
  2. 矩陣沒對齊,個別行成員數量與其他不一致等。
  3. 數據dtype不對或者說不一致,應該統一成 np.float64, int或者其他。

第一種情況舉例:

這里要求是徹底的轉換,不含嵌套,比如arry([[list([12.0, 25.0, 32.0, 47.0, 54.0, 66.0]), list([20.0, 21.0, 36.0, 41.0, 53.0, 69.0])]), 這種情況不徹底,會繼續報錯。

應該轉換成:arry([[12.0, 25.0, 32.0, 47.0, 54.0, 66.0], [20.0, 21.0, 36.0, 41.0, 53.0, 69.0]].

   

三、問題處理

本人為第二種情況,通過打印數據維度,發現輸入的值的維度不一致。剔除掉維度不一致的數據即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM