2016-11-29 70 views
-1

我成功創建我的功能,但是當我把它稱爲我的錯誤:爲什麼我的肘部功能沒有定義?

not defined function ' elbow'

有什麼不對?

import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn 
from sklearn.cluster import KMeans 
import numpy as np 
from scipy.spatial.distance import cdist, pdist 

def eblow(df,n): 
    kMeansVar = [KMeans(n_clusters=NUM_CLUSTERS, n_jobs=1, random_state=0, n_init=1, verbose=True).fit(df) for k in range(1, n)] 
    centroids = [X.cluster_centers_ for X in kMeansVar] 
    k_euclid = [cdist(df, cent) for cent in centroids] 
    dist = [np.min(ke, axis=1) for ke in k_euclid] 
    wcss = [sum(d**2) for d in dist] 
    tss = sum(pdist(df)**2)/df.shape[0] 
    bss = tss - wcss 
    plt.plot(bss) 
plt.show() 

X=np.random.rand(60,45) 
el=elbow(X,30) 
+0

呼叫彎頭(np.random.rand(60,45),6) – samollivier

+2

請逐個檢查名稱。看起來你已經在這個函數的名字中輸入了一個錯字。 – Melebius

+1

應該關閉這個問題。這個問題的唯一原因是一個錯字。 – TheEspinosa

回答

4

您定義了eblow,但我沒有看到函數肘。