2017-08-07 47 views
0

我在使用tabpy時遇到了這個問題。我使用的樣本 - supterstore數據集,我想集羣中使用的總和([盈利])和SUM([銷售])的子類,但它返回的錯誤:Tabpy連接問題[tableau&python]

ValueError : n_samples=1 should be >= n_clusters=2.

這裏是我的腳本:

SCRIPT_str(" 
    from sklearn.cluster import KMeans 
    kmeans = KMeans(n_clusters=2) 
    tmp=[] 
    for i in range(len(_arg1)): 
     tmp.extend([[_arg1[i],_arg2[i]]]) 
    KMmodel = kmeans.fit(tmp) 
    labels = KMmodel.labels_ 
    return labels", 
sum([Profit]),sum([Sales])) 
+0

而不是'tmp = []'和下面兩行,你可能想'tmp = zip(_arg1,_arg2)'? –

回答

0

嘗試改變的N-集羣選項1,檢查

+0

什麼時候讓KMeans「決定」哪個k = 1個聚類,每個示例應該聚類是否有用? –

0

可以使用numpy的column_stack。這應該工作:

SCRIPT_STR(
「 
import numpy as np 
from sklearn.cluster import KMeans 
X = np.column_stack([_arg1,_arg2]) 

kmeans = KMeans(n_clusters=2).fit(X) 
return kmeans.labels_.tolist() 
」, SUM([Profit]),SUM([Sale]) 
)