SMMP:一种基于稳定成员资格的多峰聚类算法(Matlab代码实现)

news2025/1/13 15:34:32

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

由于现有的单原型聚类算法大多不适用于复杂形状的聚类,因此提出了许多多原型聚类算法。然而,自动估计聚类数量和检测复杂形状仍然具有挑战性,并且解决这些问题通常依赖于用户指定的参数,并且可能非常耗时。该文提出一种基于稳定隶属度的自调优多峰聚类算法(SMMP),无需迭代即可实现快速、自动、有效的多原型聚类。设计一种动态关联-转移方法,应用密度峰聚类技术,学习子聚类生成过程中点对子聚类中心的代表性。根据学习代表性,采用基于边界链路的连通性测度实现子簇的高保真相似性评估。同时,基于合理的聚类在聚类阈值变化时应具有相对稳定的隶属状态的假设,SMMP可以分别自动识别子簇和簇的数量。此外,SMMP 专为大型数据集而设计。在合成数据集和真实数据集上的实验结果证明了SMMP的有效性。

📚2 运行结果

部分代码:

function resultshow(data,CL)

PtSize = 2;

NC = length(unique(CL));
label_set = unique(CL);


[N,M] = size(data);

figure('Position',[400 400 350 300]);
cmap = UiGetColormap(NC);

for i=1:NC
    l=label_set(i);
    if M~=3
        if l~=0
            scatter(data((CL==l),1),data((CL==l),2),PtSize+5,'o','filled','MarkerFaceColor',cmap(l,:),'MarkerEdgeColor',cmap(l,:));
        else
            scatter(data((CL==l),1),data((CL==l),2),PtSize+50,'x','MarkerEdgeColor','k');
        end
    else
        if l~=0
            scatter3(data((CL==l),1),data((CL==l),2),data((CL==l),3),PtSize+5,'o','filled','MarkerFaceColor',cmap(l,:),'MarkerEdgeColor',cmap(l,:));
        else
            scatter3(data((CL==l),1),data((CL==l),2),data((CL==l),3),PtSize+5,'x','filled','MarkerEdgeColor','k');
        end
    end
    hold on
end


set(gca,'XTickLabel','');
set(gca,'YTickLabel','');
set(gca,'ZTickLabel','');
if M~=3
    axis off
end


function [cmap]=UiGetColormap(NC)
colormap jet
cmap=colormap;
cmap=cmap(round(linspace(1,length(cmap),NC+1)),:);
cmap=cmap(1:end-1,:);

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

Junyi Guan, Sheng Li, Xiongxiong He, Jinhui Zhu, Jiajia Chen, Peng Si (2022) SMMP: A Stable-Membership-based Auto-tuning Multi- Peak Clustering Algorithm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

伦茨LENZE GDC操作指南

