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

上海网站设计案例wordpress 安装php

上海网站设计案例,wordpress 安装php,全国企业信用信息公示系统吉林,中国建设教育协会网站查询前言 K-Means 是一种非常经典、常用的 聚类算法。它属于无监督学习范畴#xff0c;广泛应用于图像压缩、市场细分、社交网络分析、用户画像等场景。本文将由浅入深逐带你逐步全面了解 K-Means这个算法的原理到底是什么。 聚类介绍 **聚类#xff08;Clustering#xff09…前言 K-Means 是一种非常经典、常用的 聚类算法。它属于无监督学习范畴广泛应用于图像压缩、市场细分、社交网络分析、用户画像等场景。本文将由浅入深逐带你逐步全面了解 K-Means这个算法的原理到底是什么。 聚类介绍 **聚类Clustering**是将数据按“相似性”划分为若干组的过程每组称为一个“簇Cluster”。 输入一堆没有标签的数据点。输出这些点被划分为 K 组每组内点相似、组与组之间差异大。 可以这么理解老师把学生按身高或成绩分成不同的小组。 K-Means 介绍 K-Means 是一种“划分式聚类算法”。它的目标是将数据划分成 K 个簇使得同簇样本尽可能相似不同簇样本尽可能不同。 每个簇用一个“质心Centroid”表示质心就是这组数据的平均点。 K-Means 算法流程 K-Means 的算法流程很简单说白了就是搞一个分组游戏比如下数据划分。 输入 数据集 X { x 1 , x 2 , … , x n } X \{x_1, x_2, \ldots, x_n\} X{x1​,x2​,…,xn​}要分成的簇数 K 步骤 初始化 K 个中心点质心随机选 K 个样本点作为初始质心。分配步骤Assignment step将每个样本分配给最近的质心。更新步骤Update step对每个簇计算其所有成员的平均值作为新的质心。迭代执行步骤 2 和 3直到质心不再变化或达到最大迭代次数。 目标函数 K-Means 实际上在最小化所有点到其所属簇中心的欧几里得距离平方之和即 J ∑ i 1 K ∑ x ∈ C i ∥ x − μ i ∥ 2 J \sum_{i1}^{K} \sum_{x \in C_i} \| x - \mu_i \|^2 Ji1∑K​x∈Ci​∑​∥x−μi​∥2 其中 C i C_i Ci​ 是第 i 个簇 μ i \mu_i μi​ 是该簇的质心。 数学原理理解 选“质心” 因为根据数学推导一组点到某个点的欧几里得平方距离和最小值就是所有点的平均值。这也解释了为什么质心更新为“平均值”。 能收敛 K-Means 迭代过程中每一步都在减少目标函数 J J J 的值且 K 种分法有限所以必定收敛虽然可能收敛到局部最优。 K 的选取问题 K 是一个超参数用户需要手动指定。 常见选法 肘部法Elbow Method 计算不同 K 值下的总误差平方和 SSESum of Squared Errors。绘制 K vs SSE 曲线找到“SSE下降明显变缓”的“肘部”这个点对应的 K 就是最优值。 这么做画一张图横轴是 K 值纵轴是聚类误差SSE。 K 小的时候增加 K 会显著降低误差 当 K 增大到一定值时误差下降幅度变小 那个“下降开始变缓的转折点”就像人的“手肘”——就是最优 K import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.datasets import make_blobsX, _ make_blobs(n_samples500, centers5, random_state42)sse [] K_range range(1, 10) for k in K_range:kmeans KMeans(n_clustersk, random_state42)kmeans.fit(X)sse.append(kmeans.inertia_) # inertia_ 就是 SSEplt.plot(K_range, sse, markero) plt.xlabel(K) plt.ylabel(SSE) plt.rcParams[font.sans-serif] [SimHei] plt.title(肘部法选择最佳K) plt.show() 轮廓系数Silhouette Coefficient 衡量样本在簇内的紧密程度与簇间的分离度值越高越好。 from sklearn.metrics import silhouette_scorescores [] for k in range(2, 10):kmeans KMeans(n_clustersk, random_state42)labels kmeans.fit_predict(X)score silhouette_score(X, labels)scores.append(score)plt.plot(range(2, 10), scores, markero) plt.xlabel(K) plt.ylabel(轮廓系数) plt.title(用轮廓系数选最佳K) plt.show() K-Means 的优缺点 优点 算法简单高效易实现聚类结果容易理解速度快适合大规模数据 缺点 必须预先指定 K对初始质心敏感可能陷入局部最优不能处理非球形或不同大小密度的簇对异常值敏感 K-Means示例代码 我们用 sklearn 快速实现 K-Means 聚类 import matplotlib.pyplot as plt from matplotlib import font_manager from sklearn.cluster import KMeans from sklearn.datasets import make_blobs# 生成模拟数据 X, y_true make_blobs(n_samples300, centers4, cluster_std1, random_state42) font font_manager.FontProperties(fnameC:/Windows/Fonts/simfang.ttf) # 可视化数据 plt.scatter(X[:, 0], X[:, 1], s30) plt.title(原始数据分布, fontpropertiesfont) plt.show()# KMeans 聚类 kmeans KMeans(n_clusters4) kmeans.fit(X) y_kmeans kmeans.predict(X)# 可视化聚类结果 plt.scatter(X[:, 0], X[:, 1], cy_kmeans, cmapviridis) plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1],s200, cred, markerX) plt.title(K-Means 聚类结果, fontpropertiesfont) plt.show() 常见变体与扩展 K-Means改进初始质心选择避免陷入局部最优Mini-Batch K-Means使用小批量数据进行迭代适合大数据Bisecting K-Means层次化地进行 KMeans 聚类Spectral Clustering结合图论和 KMeans 的方法 总结 K-Means 是一把“快速有效”的聚类工具理解了它的原理之后可以灵活用于很多任务中。记得注意 K 的选择很关键适合球形簇、相似大小的簇可结合其他方法如 PCA进行降维预处理可与其他算法如 DBSCAN、GMM互补使用。
http://www.dnsts.com.cn/news/179207.html

