Python indentationError数据聚类

时间:2018-12-06 12:28:40

标签: python cluster-analysis

基于示例,尝试使用Python识别数据中的某些群集。在编程时,我是一个初学者。 预期代码会在

行出现缩进的块错误

centroids = np.zeros((K,X.shape[1]))(波顿的第4行)

这是我的代码:

import os
print(os.listdir("Q:/Research/Python/Clusters/"))

# Any results you write to the current directory are saved as output.

ex7data2 = pd.read_csv("Q:/Research/Python/Clusters/Sadales_day_change.csv",header=None)
ex7data2.head()

ex7data2.plot.scatter(x=0,y=1)

# Calculate the nearest center of each sample
def findClosestCentroids(X, centroids):
distance = np.zeros((len(X),len(centroids)))
for i in range(len(X)):
    for j in range(len(centroids)):
        distance[i,j] = np.linalg.norm(X[i,:]-centroids[j,:])

return np.argmin(distance,axis=1)

# Update cluster center
def computeCentroids(X, idx, K):
centroids = np.zeros((K,X.shape[1]))
for i in range(K):
    centroids[i,:] = np.mean(X[idx == i],axis = 0)

return centroids

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

根据您的代码,findClosestCentroidscomputeCentroids函数的缩进不正确,请参考以下代码段。

import os
print(os.listdir("Q:/Research/Python/Clusters/"))

# Any results you write to the current directory are saved as output.

ex7data2 = pd.read_csv("Q:/Research/Python/Clusters/Sadales_day_change.csv",header=None)
ex7data2.head()

ex7data2.plot.scatter(x=0,y=1)

# Calculate the nearest center of each sample
def findClosestCentroids(X, centroids):
    distance = np.zeros((len(X),len(centroids)))
    for i in range(len(X)):
        for j in range(len(centroids)):
            distance[i,j] = np.linalg.norm(X[i,:]-centroids[j,:])

    return np.argmin(distance,axis=1)

# Update cluster center
def computeCentroids(X, idx, K):
    centroids = np.zeros((K,X.shape[1]))
    for i in range(K):
        centroids[i,:] = np.mean(X[idx == i],axis = 0)

    return centroids