1 计算相似度矩阵 W
2计算度矩阵 D
3计算拉普拉斯矩阵L=D-W
4计算L的特征值,将特征值从小到大排序,取前k个特征值.将这个特征值向量转换为矩阵
5通过其他聚类算法对其进行聚类,如k-means
详细公式和概念请到 大佬博客
相比较PCA降维中取前k大的特征值对应的特征向量,这里取得是前k小的特征值对应的特征向量 。但是上述的谱聚类算法并不是最优的 , 接下来我们一步一步的分解上面的步骤,总结一下在此基础上进行优化的谱聚类的版本 。
python实现
例子一:使用谱聚类从噪声背景中分割目标
效果图
例子2:分割图像中硬币的区域
效果图
注意
1)当聚类的类别个数较小的时候,谱聚类的效果会很好,但是当聚类的类别个数较大的时候,则不建议使用谱聚类;
(2)谱聚类算法使用了降维的技术 , 所以更加适用于高维数据的聚类;
(3)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效 。这点传统聚类算法(比如K-Means)很难做到
(4)谱聚类算法建立在谱图理论基础上,与传统的聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
(5)谱聚类对相似度图的改变和聚类参数的选择非常的敏感;
(6)谱聚类适用于均衡分类问题,即各簇之间点的个数相差不大 , 对于簇之间点个数相差悬殊的聚类问题,谱聚类则不适用;
参考
谱聚类算法介绍
sklearn
【python谱分解函数 python 分解】关于python谱分解函数和python 分解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 儿童模拟经营做饭游戏大全,做饭类的模拟经营游戏
- 链栈的程序实现python,链栈的实现代码
- 直播素材录制,直播素材录制怎么弄
- Java面向对象举例代码 使用java实现面向对象编程的总结
- 电脑怎么查看内置显卡配置,怎么查看电脑上的显卡内存条
- 华为怎么设置网络游戏优先,华为怎么设置网络游戏优先使用
- 横屏壁纸怎么弄成竖屏安卓,横屏壁纸怎么改成竖屏
- java打印机代码_ java打印命令
- 调视频画质的微信小程序,微信制作视频画质怎么调