MATLAB函数myplot,模糊聚类FCM的MATLAB实现

本文介绍了如何使用MATLAB实现模糊聚类FCM算法,包括myfcm、mydist和myplot三个函数。其中myfcm进行模糊聚类,mydist计算欧氏距离,myplot用于可视化隶属度矩阵。测试数据集采用鸢尾花数据集,经过迭代,约8次后目标函数开始收敛,结果显示第一类与其他类区分明显,第二类和第三类区分度较低。
摘要由CSDN通过智能技术生成

FCM的原理在之前的博文中写过。现在按照它的算法流程,用MATLAB实现。共包括三个函数(myfcm.m, mydist.m, myplot.m)

测试数据集用的是鸢尾花(iris)数据集。下载地址  http://download.csdn.net/detail/u013657981/9241121

1. myfcm.m

function [U, V,objFcn] = myfcm(data, c, T, m, epsm)

% fuzzy c-means algorithm

% 输入: data: 待聚类数据,n行s列,n为数据个数,s为每个数据的特征数

%        c  :  聚类中心个数

%        m  :   模糊系数

% 输出: U  :   隶属度矩阵,c行n列,元素uij表示第j个数据隶属于第i类的程度

%        V  :  聚类中心向量,c行s列,有c个中心,每个中心有s维特征

% written by Zhang Jin

% see also  :  mydist.m  myplot.m

if nargin < 3

T = 100;   %默认迭代次数为100

end

if nargin < 5

epsm = 1.0e-6;  %默认收敛精度

end

if nargin < 4

m = 2;   %默认模糊系数值为2

end

[n, s] = size(data);

% 初始化隶属度矩阵U(0),并归一化

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值