data-science - 为具有多维数据的 K 均值选择质心
问题描述
集群 1:
数据 0 [1, 2, 3, 4, 5]
数据 1 [4, 32, 21, 3, 2]
数据 2 [2, 82, 51, 2, 1] #集群结束
这些是一些组成的值(维度 = 5),代表 k-means 的集群成员。为了计算质心,我知道取平均值。但是,我不清楚我们是取所有这些特征的总和的平均值还是按列取平均值。
我的意思的一个例子:
一切的平均值
总和 = 1 + 2 + 3 + 4 + 5 + 4 + 32 + 21.... + 1 /(总长度)
质心 = [总和,总和,总和,总和,总和]
平均特征
sum1 = 第一个 col 的平均值 = (1 + 4 + 2) / 3
sum2 = 第二列的平均值 = (2 + 32 + 82) / 3
...
质心 = [sum1, sum2, sum3, sum4, sum5]
据我所知,第一个似乎是正确的方法。然而,第二个对我来说更有意义。谁能解释哪个是正确的,为什么?
解决方案
它的平均功能。质心将是
质心^T = ( (1 + 4 + 2) / 3 , (2 + 32 + 82) / 3, .... , (5 + 2 + 1) / 3)
= ( 7/3, ..., 8/3)
这是有道理的,因为您想要一个应该作为集群中每个数据点的代表的向量。因此,对于质心的每个分量,我们生成所有点的平均值,将其用作代表集群的 R^5 空间中的样本。
推荐阅读
- ios - 我的 url 不返回 nil,而是在 swift 中返回空字符串
- c# - 找不到 appbundles 二进制文件 (Design Automation V3)
- ember.js - 如何从 EmberJS 中的另一个 REST url 检索相同的模型
- django - 有没有更好的方法在 admin.py 中显示一长串条目
- java - 带有Spring Boot和多个模式的Liquibase,如何指定执行顺序
- java - 是否可以为 MySQL 数据库视图生成实体代码?
- python - 使用循环过滤熊猫数据框中的多列
- python - 如何在没有元类冲突的情况下将泛型类型与 PyQt 子类一起使用?
- c# - 实体框架不级联删除
- c# - ML.Net - 无法加载保存的模型