六、聚类算法

一、聚类概念

1,通俗易懂而言,聚类主要运用于无监督学习中,也就是将没有标签的东西如何分为几堆儿。
2,无监督学习即没有标签,不知道这些玩意到底是啥。当然,有监督学习就是由标签,我们是提前知道这些玩意是啥。
3,聚类问题存在的问题难点:你咋知道这些玩意儿是一类?怕啥?你通过啥进行判断分类的?也就是如何评估和如何调参问题。

二、K-MEANS算法

Ⅰ,基本概念

1,需要得到簇的个数,即需要指定K值。需要划分多少类。
2,质心:均值,即向量各维取平均。例如五个点,其质心坐标为((x1+x2+x3+x4+x5)/5,(y1+y2+y3+y4+y5)/5)
3,距离的度量:常用欧几里得距离和余弦相似度(先标准化)
4,优化目标:在这里插入图片描述,求出每个点到哪个质心距离最近

Ⅱ,算法思路

①首先取得一些数据点
在这里插入图片描述
②假设K设置成2,随便找取两个初始化点
在这里插入图片描述
③开始迭代所有的绿色点,看看离哪个质心(红色还是蓝色)最近,离谁近就跟谁一个簇
在这里插入图片描述
④把所有红色和蓝色的点全部取出来,求取质心,重新获取质心,更新质心参数
在这里插入图片描述
⑤重新对所有的数据进行求取离哪个质心最近就跟哪个质心为同一簇
在这里插入图片描述
⑥继续将所有的红色和蓝色点再次分别求取质心,再对所有点进行遍历,看离哪个质心距离近就和哪个质心为同一簇
在这里插入图片描述
⑦再次将所有的红色和蓝色点分别求取质心,再次遍历所有点,找离哪个质心最近归为一簇,直到所有的点归属簇不再发生变动为止

Ⅲ,优劣势

优点:简单、快速、适合一般情况下的常规数据集
缺点:K值不容易确定、复杂度和样本呈线性关系、很难发现任意形状的簇
在这里插入图片描述

Ⅳ,K-Means可视化展示

K-Means可视化展示网站

三、DBSCAN算法

Ⅰ,基本概念

DBSCAN,Density-Based Spatial Clustering of Applications with Noise
画圈--->找点--->发展下线开始洗脑

1,核心对象:若某个点的密度达到算法设定的阈值则其为核心点。即 r 邻域内点的数量不小于 minPts
2,ϵ-邻域的距离阈值:设定的半径r
3,直接密度可达:若某点p在点q的 r 邻域内,且q是核心点则p-q直接密度可达。
4,密度可达:若有一个点的序列q0、q1、…qk,对任意q(i)—q(i-1)是直接密度可达的 ,则称从q0到qk密度可达,这实际上是直接密度可达的“传播”。
5,密度相连:若从某核心点p出发,点q和点k都是密度可达的 ,则称点q和点k是密度相连的。
6,边界点:属于某一个类的非核心点,不能发展下线了
7,噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的

在这里插入图片描述
A:核心对象、B,C:边界点、N:离群点

Ⅱ,算法思路

①输入参数D,即你的数据集
输入参数ϵ,即指定半径
输入参数MinPts,密度阈值,也就是画出来的圈内最少得有这么多点才行
在这里插入图片描述
②参数选择
1,半径ϵ,可以根据K距离来设定:找突变点K距离:给定数据集P={p(i); i=0,1,…n},计算点P(i)到集合D的子集S中所有点之间的距离,距离按照从小到大的顺序排序,d(k)就被称为k-距离。
2,MinPts: k-距离中k的值,一般取的小一些,多次尝试

Ⅲ,优劣势

优势:不需要指定簇个数、可以发现任意形状的簇、擅长找到离群点(检测任务)、两个参数就够了
劣势:高维数据有些困难(可以做降维)、参数难以选择(参数对结果的影响非常大)、Sklearn中效率很慢(数据削减策略)

Ⅳ,DBSCAN可视化展示

DBSCAN可视化展示网站

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

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

相关文章

Apache服务器通过.htaccess文件设置防盗链

用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分。所谓盗链,是指其他网站直接链接我们网站上的文件,一般来 说,盗链的对象大多为很耗带宽的大体积文件,如图片、视频等。这样造成的后…

【C++grammar】string类和array类

目录1、C11的string类1、创建 string 对象2、追加字符串append函数3、为字符串赋值assign函数4、at, clear, erase, and empty函数5、比较字符串compare()6、获取子串at() 、substr()函数7、搜索字符串find()8、插入和替换字符串insert() 、replace()9、字符串运算符10、string…

六、聚类算法实战

所有代码块都是在Jupyter Notebook下进行调试运行,前后之间都相互关联。 文中所有代码块所涉及到的函数里面的详细参数均可通过scikit-learn官网API文档进行查阅,这里我只写下每行代码所实现的功能,参数的调整读者可以多进行试验调试。多动手…

超图软件试用许可操作步骤_软件中的操作步骤

超图软件试用许可操作步骤The software comprises of three things: Program code, Documentation, and the Operating Procedures. The Program code is the entire software code. The Documentation is produced while the development of the software itself for the time…

mysql 2013错误

