K means 簇中心更新的计算问题
FUTUREEEEEE opened this issue · comments
Xia Qiang Tang commented
def cal_groupcenter(group, Xarray):
center = np.zeros(Xarray.shape[1])
for i in range(Xarray.shape[1]): #range(4)
for n in group:
center[i] += Xarray[n][i] #计算当前类中第i个特征的数据之和
center = center / Xarray.shape[0] #计算各个特征的均值
return center
作者您好!十分感谢你开源的机器学习代码,受益良多,想请教一下:在上面的函数中,为什么使用center = center / Xarray.shape[0] (簇的和除以总样本个数),而不是center = center / len(group) 即每一簇的中心点的均值应该是该簇的和除以该簇的数目
代码位置如下⬇ 十分感激!
Aoni Zhu commented
同样有疑问,我觉得你是对的
def cal_groupcenter(group, Xarray): center = np.zeros(Xarray.shape[1]) for i in range(Xarray.shape[1]): #range(4) for n in group: center[i] += Xarray[n][i] #计算当前类中第i个特征的数据之和 center = center / Xarray.shape[0] #计算各个特征的均值 return center
作者您好!十分感谢你开源的机器学习代码,受益良多,想请教一下:在上面的函数中,为什么使用center = center / Xarray.shape[0] (簇的和除以总样本个数),而不是center = center / len(group) 即每一簇的中心点的均值应该是该簇的和除以该簇的数目 代码位置如下⬇ 十分感激!
同样有疑问并且觉得你的想法是对的
lingjjcn commented
这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。
赵艺博 commented
def cal_groupcenter(group, Xarray): center = np.zeros(Xarray.shape[1]) for i in range(Xarray.shape[1]): #range(4) for n in group: center[i] += Xarray[n][i] #计算当前类中第i个特征的数据之和 center = center / Xarray.shape[0] #计算各个特征的均值 return center
作者您好!十分感谢你开源的机器学习代码,受益良多,想请教一下:在上面的函数中,为什么使用center = center / Xarray.shape[0] (簇的和除以总样本个数),而不是center = center / len(group) 即每一簇的中心点的均值应该是该簇的和除以该簇的数目 代码位置如下⬇ 十分感激!
我赞成您的看法,并且我觉得应该将那个分母修改为 group.shape[0]