Python 缩进错误数据聚类

Python indentationError data clustering

尝试根据示例识别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

有什么想法吗?

根据您的代码,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