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

有什么网站可以做婚庆视频素材余姚网站建设 熊掌号

有什么网站可以做婚庆视频素材,余姚网站建设 熊掌号,网站认证费用,医疗器械公司网站建设1.引言 在实际数据分析中#xff0c;聚类算法常用于客户分群、图像分割等场景。如何确定聚类数 k 是聚类分析中的关键问题之一。本文将以“用户分群”为例#xff0c;展示如何通过 KMeans 聚类#xff0c;利用 SSE#xff08;误差平方和#xff0c;也称 Inertia#xff…1.引言 在实际数据分析中聚类算法常用于客户分群、图像分割等场景。如何确定聚类数 k 是聚类分析中的关键问题之一。本文将以“用户分群”为例展示如何通过 KMeans 聚类利用 SSE误差平方和也称 Inertia、Calinski-Harabasz 指数CH Score和 Silhouette Score轮廓系数来判断最佳的聚类数。你将看到三幅图表每个图表都揭示了不同的聚类评价指标帮助你综合判断哪一个 k 值最合理。 2. 聚类概念 3. 聚类指标介绍 • SSE (Inertia)反映了所有样本与其所属簇中心距离平方和。随着聚类数 k 增加SSE 会下降但在某个 k 值之后SSE 的下降速度会明显减缓这就是所谓的“肘部”通常这个拐点附近的 k 值较为合理。 • Calinski-Harabasz Score (CH Score)衡量类间离散度和类内紧凑度之比数值越大表示聚类结果越好。通常在最佳 k 附近CH Score 会达到峰值。 • Silhouette Score (轮廓系数)取值范围为 -1 到 1值越高说明聚类结构越明显即同一簇内部相似度高而不同簇之间相似度低。最佳 k 往往对应于轮廓系数较高的值。 4. 代码详解 以下代码分为两个函数 • dm01_聚类分析用户群遍历 k2~10记录并绘制 SSE、CH Score 和 Silhouette Score 曲线。 • dm02_聚类分析用户群固定 k5 进行聚类并将聚类结果可视化。 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as snsfrom sklearn.cluster import KMeans from sklearn.metrics import silhouette_score, calinski_harabasz_score from sklearn.model_selection import train_test_splitdef dm01_聚类分析用户群():函数功能1. 读取 data/customers.csv取第 3 列和第 4 列作为特征 (Annual Income, Spending Score)。2. 通过循环 k in [2, 10]- 训练 KMeans(k)- 记录 SSE (inertia_)- 记录 Silhouette Score- (可选) 记录 Calinski-Harabasz Score3. 绘制 SSE 曲线(肘部法)和 Silhouette Score 曲线以辅助确定最优聚类数。# 1. 读取数据dataset pd.read_csv(data/Clustering_Methods/customers.csv)dataset.info() # 查看数据的列、类型、缺失值等print(【前 5 行数据】\n, dataset.head(5))# 2. 取特征列假设第 3, 4 列分别为 Annual Income, Spending ScoreX dataset.iloc[:, [3, 4]]print(【X 特征前 5 行】:\n, X.head(5))# 3. 通过循环不同的聚类数 k记录 SSE 和 Silhouette Score (可选 CH)sse_list [] # 存储 SSEsil_list [] # 存储 Silhouette Scorech_list [] # (可选)存储 Calinski-Harabasz Scorek_values range(2, 11) # k 从 2 到 10for k in k_values:# 实例化 KMeansmy_kmeans KMeans(n_clustersk, max_iter300, random_state0)my_kmeans.fit(X) # 训练# SSE (Inertia) - 簇内误差平方和sse_list.append(my_kmeans.inertia_)# 预测标签labels my_kmeans.predict(X)# Silhouette Score (轮廓系数)sil_value silhouette_score(X, labels)sil_list.append(sil_value)# (可选) Calinski-Harabasz 指数ch_value calinski_harabasz_score(X, labels)ch_list.append(ch_value)# 4. 绘制 SSE 曲线(肘部法)plt.figure(figsize(15, 4))plt.subplot(1, 3, 1)plt.plot(k_values, sse_list, markero, colorred)plt.title(Elbow Method (SSE vs k))plt.xlabel(Number of Clusters (k))plt.ylabel(SSE (Inertia))plt.grid(True)# 5. 绘制 Silhouette Score 曲线plt.subplot(1, 3, 2)plt.plot(k_values, sil_list, markero, colorblue)plt.title(Silhouette Score vs k)plt.xlabel(Number of Clusters (k))plt.ylabel(Silhouette Score)plt.grid(True)# (可选) 绘制 Calinski-Harabasz Score 曲线plt.subplot(1, 3, 3)plt.plot(k_values, ch_list, markero, colorgreen)plt.title(Calinski-Harabasz Score vs k)plt.xlabel(Number of Clusters (k))plt.ylabel(CH Score)plt.grid(True)plt.tight_layout()plt.show()print(\n【提示】可综合观察 SSE 肘部位置、Silhouette Score 高点以及 CH Score 峰值来判断最优 k。)def dm02_聚类分析用户群():函数功能1. 读取 data/customers.csv取第 3 列和第 4 列作为特征 (Annual Income, Spending Score)。2. 使用 KMeans(k5) 进行聚类 (可根据 dm01_函数观察后选择最优 k)。3. 可视化聚类结果每个簇用不同颜色散点表示并标注聚类中心。# 1. 读取数据dataset pd.read_csv(data/Clustering_Methods/customers.csv)# 假设第 3, 4 列分别为 Annual Income, Spending ScoreX dataset.iloc[:, [3, 4]]# 2. 实例化 KMeans指定 n_clusters5kmeans KMeans(n_clusters5, max_iter300, random_state0)kmeans.fit(X)# 3. 预测标签y_kmeans kmeans.predict(X)# 4. 可视化# 每个簇用不同颜色散点plt.figure(figsize(8, 5))plt.scatter(X.values[y_kmeans 0, 0], X.values[y_kmeans 0, 1],s100, cred, labelCluster 0)plt.scatter(X.values[y_kmeans 1, 0], X.values[y_kmeans 1, 1],s100, cblue, labelCluster 1)plt.scatter(X.values[y_kmeans 2, 0], X.values[y_kmeans 2, 1],s100, cgreen, labelCluster 2)plt.scatter(X.values[y_kmeans 3, 0], X.values[y_kmeans 3, 1],s100, ccyan, labelCluster 3)plt.scatter(X.values[y_kmeans 4, 0], X.values[y_kmeans 4, 1],s100, cmagenta, labelCluster 4)# 画出聚类中心黑色大点plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1],s300, cblack, markerX, labelCentroids)plt.title(Customer Clusters)plt.xlabel(Annual Income (k$))plt.ylabel(Spending Score (1-100))plt.legend()plt.show()# 可选查看聚类后的指标如 SSE, Silhouette 等sse kmeans.inertia_labels kmeans.labels_sil_value silhouette_score(X, labels)print(fSSE: {sse:.2f})print(fSilhouette Score: {sil_value:.2f})if __name__ __main__:print( 第一步: 评估不同 k 的聚类效果 )dm01_聚类分析用户群()print(\n 第二步: 以 k5 聚类并可视化 )dm02_聚类分析用户群() 代码输出   代码解释 1. dm01_聚类分析用户群 函数 • 数据读取与预览 读取 data/Clustering_Methods/customers.csv 文件并用 info() 和 head() 查看数据基本情况。 • 特征选择 假设第 3 列和第 4 列分别为“年收入”和“消费得分”并打印前5行数据。 • 遍历不同聚类数 k 在 k 从 2 到 10 的范围内依次训练 KMeans 模型并记录 SSEinertia_、Silhouette Score 和 Calinski-Harabasz 指数。 • 绘制图表 使用 3 个子图分别展示 SSE 曲线、轮廓系数曲线、CH 指数曲线帮助你直观观察 • SSE 曲线观察“肘部”位置即 SSE 降低变缓的 k 值 • 轮廓系数曲线观察 k 值下哪个聚类结果的轮廓系数最高 • CH 指数曲线查看哪个 k 值下类间分离度最佳。 综合这三个指标你可以判断哪个 k 值可能是最优的。如果三个指标都在某个 k 值附近表现较好则该 k 值值得选择。 2. dm02_聚类分析用户群 函数 • 使用 k5 进行聚类 假设根据前一步的指标k5 是较优选择直接训练 KMeans 模型。 • 结果可视化 对不同簇Cluster 0 到 Cluster 4用不同颜色绘制散点图并用黑色大“X”标注聚类中心。图表标题、坐标轴均使用中文便于理解。 • 输出指标 打印 SSE 和 Silhouette Score帮助你验证模型效果。 结论 通过以上两个步骤你可以 • 先评估利用多个聚类指标确定最佳聚类数 k通过肘部法和峰值对比 • 后可视化固定 k 值进行聚类并直观展示聚类结果及聚类中心。 如果你对聚类结果满意模型就可以应用到后续的用户分群、个性化营销或其他业务场景中。  5.总结 本文通过一个用户分群的案例详细介绍了如何使用 KMeans 聚类算法确定最佳聚类数 k并结合 SSE、Silhouette Score 和 Calinski-Harabasz 指数辅助决策。希望这篇文章能帮助你理解聚类算法的关键指标以及如何通过图形直观地选择最佳 k 值。如果你觉得文章对你有帮助请点赞、收藏、转发并关注我的博客分享更多数据科学的精彩内容 参考文献 1. Jain, A. K. (2010). Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31(8), 651-666. 2. Kaufman, L., Rousseeuw, P. J. (2009). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley-Interscience. 3. scikit-learn 官方文档 – Clustering: https://scikit-learn.org/stable/modules/clustering.html 这篇文章通过代码示例和详细注释帮助读者学会如何利用多种聚类评价指标判断最佳聚类数并进行结果可视化。希望你喜欢这篇文章欢迎大佬们点赞关注收藏转发也欢迎各位读者在评论区讨论和交流
http://www.w-s-a.com/news/332168/

