import numpy as npfrom sklearn import datasetsdef FCM(X, c_clusters=3, m=2, eps=1e-2):# 随机二维数组shape(150,3),初始化隶属度矩阵membership_mat = np.random.random((len(X), c_clusters))# 使Xi的隶属度总和为1,即Xi隶属于每个类别的数值求和为1membership_mat = np.divide(membership_mat, np.sum(membership_mat, axis=1)[:, np.newaxis])while True:# 超参数m=2working_membership_mat = membership_mat ** m# 根据公式计算聚类中心点Centroids.shape->(3,4)  C_jCentroids = np.divide(np.dot(working_membership_mat.T, X),np.sum(working_membership_mat.T, axis=1)[:, np.newaxis])# 该矩阵保存所有实点到每个聚类中心的欧式距离n_c_distance_mat = np.zeros((len(X), c_clusters))  # shape->(150,3)for i, x in enumerate(X):for j, c in enumerate(Centroids):n_c_distance_mat[i][j] = np.linalg.norm(x - c, 2)  # 计算l2范数(欧氏距离)new_membership_mat = np.zeros((len(X), c_clusters))# 更新模糊矩阵Ufor i, x in enumerate(X):for j, c in enumerate(Centroids):new_membership_mat[i][j] = 1. / np.sum((n_c_distance_mat[i][j] / n_c_distance_mat[i]) ** (2 / (m - 1)))# 聚类到隶属度变化<eps时,退出循环。if np.sum(abs(new_membership_mat - membership_mat)) < eps:breakmembership_mat = new_membership_matreturn np.argmax(new_membership_mat, axis=1)if __name__ == '__main__':iris = datasets.load_iris()print(FCM(iris.data))

模糊聚类作业-鸢尾花分类相关推荐

  1. 作业5:SVM实现鸢尾花分类

    作业5:SVM实现鸢尾花分类 1. SVM 介绍 支持向量机(support vector machines)是一种二分类模型,是定义在特征空间上的间隔最大的线性分类器.它的目的是寻找一个超平面来对样 ...

  2. 机器学习笔记: 聚类 模糊聚类与模糊层次聚类(论文笔记 Fuzzy Agglomerative Clustering :ICAISC 2015)

    前言:模糊层次聚类是参考了论文"A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forec ...

  3. 聚类算法 距离矩阵_模糊聚类算法

    模糊聚类算法 1.如何理解模糊聚类 事物间的界线,有些是明确的,有些则是模糊的.当聚类涉及到事物之间的模糊界线时,需要运用模糊聚类分析方法. 如何理解模糊聚类的"模糊"呢:假设有两 ...

  4. 模糊聚类算法(FCM)和硬聚类算法(HCM)的VB6.0实现及

    程序实现: 上面的公式看似复杂,其实我们关心的就是最后的5个计算步骤,这里说明一下,有的书上以隶属度矩阵的某一范数小于一定值作为收敛的条件,这也可,不过计算量稍微要大一点了. 程序采用VB6.0编制, ...

  5. m基于ACO蚁群优化的FCM模糊聚类算法matlab仿真

    目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 蚁群算法是通过对自然界中真实蚂蚁的集体行为的观察,模拟而得到一种仿生优化算法,它具有很好的并行性 ...

  6. FCM模糊聚类 学习笔记

    就总结注释一下 怕忘了 我看的博客地址(模糊聚类算法 - 知乎) 逐步模糊聚类: 逐步聚类法类是中心点聚类法.(上述博客原话) 逐步聚类法是一种基于模糊划分的模糊聚类分析法.它是预先确定好待分类的样本 ...

  7. 模糊数学学习笔记 5:模糊聚类

    个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 数据标准化 2. 建立模糊相似矩阵 1.1 相关系数类 1.2 距离类 1.3 贴近度类 3. 聚类 4. 其他问题 5. 模糊C均值法(F ...

  8. python鸢尾花分类svm测试集_使用SVM对鸢尾花分类

    使用SVM对鸢尾花分类 百度AI Studio中的一个入门项目,增加了自己在实践时的一些注释,对小白来说阅读更顺畅.源码和数据在github上. 任务描述: 构建一个模型,根据鸢尾花的花萼和花瓣大小将 ...

  9. java 鸢尾花分类算法_鸢尾花分类算法实现 java

    使用的贝叶斯分类算法实现的,编程语言为java.是我本学期修的数据库与数据挖掘的课程的期末课程作业,算法本身不难,思路理清楚了很简单. 先看看鸢尾花(Iris)数据集(下图为数据集的部分截图),鸢尾花 ...

最新文章

  1. CF786B Legacy(线段树优化建边模板 + 最短路)
  2. PostgreSQL何以支持丰富的NoSQL特性?
  3. navicat 批量修改列数据
  4. Mysql多表查询(案例3)
  5. 程序员面试系列——选择排序
  6. numpy基础(part14)--积分
  7. linux mysql提交_MySQL 事务提交过程
  8. 什么叫组网_家庭wifi,如何组网最合适
  9. file结构体中private_data指针的疑惑
  10. python中的随机函数的用法_python中的随机函数小结
  11. 程序员的情人节「GitHub 热点速览 v.22.07」
  12. Docker安装ELK详细步骤(生产试验,适用所有版本)
  13. 【技能】Zoho CRM系统无代码集成智齿客服、企业微信群机器人方法
  14. 四色定理c语言,阅读下列程序说明和C代码,将应填入(n)处。【程序5说明】著名的四色定理指出..._考试资料网...
  15. 科技如何激发女权主义并改变男性气质
  16. PS快速美白磨皮方法
  17. python求零点极点增益_传递函数的零点、极点怎么解释,有什么用?
  18. 出乎意料,5G最大赢家是苹果而不是华为
  19. EXT151(QRC)安装步骤
  20. Fate1.6 支持的机器学习算法

热门文章

  1. 2021-08-27 网安实验-Windows系统渗透测试之.NET框架0Day漏洞(CVE-2017-8759)
  2. carbide.c++ 如何生成sisx文件
  3. java无法读取appletviewer_Java设计环境和警告:不能读取AppletViewer的属性
  4. 【SA8295P 源码分析】01 - SA8295P 芯片介绍
  5. COOX基础培训之DiagTool
  6. C# 文件以txt文档模式存储,存储地址的设置 saveFileDialog控件的使用
  7. VMware虚拟机 Linux 安装与配置网络
  8. 计算机毕业设计 SSM网上外卖订餐系统 外卖配送管理系统 外卖快餐配送系统Java
  9. MBA联考英语二考试最新考试大纲出来啦
  10. 网安学习第一天——创建一个WNMP站点