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

做淘宝详情的网站长沙百度快速排名

做淘宝详情的网站,长沙百度快速排名,php网站程序安装,四川达州网站建设一、聚类算法 1. K-Means 聚类 原理:K-Means 是一种基于划分的聚类算法,目标是将 n n n 个样本划分到 k k k 个簇中,使得簇内样本的相似度尽可能高,簇间样本的相似度尽可能低。算法通过迭代的方式,不断更新簇的质心…

一、聚类算法

1. K-Means 聚类

  • 原理:K-Means 是一种基于划分的聚类算法,目标是将 n n n 个样本划分到 k k k 个簇中,使得簇内样本的相似度尽可能高,簇间样本的相似度尽可能低。算法通过迭代的方式,不断更新簇的质心(即簇内样本的均值),直到质心不再变化或达到最大迭代次数。
  • 步骤
    1. 随机初始化 k k k 个质心。
    2. 将每个样本分配到距离最近的质心所在的簇。
    3. 重新计算每个簇的质心。
    4. 重复步骤 2 和 3,直到质心不再变化或达到最大迭代次数。
  • 优点:实现简单,计算效率高,对于大规模数据集有较好的性能。
  • 缺点:需要预先指定簇的数量 k k k;对初始质心的选择敏感,可能会陷入局部最优解;对噪声和离群点敏感。

2. DBSCAN 聚类

  • 原理:DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它将具有足够密度的区域划分为簇,并在具有噪声的数据中发现任意形状的簇。核心概念包括核心点、边界点和噪声点。
  • 步骤
    1. 定义两个参数:邻域半径 ϵ \epsilon ϵ 和最小样本数 M i n P t s MinPts MinPts
    2. 遍历所有样本,找出所有核心点(在其 ϵ \epsilon ϵ 邻域内至少有 M i n P t s MinPts MinPts 个样本)。
    3. 从一个核心点开始,通过密度可达关系(即从一个核心点出发,通过一系列核心点相连)扩展出一个簇。
    4. 重复步骤 3,直到所有核心点都被访问过。未被访问的样本被标记为噪声点。
  • 优点:不需要预先指定簇的数量;可以发现任意形状的簇;对噪声和离群点具有较好的鲁棒性。
  • 缺点:对于密度变化较大的数据集,参数 ϵ \epsilon ϵ M i n P t s MinPts MinPts 的选择比较困难;在高维数据上的性能可能较差。

3. 层次聚类

  • 原理:层次聚类是一种基于样本间相似度的聚类算法,它通过构建一个层次化的聚类树来表示样本之间的聚类关系。层次聚类可以分为凝聚式(自底向上)和分裂式(自顶向下)两种方式。
  • 步骤(凝聚式)
    1. 将每个样本看作一个单独的簇。
    2. 计算所有簇之间的相似度,将相似度最高的两个簇合并成一个新的簇。
    3. 重复步骤 2,直到所有样本都合并到一个簇中或达到停止条件。
  • 优点:不需要预先指定簇的数量;可以生成一个层次化的聚类结构,方便用户根据需要选择合适的聚类结果。
  • 缺点:计算复杂度较高,对于大规模数据集的计算效率较低;一旦一个合并操作完成,就不能再撤销,可能会导致聚类结果不理想。

在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。

二、聚类的流程,实操

  • 标准化数据

  • 选择合适的算法,根据评估指标调参( )
    KMeans 和层次聚类的参数是K值,选完k指标就确定
    DBSCAN 的参数是 eps 和min_samples,选完他们出现k和评估指标
    以及层次聚类的 linkage准则等都需要仔细调优。
    除了经典的评估指标,还需要关注聚类出来每个簇对应的样本个数,避免太少没有意义。

  • 将聚类后的特征添加到原数据中

  • 原则t-sne或者pca进行2D或3D可视化

作业: 对心脏病数据集进行聚类。

import pandas as pd
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
import numpy as np# 读取 heart.csv 文件
file_path = r'.\csv\heart.csv'
data = pd.read_csv(file_path)# 假设数据集中所有列都是数值型特征,若有非数值型需要先处理
# 提取特征
X = data.values# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

接下来以DBSCAN聚类算法为例

# 使用 DBSCAN 进行聚类
db = DBSCAN(eps=0.3, min_samples=10).fit(X_scaled)
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_# 聚类数量(排除噪声点)
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_noise_ = list(labels).count(-1)print(f'估计的聚类数量: {n_clusters_}')
print(f'估计的噪声点数量: {n_noise_}')

在这里插入图片描述
这个由于特征过多,所以不能做可视化展示,如果想做可视化展示,可以讲一个特征和标签对应,用这个特征来做聚类分析,最后可以做可视化分析。

三、总结

本文介绍了三种常见的聚类算法,对心脏病数据集做DBSCAN 聚类分析。先读取数据并标准化,设参数完成聚类得簇数与噪声点数。

http://www.dtcms.com/wzjs/259233.html

相关文章:

  • c 做视频网站百度公司简介
  • 软件企业网站模板今日疫情最新消息
  • 做电商网站费用软文广告经典案例短的
  • 企业网站成功案例市场营销策略
  • 国外专门做杂志的共享网站网站优化包括哪些
  • 山西省住房与城乡建设厅网站seo技术助理
  • 网站开发过什么软件新平台怎么推广
  • 电子商务网站制作推广互联网营销
  • 怎么查询网站是什么时候做的建一个外贸独立站大约多少钱
  • 利川网站建设免费网站推广方式
  • 公司装修属于什么费用搜索引擎排名优化是什么意思
  • 做网页专题 应该关注哪些网站员工培训
  • 网站托管是什么意思百度有效点击软件
  • wordpress 地图xml生成关键词seo教程
  • 建站需要注意哪些中国舆情观察网
  • 做游戏能赚钱的网站营销手机都有什么功能啊
  • 南京做网站南京乐识好网站怎么收录
  • 天猫网站设计分析推广方案框架
  • 网站整体运营思路海外推广方案
  • 在建设部网站首页关键词排名哪里查
  • 上海制作网站公司百度人气榜
  • 做企业手机网站百度怎么推广自己的店铺
  • 韶关市建设局官方网站网络推广项目
  • 怎样用dw做新闻发布网站东莞网络公司排行榜
  • 电子商务网站建设个人总结怎么投放广告
  • 武威市住房和城乡建设局网站360识图
  • 驻马店市网站建设百度关键词搜索趋势
  • 网站备案登陆seo手机搜索快速排名
  • 做电脑系统的网站地域名网址查询
  • 智能客服系统建设广州专门做seo的公司