相关文章:

  • 网站建设基本流程价格厦门seo网站推广
  • 辽宁响应式网站建设价格企业所得税率
  • 网站编辑及seo招聘上海做网站公司做网站的公司
  • 杭州四喜做网站建设么ja.wordpress.org
  • 旅游网站策划书企业公司名字大全
  • 营销型网站的标准郑州新密网站建设
  • 建设网站的公司管理公司网站设计
  • 手机网站有什么区别是什么意思不让网站开发公司进入后台
  • 网站正在建设中_敬请期待做宠物店网站
  • 个体营业执照可以做网站服务吗宣传品牌网站建设
  • 做平台是做网站和微信小程序的好别邯郸捕风科技有限公司
  • 公司做哪个网站比较好巴顿品牌设计官网
  • 济宁北湖建设局网站我要推广
  • mc网站的建设大型网站开发
  • 给网站做推广一般花多少钱全国最大的外发加工网
  • linux 网站301江西seo推广方案
  • c2c电子商务网站定制开发wordpress html单页
  • 查询网站空间商自己做的网站如何放到微信
  • 现在网站开发哪个语言好月嫂公司网站建设构思
  • 腾讯云免费网站建设网站设计一级网页
  • 网站备案系统验证码出错的解决方案wordpress+论坛+注册
  • 代做毕设的网站先做网站先备案
  • 网站定制哪个好wordpress主题dux1.9
  • 怎么自己做网站地图网站建设弹窗代码
  • wordpress 作品集网站企业做网站建设的好处
  • 公司开发的网站健身网站开发项目总结
  • 怎样做游戏网站网站建设万首先金手指14
  • 英德建设局网站龙岩网上房地产网
  • wordpress vr网站电影网页设计尺寸
  • 做淘宝客新增网站推广怎样开一家公司