我有一个数据集,其中每个特征都是 0 或 1(如 BBOW)。我想对数据进行聚类,使得一个点可以属于多个聚类(软分配)。我对此进行了搜索,发现可以将模糊 k 模式应用于此问题。由于我是 ML 编码的新手,是否有任何可用于模糊 k 模式或任何其他类似算法的在线实现?
分类数据的模糊聚类
数据挖掘
机器学习
聚类
k-均值
模糊逻辑
2022-02-12 21:33:26
1个回答
Fuzzy C-means 是在 Python 中实现的,你只需要在谷歌上搜索它,例如这个,但是你也可以自己实现它。
我的回答将更多地与您的任务有关。您有分类数据,这意味着您的问题中的任何数据点都位于高维simplex的拐角处。一个简单的例子是三角形三个顶点上的 3 个点。您将如何对它们进行聚类,甚至更多,您将如何对它们进行模糊聚类?(因为它们总是相互连接,这使得模糊聚类有点毫无意义)
我建议这样做:找到你的点之间的相似性分数。例如,作为一种非常初始和简单的方法,捕获两个点具有相同值的属性的标准化数量。
a = [1,0,0]
b = [1,0,1]
similarity = 2/3
您可以考虑更多相似性度量(卡方检验呢?)。当您在样本对之间获得这些分数时,您可以构建亲和矩阵并对其应用谱聚类。
但是“模糊”一词在哪里?(或软聚类特性)
光谱聚类的工作原理如下:
- 你得到亲和力矩阵
- 捕获第二小的特征值对应的特征向量
- 该特征向量是您的数据的表示形式。集群而不是数据本身!在这里,您可以使用软聚类方法对特征向量元素进行聚类。
- 请参阅本节第 2 节中的这些步骤。