参考资料: 自由呼吸的世界-mysql 2013错误解决 windows下mysql日志文件开启 今天,莫名其妙的来了个mysql 2013错误,导致无法登陆mysql gui工具,而且dos也进不去,提示ping 127.0.0.1,百度google后: 这是在使…

【嵌入式系统】STM32配置FreeRTOS以及利用多线程完成流水灯、按键、蜂鸣器、数码管工作

目录1、利用STM32CubeMX配置FreeRTOS2、完成流水灯、按键、蜂鸣器数码管工作1、在gpio.c和.h文件里面书写并声明按键扫描和led、数码管子程序2、在freertos.c文件里面设置全局变量并且在各自任务中载入程序3、关于FreeRTOS的注意事项1、利用STM32CubeMX配置FreeRTOS 假设我们之…

学好Java开发的关键七步

在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述如何学好Java开发的关键七步,更多Java专业知识,广州疯狂Java培训为你讲…

css模糊_如何使用CSS模糊图像?

css模糊Introduction: 介绍: Sometimes even the professional developers tend to forget the various basic properties which can be applied to solve very simple problems, therefore the fundamentals of developing a website or web page should be very …

七、决策树算法和集成算法

一、决策树算法 Ⅰ,树模型 决策树:从根节点开始一步步走到叶子节点(决策) 所有的数据最终都会落到叶子节点,既可以做分类也可以做回归 对于分类:是由众数决定的,例如爷爷奶奶妈妈都是负数&…

leetcode 538. 把二叉搜索树转换为累加树 思考分析

题目 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件&…

SQL中GROUP BY语句与HAVING语句的使用

最近在学习SQL Server相关知识,一直不知道怎么使用GROUP BY语句,经过研究和练习,终于明白如何使用了,在此记录一下同时添加了一个自己举的小例子,通过写这篇文章来加深下自己学习的效果,还能和大家分享下&a…

scala语言示例_var关键字与Scala中的示例

scala语言示例Scala var关键字 (Scala var keyword) The var Keyword in scala is used to declare variables. As Scala does not require explicit declaration of data type of the variable, var keyword is used. The variable declared using the var keyword as mutable…

八、决策树算法实验可视化展示

一、树模型的可视化展示 官网下载安装包 右击管理员身份运行,直接下一步即可。 配置环境变量: 将安装好的可视化软件的bin文件夹路径添加到系统环境变量Path下即可 打开cmd,输入dot -version,出现相关信息即安装成功 二、决策…

关于在页面中针对不同版本的IE浏览器实现不同的JS或者CSS样式

一般会用到<!--[if IE]>这里是正常的html代码<![endif]--> 条件注释只能在windows Internet Explorer(以下简称IE)下使用&#xff0c;因此我们可以通过条件注释来为IE添加特别的指令。因为这只是IE浏览器支持的注释。 1&#xff0c;条件注释的基本结构和HTML的注释…

机器学习笔记:PCA的简单理解以及应用建议

用notability做的笔记&#xff0c;比较随意&#xff0c;对于第五点的PCA错误使用需要特别强调。 目录1、PCA与线性回归2、PCA主成分数量选择3、压缩重现4、PCA应用建议5、PCA的错误使用1、PCA与线性回归 2、PCA主成分数量选择 3、压缩重现 4、PCA应用建议 5、PCA的错误使用

关于asp.net中的错误提示“将截断字符串或二进制数据。 语句已终止。”

好久没有更新博客了&#xff0c;今天在写asp.net网站的时候&#xff0c;出现了这个问题。错误提示“将截断字符串或二进制数据。 语句已终止。”通过调试&#xff0c;发现在插入数据的时候&#xff0c;由于插入的数据的字符或者二进制数据的长度大于原来定义的类型的长度。及保…

c# 无法将类型隐式转换_C#中的隐式类型数组

c# 无法将类型隐式转换C&#xff03;隐式类型数组 (C# Implicitly Typed Arrays) Like implicitly typed variables, we can also declare an array without specifying its type such type of arrays are known as Implicitly typed arrays. 像隐式类型的变量一样&#xff0c;…

一、信用卡卡号识别

一、思路分析 大体思路&#xff1a;首先拿到一张银行卡&#xff0c;我们得有银行卡号数字的0-9样式的模板&#xff0c;然后再通过不同数字的轮廓的外接矩形来进行匹配&#xff0c;最终识别出银行卡号所对应的数字。 银行卡数字模板&#xff1a; 银行卡信息&#xff1a; 拿到…

bootstrap网格系统_如何使用Bootstrap网格系统?

bootstrap网格系统In the last article, we learned how to create a simple page of Bootstrap? Now, we will learn what is "Grid System" in Bootstrap and how we can use or implement it in our bootstrap page? As you know bootstrap is a mobile-friendl…

有关WriteableBitmap和BitmapImage之间的相互转换

对于WP7中图形处理有关WriteableBitmap和BitmapImage之间的相互转换&#xff0c;给大家几个简单实用的方法。一、WriteableBitmap转为BitmapImage对象var bi new BitmapImage(); bi.SetSource(wb.ToImage().ToStream()); //其中wb是WriteableBitmap对象。 二、BitmapImage转为…