六、聚类算法

一、聚类概念

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,一经查实,立即删除!

相关文章

【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…

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

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

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…

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

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

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

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

一、信用卡卡号识别

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

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…

回溯法初步

本文为参考公众号所做的笔记。 代码随想录原文 回溯法本质是穷举,穷举所有可能,然后选出我们想要的答案,所以它并不是一个高效的算法。但是由于有些问题本身能用暴力搜出来就不错了,所以回溯法也有很多的应用。 回溯法解决的问题…

二、文档扫描OCR

一、思路分析 首先,拿到一张文档,我们需要对文档进行预处理操作,再进行轮廓检测,因为就算拿到文档轮廓,但是这些轮廓也有可能是歪歪扭扭的,这时候需要通过一系列的透视变换操作,将文档摆正。通…

leetcode 77. 组合 思考分析

目录1、题目2、回溯法思路3、参考其他思路,更深入了解这个问题4、剪枝优化可能需要回顾到的知识文章:1、常用算法总结(穷举法、贪心算法、递归与分治算法、回溯算法、数值概率算法)2、回溯法初步删除vector容器中的对象元素的三种方法:pop_back, erase与…

三、全景拼接

一、项目所涉及到的一些知识点 Ⅰ,BF(Brute-Force)暴力匹配:把两张图像的特征点全部给算出来,然后使用归一化的欧氏距离比较这两张图像上特征点之间的大小关系,越小越相似。 SIFT算法 import cv2 import numpy as np import ma…

leetcode 216. 组合总和 III 思考分析

可能需要回顾的文章; leetcode 77. 组合 思考分析 1、题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。 2、递归 这一题和之前…

约束执行区域(CER)

受约束的执行区域 (CER) 是创作可靠托管代码的机制的一部分。CER 定义一个区域,在该区域中公共语言运行库 (CLR) 会受到约束,不能引发可使区域中的代码无法完全执行的带外异常。在该区域中,用户代码受到约束,不能执行会导致引发带…

四、模拟英语四六级答题卡识别阅卷评分

一、思路分析 首先拿到答题卡照片的时候,需要对照片进行一系列预处理操作,通过透视变换将图像摆正方便后续的操作。每一道题五个选项,有五道题,通过字典存放准确答案。没有依次对答题卡进行轮廓检测,这里采用的是正方…

leetcode 17. 电话号码的字母组合 思考分析

题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 思考与递归程序 解空间树的宽度是输入数字对应的字符的个数,深度是输入的数字的个数…