⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 run_fkme.m

📁 k-means算法(matlab编写),其中包含测试数据集,可以使用.
💻 M
字号:
function [U, Ue, centroid, dist, W, alfa, obj] = run_fkme(nclass,data,phi,maxiter,distype,toldif,scatter,ntry)
% Fuzzy k means with extragrades
% [U, centroid, dist, W, obj] = run_fkme(nclass,data,phi,maxiter,distype,toldif,scatter,ntry)
% input
%   nclass      = number of class
%   data        = data matrix           data(ndata,ndim)
%   phi         = fuzzy exponent        >1
%   maxiter     = maximum iterations
%   distype     = distance type:        1 = euclidean, 2 = diagonal, 3 = mahalanobis
%   toldif      = convergence tolerance
%   scatter     = scatter around initial membership ~0.1
%   ntry        = number of trial to choose optimal solution
%
% output:
%   U           = membership matrix
%   Ue          = extragrade membership
%   centroid    = centroid              centroid(nclass, ndim)
%   dist        = distance matrix       dist(ndata,nclass)
%   W           = distance norm matrix  
%   alfa        = extragrade parameter
%   obj         = objective function
%
% Budiman (2003)

ndata = size(data, 1);         % number of data 
ndim = size(data, 2);         % number of dimension
Uereq=1/(nclass+1);             % required mean extragrade membership
atry=1/(nclass+1);              % trial value for alfa
%   find best alfa
[alfa,falfa] = fzero(@fkme_obj,atry,[],Uereq,nclass,data,phi,maxiter,distype,toldif);
%   find appropriate centroid & membership function
Uinit= initmember(scatter,nclass,ndata);
[U, Ue, centroid, dist, W, obj] = fkme(nclass,data,Uinit,phi,alfa,maxiter,distype,toldif);    
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -