基于示例,尝试使用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
有什么想法吗?
答案 0 :(得分:0)
根据您的代码,findClosestCentroids
和computeCentroids
函数的缩进不正确,请参考以下代码段。
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