当前位置: 首页 > news >正文

机器学习(聚类算法)

一、K-means

1.基本概念

聚成多少个簇:需要指定K的值
距离的度量:一般采用欧式距离

距离:

曼哈顿距离:

欧式距离:

2.聚类效果的评价方式:轮廓系数

a(i):对于第i个元素xi,计算xi与其同一个簇内所有其他元素距离的平均值,表示了簇内的凝聚程度。
b(i):选取xi外的一个簇,计算xi与该簇内所有点距离的平均距离,遍历其他所有簇,取所有平均值中最小的一个,表示簇间的分离度。
计算所有x的轮廓系数,求出平均值即为当前聚类的整体轮廓系数。

轮廓系数的评价:

1.轮廓系数范围在[-1,1]之间。该值越大,越合理。
2.si接近1,则说明样本i聚类合理;
3.si接近-1,则说明样本i更应该分类到另外的簇;
4.若si近似为0,则说明样本i在两个簇的边界上。

3.K-means的API参数

classsklearn.cluster.KMeans(n_clusters=8,init=’kmeans++’,n_init=10,max_iter=300,tol=0.0001,precompute_distances=’auto’,verbose=0,random_state=None,copy_x=True,n_jobs=None,algorithm=’auto’)[source]

n_clusters:类中心的个数,就是要聚成几类。【默认8个】

init初始化的方法,默认为'k-means++'

(1)'k-means++':用一种特殊的方法选定初始质心从而能加速迭代过程的收敛.

(2)‘random’:随机从训练数据中选取初始质心。

(3)如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。

4.优缺点

优点:简单,快速,适合常规的数据集。

缺点:1.K值难以确定。2.很难发现任意形状的簇。

二、DBSCAN

1.概念

基于密度的带噪声的空间聚类应用算法,它是将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并在噪声的空间数据集中发现任意形状的聚类。

2.实现过程

1.输入数据集
2.指定半径
3.指定密度阈值

3.DBSCAN的API参数

classsklearn.cluster.DBSCAN(eps=0.5,min_samples=5,metric=’euclidean’,metric_params=None,algorithm=’auto’,leaf_size=30,p=None,n_jobs=None)

eps: DBSCAN算法参数,即我们的ϵϵ-邻域的距离阈值,和样本距离超过ϵϵ的样本点不在ϵϵ-邻域内。默认值是0.5.一般需要通过在多组值里面选择一个合适的阈值。eps过大,则更多的点会落在核心对象的ϵϵ-邻域,此时我们的类别数可能会减少, 本来不应该是一类的样本也会被划为一类。反之则类别数可能会增大,本来是一类的样本却被划分开。

min_samples: DBSCAN算法参数,即样本点要成为核心对象所需要的ϵϵ-邻域的样本数阈值。默认值是5. 一般需要通过在多组值里面选择一个合适的阈值。通常和eps一起调参。在eps一定的情况下,min_samples过大,则核心对象会过少,此时簇内部分本来是一类的样本可能会被标为噪音点,类别数也会变多。反之min_samples过小的话,则会产生大量的核心对象,可能会导致类别数过少。

http://www.jsqmd.com/news/190000/

相关文章:

  • Arduino Nano与气压传感器BMP180通信的核心要点
  • 树莓派课程设计小项目实现WiFi信号强度监测应用
  • 百度推广关键词竞价:IndexTTS2相关词热度上涨
  • GEO 实战手册:差异化破局 + 本地深耕,解锁 AI 流量增长新密码
  • HuggingFace镜像网站私有仓库同步方案
  • 微PE官网推荐环境部署IndexTTS2,低配设备也能运行语音模型
  • Git commit规范写法对大模型项目维护有多重要?以IndexTTS2为例说明
  • GEO 新生态:跨界融合 + 场景渗透,重构 AI 时代本地商业增长版图
  • PyCharm激活码永久免费风险提示:谨防病毒植入
  • TinyMCE中文文档插件体系结构深入解读
  • JavaScript立即执行函数避免IndexTTS2全局污染
  • Git commit hook自动化测试集成IndexTTS2构建流程
  • 谷歌镜像网站内容更新延迟问题应对
  • 电路仿真circuits网页版支持探究式学习:全面讲解
  • DDU在驱动冲突修复中的应用:项目实践案例分析
  • PyCharm激活码永久获取方式盘点(附合法渠道)
  • MyBatisPlus用于后台管理?搭配IndexTTS2实现语音内容存储系统
  • SpringBoot+Vue 预报名管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • vue+uniapp+微信美食点餐系统小程序的设计与实现_k8269671--论文
  • HBuilderX安装教程实战案例:适合初学者的实践指导
  • ARM64冷启动代码从零实现:点亮第一个LED示例
  • SpringBoot+Vue 员工健康管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • Arduino IDE温湿度传感器项目应用实战案例
  • C#能否调用IndexTTS2?跨语言集成可行性分析
  • SpringBoot+Vue 在线装修管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • MyBatisPlus性能分析插件定位SQL慢查询
  • Chromedriver下载地址校验SHA256确保文件完整
  • 网盘直链下载助手原理揭秘:如何实现高速传输大模型
  • 无网络环境下ESP32开发环境搭建超详细版
  • HuggingFace镜像网站离线备份方案保障内网使用