相关文章:

  • 什么是wordpress静态化seo推广代运营
  • 从化建网站重庆天蚕网络科技有限公司
  • 淘宝做链接的网站优建网站
  • 个人主页网站设计app推广平台接单渠道
  • 长治市住房保障和城乡建设管理局网站做婚纱的网站
  • 北京恒伟网站建设什么渠道做网站建设
  • 设计一个企业网站多少钱温州seo代理
  • 如何给网站做外链安全月考评哪个网站做
  • 定制专业网站网页素材制作
  • 自创字 网站学习网站建设需要什么
  • 织梦电影网站模板百度搜索大数据查询
  • 优秀网站专题重庆市建设工程信息网官网入口
  • 浙江省建设协会网站wordpress是
  • 邯郸哪有做网站的公司网站备案一般需要多久
  • 大连模板网站制作多少钱南京建网科技有限公司
  • 室内设计网站资源windows系统做网站
  • 5g建设多少网站官网设计报价
  • 建材营销型的网站网络推广的方式都有哪些
  • 青岛有做网站的吗电脑网站
  • 南京网站设计平台青岛网站开发企业
  • 呼和浩特建站个人网站seo
  • 免费域名建站网站违规关键词
  • 网站自适应尺寸广州推广型网站建设
  • 做网站什么空间好企业网站制作找什么人
  • 付运费送东西的网站怎么做6电子商务网站建设好么
  • 竞价推广外包托管自动优化网站建设电话
  • 网站统计ip pv类似wordpress的程序
  • php 网站发布网站图片链接是怎么做的
  • 汕头网站公司怎么在阿里巴巴网站做公司
  • 班级网站模板素材网站优化每天更新得是首页更新吗