聚类的代码问题

来源:6-15 聚类-Kmeans-2

哲川恒五郎

2018-09-13

老师,打扰了,
在k-means那一讲中有这样一段代码:
for i, dataset in enumerate(data):
X, Y= dataset
if not clt_entity:
clt_res=[0 for item in range(len(X))]
else:
clt_entity.fit(X)
clt_res=clt_entity.labels_.astype(np.int)
我有些地方不理解,
就是X, Y= dataset 中的X, Y是指图像中的横纵坐标吗?
dataset应该是对应的data里的circles, moons, blobs, random_data这些,为什么能将dataset同时赋给X, Y,而不会报错?
clt_entity.fit(X)这里为什么只要 fit X?

谢谢老师!

写回答

1回答

途索

2018-09-13

同学你好,dataset由两个数组组成[X,Y],X是一个数组,里面有[X00,X01],[X10,X11],[X20,X21]……这些,也就是说,X中已经包括了横纵坐标了。Y也是一个数组,里面包括了这些点代表的聚类簇Label,本例中没有用到Y,这种形式的产出是由上面make_blob等函数的返回决定的。X, Y= dataset,这是Python自带的语法规则,data_set本身就是由两个数组组成的,所以,这样也没毛病。说到这儿,你应该可以理解fit中为什么只有X了吧,因为X中是包含了横纵坐标的。

0
0

Python3数据分析与挖掘建模实战,快速胜任数据分析师

快速胜任数据分析岗位,逆袭成为数据掘金时代的抢手人才!

2204 学习 · 489 问题

查看课程