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

视频教学网站开发遵义网站建设有限公司

视频教学网站开发,遵义网站建设有限公司,未来销售最好的行业,尊云服务器大家好#xff0c;我是微学AI#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程6-sklearn机器学习之聚类问题与代码详解。在机器学习领域#xff0c;聚类是一种无监督学习方法#xff0c;旨在将相似的数据点划分为同一类别。sklearn是一个广泛应用于机器学习的Py…大家好我是微学AI今天给大家介绍一下人工智能算法工程师(中级)课程6-sklearn机器学习之聚类问题与代码详解。在机器学习领域聚类是一种无监督学习方法旨在将相似的数据点划分为同一类别。sklearn是一个广泛应用于机器学习的Python库提供了多种聚类算法。本文将详细介绍K-Means、DBSCAN和层次聚类这三种算法的数学原理、公式及实现代码。 文章目录 sklearn机器学习之聚类问题与代码详解1.K-Means算法K-Means的数学原理K-Means的公式K-Means算法代码实现 2.DBSCAN算法DBSCAN算法数学原理DBSCAN算法公式DBSCAN算法代码实现 3.层次聚类层次聚类数学原理层次聚类公式层次聚类代码实现 总结 sklearn机器学习之聚类问题与代码详解 1.K-Means算法 K-Means的数学原理 K-Means算法是一种基于距离的聚类方法。其目标是将数据集划分为K个簇使得每个数据点与其所属簇的中心点距离最小。 K-Means算法过程如下 -初始化随机选择K个数据点作为初始聚类中心。 -分配步骤对于数据集中的每一个数据点计算它与每个聚类中心的距离并将其分配到最近的聚类中心所代表的簇中。 -更新步骤重新计算每个簇的中心点。新的聚类中心是该簇所有数据点的均值即取簇内所有点的坐标的平均值。 -迭代重复步骤2和步骤3直到满足停止条件。停止条件可以是聚类中心的变化小于某个阈值、达到预设的迭代次数或者数据点的簇分配不再改变。 -结束当聚类中心的变化小于预设的阈值或达到最大迭代次数时算法停止迭代此时的聚类中心即为最终结果。 K-Means的公式 设数据集为X聚类中心为C则K-Means算法的目标函数为 J ∑ i 1 K ∑ x ∈ S i ∣ ∣ x − c i ∣ ∣ 2 J \sum_{i1}^{K} \sum_{x \in S_i} ||x - c_i||^2 Ji1∑K​x∈Si​∑​∣∣x−ci​∣∣2 其中 S i S_i Si​表示第i个簇 c i c_i ci​表示第i个簇的中心点。 K-Means算法代码实现 from sklearn.cluster import KMeans import numpy as np # 生成数据 X np.random.rand(100, 2) # 初始化KMeans kmeans KMeans(n_clusters3) # 拟合数据 kmeans.fit(X) # 预测结果 labels kmeans.predict(X) # 输出聚类中心 print(聚类中心, kmeans.cluster_centers_)2.DBSCAN算法 DBSCAN算法数学原理 DBSCANDensity-Based Spatial Clustering of Applications with Noise是一种基于密度的聚类算法。它将具有足够高密度的区域划分为簇并可以发现任意形状的簇。 DBSCAN算法公式 DBSCAN算法涉及以下两个参数 ε邻域半径判断一个点是否为核心点的邻域半径MinPts最小样本数判断一个核心点是否为边界点的最小样本数 一个点p的密度可达点定义为从p出发通过密度相连的点可以到达的所有点。 DBSCAN算法的过程如下 1.参数选择首先需要选择两个参数 εepsilon邻域半径表示一个点的邻域大小。MinPts最小样本数表示一个区域内至少需要多少个点才能被视为密度可达。 2.核心点识别对于数据集中的每个点计算以该点为中心、半径为ε的邻域内的点的数量。如果这个数量大于或等于MinPts则该点被称为核心点。 3.密度直达如果一个点p在另一个核心点q的ε邻域内那么点p由点q密度直达。 4.密度可达如果一个点p由核心点q密度直达核心点q由核心点r密度直达以此类推形成一条链那么点p由点r密度可达即使点p不在点r的ε邻域内。 5.簇的形成从数据集中任意选择一个未访问过的核心点开始找出所有从这个点密度可达的核心点这些点组成一个簇。重复这个过程直到所有核心点都被访问过。 6.噪声点的识别所有不是核心点且不与任何核心点密度可达的点被认为是噪声点。 DBSCAN算法代码实现 from sklearn.cluster import DBSCAN import numpy as np # 生成数据 X np.random.rand(100, 2) # 初始化DBSCAN dbscan DBSCAN(eps0.3, min_samples5) # 拟合数据 dbscan.fit(X) # 预测结果 labels dbscan.labels_ # 输出聚类结果 print(聚类结果, labels)3.层次聚类 层次聚类数学原理 层次聚类Hierarchical Clustering是一种逐步合并或分裂的聚类方法。它分为自底向上凝聚和自顶向下分裂两种策略。 层次聚类公式 层次聚类的相似度计算方法有多种如最小距离、最大距离和平均距离等。以下是最小距离的计算公式 d m i n ( C i , C j ) min ⁡ x ∈ C i , y ∈ C j ∣ ∣ x − y ∣ ∣ d_{min}(C_i, C_j) \min_{x \in C_i, y \in C_j} ||x - y|| dmin​(Ci​,Cj​)x∈Ci​,y∈Cj​min​∣∣x−y∣∣ 层次聚类代码实现 from sklearn.cluster import AgglomerativeClustering import numpy as np # 生成数据 X np.random.rand(100, 2) # 初始化层次聚类 agg_clustering AgglomerativeClustering(n_clusters3, linkageward) # 拟合数据 agg_clustering.fit(X) # 预测结果 labels agg_clustering.labels_ # 输出聚类结果 print(聚类结果, labels)总结 本篇文章详细介绍了sklearn中三种常见的聚类算法K-Means、DBSCAN和层次聚类。通过数学原理、公式及代码实现帮助读者更好地理解和应用这些算法。在实际应用中根据数据特点选择合适的聚类算法至关重要。希望本文对您有所帮助
http://www.w-s-a.com/news/401001/

