iT邦幫忙

0

python K-means ValueError: setting an array element with a sequence.

上面是正常的 只要元素同個大小的就不會有問題

print(array)
[[0.104 0.923 0.105 0.108]
 [0.107 0.253 0.107 0.251]]
kmeans_fit = cluster.KMeans(n_clusters = 2).fit(array)
cluster_labels = kmeans_fit.labels_
ppt=kmeans_fit.labels_
print(ppt)
[0 1]

只要元素數量有不同就會出現ValueError: setting an array element with a sequence.

[list([0.107, 0.111, 0.11, 0.108]) list([0.107, 0.115, 0.113, 0.109])
 list([0.104, 0.923, 0.105, 0.108]) list([0.11, 0.112, 0.107, 0.108])
 list([0.107, 0.253, 0.107, 0.251]) list([0.106, 0.128])]
[[0.107, 0.111, 0.11, 0.108], [0.107, 0.115, 0.113, 0.109], [0.104, 0.923, 0.105, 0.108], [0.11, 0.112, 0.107, 0.108], [0.107, 0.253, 0.107, 0.251], [0.106, 0.128]]
ValueError: setting an array element with a sequence.

我原本是使用list 上網查很多人轉成array就可以,但無法解決 有人遇過然後解決的嗎?

froce iT邦大師 4 級 ‧ 2018-09-06 19:50:00 檢舉
你資料維度不同,當然報錯啊...
hoolada iT邦新手 5 級 ‧ 2018-09-07 17:49:45 檢舉
我知道 可是 這搜尋到的值因為有限定範圍 例如0-100個值 搜最大後取後10個值 他可能在95才搜到所以他只有5個 。
所以可能有維度不一樣的 那該怎麼半?
有想過PCA把所有維度都下降到一樣的 但他還是一樣需要同個維度才能一起降維!!

尚未有邦友回答

立即登入回答