1、GDC软件综述 GDC程序可以“在线模式”和“离线模式”使用: 离线模式 可以在没有与目标系统(控制器)相连接条件下使用。该功能允许离线设定参数、编程等工作。 在线模式 通过PC的串口、并口或系统总线实现GDC与目标系统(控制器…

376. 机器任务——最小点覆盖+匈牙利算法

有两台机器 A,B 以及 K 个任务。 机器 A 有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。 两台机器最开始都处于模式 0。 每个任务既可以在 A 上执行,也可以在 B…

艾美捷游离巯基检测试剂盒基本参数和特点说明

游离硫醇(即蛋白质上的游离半胱氨酸、谷胱甘肽和半胱氨酸残基)的检测和测量是研究许多生物系统中的生物过程和事件的基本任务之一。 艾美捷游离巯基检测试剂盒提供了一种简单、可重复和灵敏的工具,用于测定样品(即血浆、血清、组织…

3D格式转换工具HOOPS Exchange助力3D 打印软件实现质的飞跃

HOOPS SDK是用于3D工业软件开发的工具包,其中包括4款工具,分别是用于读取和写入30多种CAD文件格式的HOOPS Exchange、专注于Web端工程图形渲染的HOOPS Communicator、用于移动端和PC端工程图形渲染的HOOPS Visualize、支持将3D数据以原生3D PDF、HTML和标…

解决电脑C盘空间不足,发现微信和qq文件占用了大量内存

项目场景: 电脑C盘空间不足,需要隔一段时间清理垃圾,分析占用空间的文件,将C盘文件迁移到E盘。 问题描述 C盘提示空间不足 原因分析: 通过扫描磁盘发现微信和qq文件占用了几十G的内存,由于微信和qq的一…

C++成员函数当作参数调用的两种方式

平时编程时,多用来将数据进行传参,在考虑回调场景下我们会将函数单做参数传给被调用函数,让被调用函数在时机成熟时进行调用。在某些场景下,需要将类的成员函数当作参数进行回调,此时定义成员函数形参的方式通常有两种…

我的python学习经历及资源整理

对于小白来说,有个人引导会比自学要高效的多,尤其容易坚持不下去的小伙伴。可以试试下面这个入门课程,不用本地安装Python环境,能直接在网页上敲代码,还有大牛老师带着入门,能少走很多弯路!只要…

直播弹幕系统(五)- 整合Stomp替换原生WebSocket方案探究

直播弹幕系统(五)- 整合Stomp替换原生WebSocket方案探究前言一. STOMP 协议简单介绍1.1 客户端编码基础1.2 服务端编码基础1.2.1 SimpMessagingTemplate1.2.2 SendTo 和 MessageMapping二. SpringBoot整合STOMP并实现聊天室2.1 基础配置和依赖2.2 WebSoc…

华为EC6108V9C免拆卡刷固件包

华为EC6108V9C免拆卡刷固件包 固件特点: 1、修改dns,三网通用; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、无开机广告,无系统更新,不在被强制升级; 4、大量精简内置的没用的软件&…

Redis高级篇之最佳实践

Redis高级篇之最佳实践 本章内容 Redis 键值设计批处理优化服务端优化集群最佳实践 笔记整理自 b站_黑马程序员Redis入门到实战教程 1. Redis键值设计 优雅的key结构 Redis 的 Key 虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式&a…

Docker容器中安装Jenkins

众所周知,jenkins是现在比较流行的一种工具,今天就记录一下在工作中如何使用了jenkins, 由于我使用的使用Linux(Debain 11)开发环境使用了jdk1.8,会跟最新版的jenkins(官方介绍最新版要jdk11支持)有不良的化学反应,所以把jenkins放到了容器中…

Hive+Spark离线数仓工业项目实战--项目介绍及环境构建(2)

Docker的介绍 了解Docker的基本功能和设计 - 为什么要用Docker? - 什么是Docker? 路径 - step1:生产环境的问题 - step2:容器的概念 - step3:Docker的设计 实施 生产环境的问题 - 运维层面:一…

Windows下的通用进程守护程序(持续更新中),高仿supervisor。

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到…

【Three.js入门】标准网格材质、置换贴图、粗糙度贴图、金属贴图、法线贴图

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

【实时数仓】DWS层的定位、DWS层之访客主题计算(PV、UV、跳出次数、计入页面数、连续访问时长)

文章目录一 DWS层与DWM层的设计1 设计思路2 需求梳理3 DWS层定位二 DWS层-访客主题计算1 需求分析与思路2 功能实现(1)封装VisitorStatsApp,读取Kafka各个流数据a 代码b 测试(2)合并数据流a 封装主题宽表实体类Visitor…

CMakeList

目录 .1 简介 .2 常用命令 2.1 指定 cmake 的最小版本 2.2 设置项目名称 2.3 设置编译类型 2.4 指定编译包含的源文件 2.4.1 明确指定包含哪些源文件 2.4.2 搜索所有的 cpp 文件 2.4.3自定义搜索规则 2.5 查找指定的库文件 2.6. 设置包含的目录 2.7. 设置链接库搜索…

中国晶振市场规模将增长至2026年的263.21亿元,国产市场未来可期

晶振作为频率控制和频率选择基础元件,广泛应用于资讯设备、移动终端、通信及网络设备、汽车电子、智能电表、电子银行口令卡等领域,随着新兴电子产业、物联网的快速发展,及以 5G、蓝牙 5.0、Wi-Fi 6 等无线通信新技术的广泛应用,预…

基于Python的Flask WEB框架实现后台权限管理系统(含数据库),内容包含:用户管理、角色管理、资源管理和机构管理

#基于Flask实现后台权限管理系统 重磅!!!!!!!!!!! 全新的风格界面,完全的前后端分离。基于ElementUI,前端代码基于RuoYi…

plotly parallel_coordinates平行坐标可视化

使用plotly画平行坐标图,代码如下: 其中数据使用excel的csv格式(当然可以使用其它格式),csv的标头是参数名。 import plotly.express as px import numpy as np import pandas as pd# df px.data.iris() df pd.read…

【爬虫】JS逆向解决反爬问题系列3—sign破解

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…