基于鸢尾花数据集实施自组织神经网络聚类分析

2024-05-09 16:52

本文主要是介绍基于鸢尾花数据集实施自组织神经网络聚类分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于鸢尾花数据集实施自组织神经网络聚类分析

  • 1. 自组织神经网络的基础知识
  • 2. 鸢尾花数据集的自组织分类
  • 3. SOM的无监督聚类

1. 自组织神经网络的基础知识

自组织神经网络也称自组织映射(SOM)或自组织特征映射(SOFM),是一种使用非监督式学习来产生训练样本的输入空间的一个低维(通常是二维)离散化的表示的人工神经网络(ANN)。自组织映射与其他人工神经网络的不同之处在于它使用一个邻近函数来保持输入空间的拓扑性质。
在这里插入图片描述
在这里插入图片描述

2. 鸢尾花数据集的自组织分类

# 导入必要的库
import numpy as np
from minisom import MiniSom
import matplotlib.pyplot as plt
from sklearn import datasets# 载入鸢尾花数据集
iris = datasets.load_iris()
data = iris.data
labels = iris.target# 数据归一化
data = (data - np.min(data, axis=0)) / (np.max(data, axis=0) - np.min(data, axis=0))# 定义 SOM 网络的参数
som_shape = (10, 10)  # SOM 网格的形状
som = MiniSom(som_shape[0], som_shape[1], data.shape[1], sigma=1.0, learning_rate=0.5)# 初始化权重并开始训练
som.random_weights_init(data)
som.train_random(data, 100)  # 100 次迭代
# 创建 U-matrix
umatrix = som.distance_map()
print(umatrix)
# 绘制 U-matrix
plt.figure(figsize=(4,4))
plt.pcolor(umatrix.T, cmap='bone_r', alpha=0.8)
plt.colorbar()# 绘制聚类中心
for i, target in enumerate(labels):x, y = som.winner(data[i])plt.text(x + 0.5, y + 0.5, str(target), color=plt.cm.rainbow(target / 2.0), fontdict={'weight': 'bold', 'size': 11

这篇关于基于鸢尾花数据集实施自组织神经网络聚类分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973955

相关文章

spring boot中数据验证validated的使用

前言 spring-boot中在Controller层里面可以用@validated来校验数据再进入业务逻辑层,如果数据异常则会统一抛出异常,方便异常中心统一处理。 比如,我们判断一个输入的用户名长度限制以及密码的正则验证. 使用流程 1.Controller层数据使用@validated注解 @PostMapping("/userLogin")@ResponseBodypublic

Pytorch学习笔记_3_构建一个神经网络

Neural Networks 神经网络可以通过使用torch.nn包来创建 nn依赖于autograd来定义模型并求导。 一个nn.Module类包含各个层和一个forward(input)前向传播方法,该方法返回output 例如这个分类数字图像的网络: 这是个简单的前馈神经网络,它接受一个输入,然后一层接一层的传递,最后输出计算结果 一个神经网络的典型训练过程: 定义包

跨域数据流动:数据提取过程中的治理与安全双轮驱动

跨域数据流动:数据提取过程中的治理与安全双轮驱动 随着信息技术的飞速发展,跨域数据流动已成为现代社会的常态。从医疗记录到金融交易,从社交媒体到企业运营,数据在各个领域之间频繁交换,为社会发展带来了极大的便利。然而,这种跨域数据流动也带来了治理和安全的双重挑战。本文将从治理和安全两个维度,探讨在数据提取过程中的双轮驱动策略。 一、数据治理:构建有序的跨域数据流动体系 在跨域数据流动的背景下,数

【阅读】《head first javascript》第二章——存储数据

复习要点 脚本通常能以以下三种基本数据类型表示:文本(text)、数字(number)、布尔(boolean)变量是可能在脚本过程中改变的数据常量是不会改变的数据关键字var用于创建变量,关键字const用于创建常量javascript数据的类型在设定数据为特定值的同时建立。另外,变量值的类型可以改变(弱类型语言)虽然javascript并未严格地要求,常量名称采用全部大写、变量名称采用小写驼

摸鱼大数据——大数据导论

大数据导论 1、概念 大数据时代: 万物皆数据​数据概念: 人类的行为及产生的事件的一种记录称之为数据​数据价值: 对数据的内容进行深入分析,可以更好的帮助了解事和物在现实世界的运行规律   2、大数据诞生 大数据的诞生: 跟随着互联网的发展的,当全球互联网逐步建成(2000年左右),各大企业或政府单位拥有了海量的数据亟待处理。基于这个前提逐步诞生了以分布式的形式(即多台服务

GAN实例基于神经网络

目录 1.前言 2.实验 1.前言         需要了解GAN的原理查看对抗生成网络(GAN),DCGAN原理。         采用手写数字识别数据集 2.实验 import argparseimport osimport numpy as npimport mathimport torchvision.transforms as transformsfrom

循环神经网络RNN的初学

1.循环神经网络的特点 x1——>y1的同时会产生a1,它包含了我们第一列处理信息的一些特点,然后这个a1就会被传送到y2上去,那么x2——>y2的序列中就会包含前一个的特点,依次类推,这就是我们的RNN结构**(前面的信息经过处理后,会作为一个新的输入作为后面信息的输入)**。 用公式表明: 2.RNN具体是怎么样实现的 1、得到语句对应的灰度数值 2、如何将词汇进行数值化:建立一

Json数据载体

Json是一种轻量级的数据载体(和XML相比) 一般格式为 {id:2,name:"李四",salary:3000,city:['北京','上海','深圳']} json可以应用在js定义对象中,如下 原始定义对象 <br/><script type="text/javascript">function Person(id,name,salary){this.id = id;this.n

抓包数据拓展_小迪网络安全笔记

一.Request请求数据包数据格式: 1.请求行:包括请求类型/请求资源路径.协议版本和类型; 例: 2.请求头:一些键值对,浏览器与web服务器之间都可以发送,特定某种含义;yi 3.空行:请求头与请求体之间用空行隔开; 4.请求体:要发送的数据(一般post提交会使用);例如:user=123&pass=123 例: 我们打开网页随便搜索内容: 抓包数据:

Covalent Network(CQT)长期数据设施,支持基于 “blob” 方案、总锁仓价值达 54 亿美元的头部EVM L2

Covalent Network(CQT)是领先的历史数据可用性网络,通过其在 Web3 中超过 225 个区块链上的结构化数据基础设施,为数千名客户和开发人员提供支持。Covalent Network(CQT)正在与未来以太坊的进步需求相匹配,尤其是考虑到以太坊改进提案 4844(EIP-4844)的情况下。凭借强大的基础设施,用户和开发人员可以从不断增长的数据库中获取大量可验证的结构化数据