kcenter_dd.m

来自「数据挖掘的工具箱,最新版的,希望对做这方面研究的人有用」· M 代码 · 共 60 行

M
60
字号
%KCENTER_DD k-center data description.% %       W = kcenter_dd(A,fracrej,K)% % Train a k-center method with K prototypes on dataset A.% % See also datasets, mappings, dd_roc% Copyright: D.M.J. Tax, R.P.W. Duin, duin@ph.tn.tudelft.nl% Faculty of Applied Physics, Delft University of Technology% P.O. Box 5046, 2600 GA Delft, The Netherlands  function [W,out] = kcenter_dd(a,fracrej,K,nrtries)if nargin < 4, nrtries = 25; endif nargin < 3 | isempty(K), K = 5; endif nargin < 2 | isempty(fracrej), fracrej = 0.05; endif nargin < 1 | isempty(a) % empty nndd	W = mapping(mfilename,{fracrej,K,nrtries});	W = setname(W,'K-Centers data description');	returnendif ~ismapping(fracrej)           %training	a = +target_class(a);     % make sure a is an OC dataset	k = size(a,2);	% train it:	D = sqrt(sqeucldistm(a,a));	[lab,J,dmin] = kcentres(D,K,nrtries);	x = a(J,:);	% obtain the threshold:	d = sqrt(min(sqeucldistm(a,x),[],2));	thr = dd_threshold(d,1-fracrej);	%and save all useful data:	W.x = x;	W.threshold = thr;	W.scale = mean(d);	W = mapping(mfilename,'trained',W,str2mat('target','outlier'),k,2);	W = setname(W,'K-Centers data description');else                               %testing	W = getdata(fracrej);  % unpack	m = size(a,1);	%compute:	out = [sqrt(min(sqeucldistm(+a,W.x),[],2)) repmat(W.threshold,m,1)];	newout = dist2dens(out,W.scale);	W = setdat(a,newout,fracrej);endreturn

⌨️ 快捷键说明

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