相关文章:

  • 什么网站可以学做西餐个人网站怎么做支付功能
  • 千户微建站平台做网站需要切图吗
  • 织梦cms 学校网站模板网站建设中的问题
  • 山东济南网站建设公司制作wordpress模板教程视频教程
  • 档案网站的建设怎样更新网站内容
  • 网站开发项目规划房地产趋势与前景
  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做
  • 旅游的网站怎么做网站流量的主要来源有
  • 高新网站设计找哪家网络科技有限公司实习报告
  • 专业网站建设质量推荐网络销售是做网站推广
  • 旅游网站建设模板wordpress最好最全的教程
  • 网站站长在哪登陆后台网站设计一年费用
  • 济南比较好的网站建设公司邢台信息网123
  • 双峰网站建设漳州优化网站建设
  • app和网站开发的成本虚拟主机是啥
  • 想做一个自己设计公司的网站怎么做的销售培训
  • 南昌网站建设模板合作凡客app哪去了
  • 有免费做网站的吗建设互联网站
  • 北京市保障房建设投资中心网站淄博哪个网站做房屋出赁好
  • 如何做网站的优化网站开发怎么收费
  • 网站的关键词怎么选择2345实用查询
  • 免费的制作网站做图剪片文案网站app接单
  • 中国有多少网站有多少域名上海网站建设网页制作邢台
  • 网站 数据报表如何做室内设计联盟官方网站入口
  • 怎样建设网站论文合肥做网站的软件公司
  • 收款后自动发货的网站是怎么做的怎么看网站后台网页尺寸
  • 谷歌seo引擎优化宁波seo关键词
  • 外贸网站建设需要注意什么seo课程