💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
摘要:
非参数聚类算法,包括寻找峰值、寻找谷值和单峰集算法,能够在度量空间中识别具有一般形状的点簇。然而,大多数寻找峰值和寻找谷值算法是迭代的,所得到的簇取决于起始分类和假定的簇数量。在本文中,我们提出了一种非迭代的基于图论的非参数聚类分析方法。所得到的算法由一个单一标量参数控制,不需要起始分类,并且能够确定簇的数量。所得到的簇是单峰集。
详细文章见第4部分。
📚2 运行结果
部分代码:
Inputs:
X: Matrix of data to be clustered. Each row corresponds
to an object in the data set and each column is an
attribute of the object.
r: A threshold distance that governs the behavior of the
algorithm.
Outputs:
cls: A vector of the cluster indices of the objects
pnode: A vector of the parent object of each object
%}
[N,~]=size(X);
pnode=1:N; % all objects start out as orphans
r2=r^2; % square r for quicker comparison
%
% Create graph
%
G = graph;
G = addnode(G,N);
for i=2:N % for all i,j such that j < i
for j=1:i-1
if (sum((X(i,:)-X(j,:)).^2)<=r2) % neighbors?
G = addedge(G,i,j);
end
end
end
if numedges(G)==0 % r too small?
cls=1:N; % each object in its own class
return
end
%
% Create parents: neighbor with the most neighbors
% Also identify orphans
%
nbrs=degree(G); % count neighbors
M=0;
cls=zeros(N,1);
for n=1:N
for m=neighbors(G,n)' % search neighborhood
if (nbrs(m)>nbrs(pnode(n))) ||...
((nbrs(m)==nbrs(pnode(n)))&&m>pnode(n))
pnode(n)=m;
end
end
if pnode(n)==n % orphan?
% Create new cluster
M=M+1;
cls(n)=M;
end
end
%
% Cluster the rest recursively
%
for n=1:N
pn=n;
while cls(pn)==0
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
🌈4 Matlab代码、文章
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取