首页 > 其他分享 >测试使用

测试使用

时间:2024-03-16 21:56:39浏览次数:25  
标签:均值 样本 使用 算法 cdots 实例 测试 聚类

KNN、K-Means和FCM

k近邻法

k近邻法(k-nearest neighbor, k-NN)是一种基本的分类和回归方法,其分类的主要思想是:给定一个训练数据集,其中实例的类别已经确定,分类时,对于新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。

k-NN三个基本要素

  • k值的选择
  • 距离度量
  • 分类决策规则

k近邻算法

输入:

  1. 训练数据集

\[T = {(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)} \]

其中,\(x_i\in\mathcal{X}\subseteq\mathbb{R}^n\)为实例的特征向量,\(y_i\in\mathcal{Y}=\{c_1,c_2,\cdots,c_K\}\)为实例的类别;

  1. 新实例的特征向量\(x\)

输出: 实例\(x\)所属的类\(y\)

算法流程:

  1. 根据给定的距离度量(如欧氏距离),在训练集\(T\)中找出与\(x\)最近邻的k个点,涵盖这k个点的\(x\)的邻域记作\(N_k(x)\);

  2. 在\(N_k(x)\)中根据分类决策规则(如多数表决)决定\(x\)的类别\(y\):

\[y=\arg\max_{c_j}\sum_{x_i\in N_k(x)}I(y_i=c_j),\quad i=1,2,\cdots,N;j=1,2,\cdots,K \]

其中,\(I\)为指示函数,即当\(y_i=c_i\)时\(I\)为1,否则\(I\)为0.

总结: k-NN是分类算法、有监督学习,需要知道训练实例的类别。

import numpy as np
print("打印测试%f"%(0.3))
打印测试0.300000

K-means聚类

k均值聚类是基于样本集合划分的聚类算法,其聚类的基本思想是:将样本划分为k个子集,构成k个类,将n给样本分到k 个类中,每个样本到其所属类的中心距离最近。每个样本仅属于一个类,故k均值聚类是硬聚类

K均值聚类算法

输入: n个样本的集合\(X\);

输出: 样本集合的聚类结果\(C^{*}\).

算法流程:

  1. 初始化。令\(t=0\),随机选择k个样本作为初始聚类中心\(m^{(0)}=(m_1^{(0)},\cdots,m_l^{(0)},\cdots,m_k^{(0)})\);

  2. 对样本进行聚类。对于固定的聚类中心\(m^{(t)}=(m_1^{(t)},\cdots,m_l^{(t)},\cdots,m_k^{(t)})\),其中\(m_l^{(t)}\)是类\(G_l\)的中心,计算每个样本到类中心的距离(如欧氏距离),将每个样本划分与其最近的类中心的类中,最终得到聚类结果\(C^{(t)}\);

  3. 更新聚类中心。对聚类结果\(C^{(t)}\),计算当前各个类中样本的均值,作为新的类中心\(m^{(t+1)}=(m_1^{(t+1)},\cdots,m_l^{(t+1)},\cdots,m_k^{(t+1)})\);

  4. 如果迭代收敛或符合停止条件(即聚类结果\(C^{(t)}\)和\(C^{(t+1)}\)一样),则输出\(C^{*}=C^{(t)}\);否则,令\(t=t+1\),返回第2步。

总结: k均值聚类是聚类算法、无监督学习,不需要知道训练实例的类别。

import numpy as np

模糊C均值聚类

模糊C均值聚类(Fuzzy C-means, FCM)是一种软聚类方法。硬聚类算法在分类时有一个硬性标准,根据该标准进行划分,分类结果非此即彼。软聚类算法更看重隶属度,隶属度在\([0,1]\)之间,每个对象都有属于每个类的隶属度,并且所有隶属度之和为 1,即更接近于哪一方,隶属度越高,其相似度越高。

图片


标签:均值,样本,使用,算法,cdots,实例,测试,聚类
From: https://www.cnblogs.com/budcs/p/18073976

相关文章

  • IDM的安装与使用
    前言一个文章必须要有一张头图如题,本篇便是一个\(IDM\)的破解使用教程\(IDM\)全称\(Internet\Download\Manager\)是一个最多支持\(32\)线程的下载器话不多讲,下面就开始教程下载\(IDM\)其实可以直接去它的官网下载,在国内还是蛮快的这个就是它的官网了,当然也可以......
  • 使用c#实现23种常见的设计模式
     设计模式通常分为三个主要类别:创建型模式结构型模式行为型模式。这些模式是用于解决常见的对象导向设计问题的最佳实践。以下是23种常见的设计模式并且提供c#代码案例:创建型模式:1.单例模式(Singleton)publicsealedclassSingleton{//创建一个只读的静......
  • AI预测福彩3D第10弹【2024年3月16日预测--第2套算法重新开始计算第2次测试】
            今天继续开始咱们第2套算法的验证,计划每套算法连续测试10期,达到50%的命中率即为较优的模型,可继续使用。老规矩,先上图表,再下结论~                最终,经过研判分析,2024年3月16日福彩3D的七码预测结果如下:百位:1354798十位:324......
  • Tailwind CSS 使用指南
    0x01概述(1)简介TailwindCSS官网:https://www.tailwindcss.cn/TailwindCSS是一个CSS框架,使用初级“工具”类创建布局如Bootstrap等传统CSS框架,其使用的类通常与组件直接相关;然而,Tailwind则采用了不同的方法,它将类作为工具集合,让用户能够自由组合这些工具来构建个性......
  • Linux第79步_使用自旋锁保护某个全局变量来实现“互斥访问”共享资源
    自旋锁使用注意事项:自旋锁保护的“临界区”要尽可能的短。因此,在open()函数中申请“spinlock_t自旋锁结构变量”,然后在release()函数中释放“spinlock_t自旋锁结构变量”,这种方法就行不通了。如果使用一个变量“dev_stats”来表示“共享资源的使用标志”,则“dev_stats>0”,......
  • 实验1 C语言开发环境使用和数据类型,运算符,表达式
    #include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");print......
  • 【性能测试】性能测试各知识第2篇:【附代码文档】
    性能测试完整教程(附代码资料)主要内容讲述:性能测试大纲。。。。。。。。。。。。。。全套笔记资料代码移步:前往gitee仓库查看感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~性能测试工具-LoadRunner学习目标1.理解基于VuGen的脚本录制2.掌握参数化的使用方法3.掌握关联......
  • perl 用 XML::LibXML DOM 解析 Freeplane.mm文件,生成测试用例.csv文件
    Freeplane是一款基于Java的开源软件,继承Freemind的思维导图工具软件,它扩展了知识管理功能,在Freemind上增加了一些额外的功能,比如数学公式、节点属性面板等。在云计算中,解析XML元素和属性是一种常见的操作,因为XML是一种常见的数据交换格式,可以用来表示各种不同的数据结......
  • 第三章 vim 以及 重点第四章 使用DataGrip mysql
    16/3/2024如没有特殊说明使用软件操作一律都是FinalShell第三章Vim编辑器的使用1)三种操作模式命令模式:使用快捷指令操作的文件内容插入模式(编辑模式):可以输入文字信息,此时快捷指令失效末行模式(低行模式),底线命令模式):可以保存退出或者替换文字等只能编辑文本内容不......
  • STL——Vector的使用
    目录一.Vector的简介二.Vector的使用1.创建vector2.vector的初始化2.1.花括号直接初始化2.2.小括号初始化2.2.1一个参数的情况2.2.2.两个参数的情况2.3.用另一个vector初始化三.vector的元素访问1.at2.operator[]3.迭代器访问四.vector的常用函数1.empty()2.siz......