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

机器学习——聚类评价指标SSE、SC、CH演示案例

一.评价指标简介SSE考虑了簇内因素SSE越越小越好SSE肘部法常用来确定聚类的最佳K值SC轮廓系数法考虑了簇内和簇间因素数值越大越好CH考虑簇内簇间以及K值因素数值越大越好二.代码部分详解1.SSE肘部法#1.演示SSE肘部法 def dm01_SSE(): #1.定义sse列表记录每个k值的SSE值 sse_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的sse值并添加到sse_list 列表中 for k in range(1,100): #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 #3.4获取到每个簇的sse值 sse_value estimator.inertia_ #3.5将每个K值对应的sse添加到sse_list中 sse_list.append(sse_value) #绘制SSE曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(SSE) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(SSE) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的sse值 plt.plot(range(1, 100), sse_list) plt.show()2.SC#2.演示SC轮廓系数法 def dm02_SC(): #1.定义sc列表记录每个k值的sc值 sc_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的sc值并添加到sc_list 列表中 for k in range(2, 100): #考虑簇外至少两个簇 #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 y_pred estimator.predict(x) #3.4获取到每个簇的sc值 sc_value silhouette_score(x, y_pred) #3.5将每个K值对应的sc添加到sc_list中 sc_list.append(sc_value) #绘制sc曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(sc) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(sc) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的sc值 plt.plot(range(2, 100), sc_list) plt.show()3.CH#3.演示CH轮廓系数法 def dm03_ch(): #1.定义ch列表记录每个k值的ch值 ch_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的ch值并添加到ch_list 列表中 for k in range(2, 100): #考虑簇外至少两个簇 #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 y_pred estimator.predict(x) #3.4获取到每个簇的ch值 ch_value calinski_harabasz_score(x, y_pred) #3.5将每个K值对应的ch添加到ch_list中 ch_list.append(ch_value) #绘制ch曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(ch) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(ch) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的ch值 plt.plot(range(2, 100), ch_list) plt.show()4.完整代码 SSE:只考虑簇内部 值越小越好 SC:考虑了簇内和簇间 值越大越好 CH考虑了簇内 簇间 以及K值 值越大越好 #导包 from sklearn.cluster import KMeans import matplotlib.pyplot as plt from sklearn.datasets import make_blobs from sklearn.metrics import calinski_harabasz_score, silhouette_score import matplotlib matplotlib.use(TkAgg) # 解决后端错误 #1.演示SSE肘部法 def dm01_SSE(): #1.定义sse列表记录每个k值的SSE值 sse_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的sse值并添加到sse_list 列表中 for k in range(1,100): #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 #3.4获取到每个簇的sse值 sse_value estimator.inertia_ #3.5将每个K值对应的sse添加到sse_list中 sse_list.append(sse_value) #绘制SSE曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(SSE) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(SSE) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的sse值 plt.plot(range(1, 100), sse_list) plt.show() #2.演示SC轮廓系数法 def dm02_SC(): #1.定义sc列表记录每个k值的sc值 sc_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的sc值并添加到sc_list 列表中 for k in range(2, 100): #考虑簇外至少两个簇 #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 y_pred estimator.predict(x) #3.4获取到每个簇的sc值 sc_value silhouette_score(x, y_pred) #3.5将每个K值对应的sc添加到sc_list中 sc_list.append(sc_value) #绘制sc曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(sc) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(sc) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的sc值 plt.plot(range(2, 100), sc_list) plt.show() #3.演示CH轮廓系数法 def dm03_ch(): #1.定义ch列表记录每个k值的ch值 ch_list [] #生成数据 参1样本数量 参2特征数 参34个簇 参4标准差 参5随机种子 x, y make_blobs(n_samples1000, n_features2, centers[[-1, -1], [0, 0], [1, 1], [2, 2]], cluster_std[0.4, 0.2, 0.2, 0.2], random_state23) #3.for循环遍历获取到每个K值计算对应的ch值并添加到ch_list 列表中 for k in range(2, 100): #考虑簇外至少两个簇 #3.1 创建k-means对象指定K值迭代次数随机种子 estimator KMeans(n_clustersk, max_iter100, random_state23) #3.2训练模型 estimator.fit(x) #3.3模型预测 y_pred estimator.predict(x) #3.4获取到每个簇的ch值 ch_value calinski_harabasz_score(x, y_pred) #3.5将每个K值对应的ch添加到ch_list中 ch_list.append(ch_value) #绘制ch曲线-》数据的可视化 #4.1创建画布指定尺寸 plt.figure(figsize(20, 10)) #4.2设计标题 plt.title(ch) #4.3设置x的 刻度 plt.xticks(range(0, 100, 3) ) #4.4添加x轴 y轴的标签 plt.xlabel(K) plt.ylabel(ch) #4.5绘制网格 plt.grid() #4.6绘制折线图 #参1K值 参2K对应的ch值 plt.plot(range(2, 100), ch_list) plt.show() #4.测试 if __name__ __main__: #dm01_SSE() #dm02_SC() dm03_ch()三.总结加强了对于对于聚类算法评价指标的练习。

相关文章:

机器学习——聚类评价指标SSE、SC、CH演示案例

一.评价指标简介SSE考虑了簇内因素SSE越越小越好SSE+肘部法常用来确定聚类的最佳K值SC轮廓系数法考虑了簇内和簇间因素,数值越大越好CH考虑簇内,簇间以及K值因素,数值越大越好二.代码部分详解1.SSE+肘部法#1.演示SSE&a…...

5分钟掌握OpenTracks:隐私优先的开源运动跟踪应用全面指南

5分钟掌握OpenTracks:隐私优先的开源运动跟踪应用全面指南 【免费下载链接】OpenTracks Repository moved to: https://codeberg.org/OpenTracksApp/OpenTracks 项目地址: https://gitcode.com/gh_mirrors/op/OpenTracks 你是否厌倦了那些不断要求网络权限、…...

Taotoken官方折扣活动如何帮助开发者降低大模型使用门槛

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken官方折扣活动如何帮助开发者降低大模型使用门槛 对于个人开发者和学生群体而言,探索和应用大模型技术时&#…...

通过 TaoToken 统一网关体验不同主流模型的生成效果差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 TaoToken 统一网关体验不同主流模型的生成效果差异 1. 引言:统一接口下的模型体验 在构建基于大语言模型的应用时…...

AI调用BurpSuite实现可审计漏洞检测闭环

1. 这不是“AI安全工具”的营销话术,而是一套可落地的漏洞发现流水线最近帮一家做金融SaaS的客户做渗透测试流程优化,他们原来的方案是:每周安排2名中级渗透工程师,用BurpSuite手动跑一遍核心业务流,再人工翻看Proxy历…...

AI模型连接失败的四大根源与10分钟排查指南

1. 这不是网络问题,是连接逻辑没对上“模型连接失败”这六个字,几乎每个刚接触AI开发的新手都见过——在本地跑通了代码,调用OpenAI或国内大模型API时突然卡在requests.exceptions.ConnectionError,或者返回一串看不懂的401 Unaut…...

Qwen-Image-2512+LoRA:构建Godot原生像素素材生成管线

1. 这不是“AI画图”,而是一次像素艺术工作流的底层重写你有没有试过在Godot 4.x里导入一张用Qwen-VL或Stable Diffusion生成的“像素风”图?放大一看——边缘糊成一团,颜色溢出格子,连88的精灵都对不齐网格。我去年帮一个独立游戏…...

LivePortrait技术突破:企业级肖像动画生成与部署实战指南

LivePortrait技术突破:企业级肖像动画生成与部署实战指南 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait 从静态到动态:如何用AI技术让肖像"活"起来 在数字…...

FTP明文传输风险与Wireshark抓包实证分析

1. 这不是危言耸听:FTP 的“裸奔”现状每天都在发生你有没有在公司内网用过 FTP 上传一份财务报表?有没有在校园网里用 FileZilla 向老师提交课程设计源码?有没有在运维后台用 ftp 命令同步过网站静态资源?如果答案是肯定的&#…...

初步认识假设检验

下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文6102字) 2篇3章3节:从案例中认识假设检验_认识参数假设检验-CSDN博客 假设检验是统计学中一种用于判断数据是否支持某一特定假设的常用方法。在数据分析中,假设检验…...

中国开源大模型工程化实践:从数据治理到企业落地

1. 项目概述:一场被误读为“军备竞赛”的开源模型战略博弈“TAI #159”这个编号本身就像一个行业内部的暗号——它指向的不是某款具体产品,而是一期深度技术简报的核心议题:当全球AI格局进入新阶段,中国开源大模型生态的系统性突围…...

如何快速构建数学可视化:Manim交互式开发完整教程

如何快速构建数学可视化:Manim交互式开发完整教程 【免费下载链接】manim Animation engine for explanatory math videos 项目地址: https://gitcode.com/GitHub_Trending/ma/manim 想要告别数学动画制作中反复修改代码、重新渲染的烦恼吗?&…...

OpenSpeedy:开源游戏加速神器,彻底告别卡顿体验

OpenSpeedy:开源游戏加速神器,彻底告别卡顿体验 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 还在为游戏中的卡顿、掉帧和加载缓慢而烦恼吗&#xf…...

CV产线MLOps平台:图像原生处理与硬件感知交付

1. 项目概述:这不是又一个“模型训练平台”,而是一套能真正跑通CV产线的MLOps工作流“Streamline Your Computer Vision Stack with an End-to-End MLOps Platform”——这个标题里藏着三个被太多团队长期忽视的关键事实:第一,“C…...

Triton模型服务化实战:从Notebook到高可用推理API

1. 项目概述:这不是一次模型训练,而是一场工程交付“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着一个被太多人轻描淡写、却让无数团队在临门一脚时彻底卡死的真相:Notebook 是思考的草稿纸&…...

Akamai通用版边缘认证参数固化与SHA256签名还原

1. 这不是“破解”,而是对Akamai边缘认证机制的一次系统性拆解你有没有遇到过这样的情况:写好一个爬虫,目标网站明明没上WAF、也没用Cloudflare,但一发请求就返回403,Header里还带着x-akamai-session-info这种神秘书码…...

AI Agent自主操作软件的“最后一公里”危机:当它成功调用API却误删生产数据库——12个真实事故根因与防御性沙箱配置模板

更多请点击: https://codechina.net 第一章:AI Agent自主操作软件的“最后一公里”危机本质 当AI Agent在模拟环境中流畅调用API、生成SQL、解析PDF时,它却在真实办公桌面前频频卡壳——点击错按钮、误判窗口焦点、无法处理弹窗验证码、对非…...

【限时公开】华为昇腾+寒武纪MLU双平台AI Agent边缘部署Checklist(含功耗约束下模型剪枝精度损失≤0.3%的黄金参数表)

更多请点击: https://intelliparadigm.com 第一章:AI Agent边缘计算应用 AI Agent在边缘计算场景中正从“云端智能”转向“端侧自治”,通过轻量化模型部署、本地决策闭环与低延迟响应,显著提升工业质检、智能安防、车载感知等实时…...

FModel实战指南:UE4/5游戏pak资源提取与3D模型导出

1. 为什么是FModel?——当UE4/5游戏资源提取变成“开箱即用”的工程问题你刚下载完《堡垒之夜》最新赛季的离线安装包,或者拿到一份《黑神话:悟空》的测试版本地资源目录,双击打开后只看到一堆命名像WindowsNoEditor.pak、Content…...

Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLM+ML协同训练的4大范式演进

更多请点击: https://codechina.net 第一章:Agent驱动的机器学习 pipeline 全链路拆解,深度解析LLMML协同训练的4大范式演进 Agent驱动的机器学习 pipeline 正在重构传统ML工程范式——它不再将数据预处理、特征工程、模型训练与部署割裂为静…...

Unity WebGL文本输入解决方案:WebGLInput原理与集成指南

1. 为什么Unity WebGL的文本输入让人反复抓狂“WebGL平台不能打字”——这句话在Unity开发者社区里出现的频率,几乎和“打包报错”“内存泄漏”一样高。我第一次遇到这个问题是在2021年,给一个教育类Web应用做跨平台迁移:iOS和Android端的Inp…...

AI Agent驱动的管理咨询实战手册(麦肯锡/BCG未公开方法论首次披露)

更多请点击: https://intelliparadigm.com 第一章:AI Agent驱动的管理咨询范式革命 传统管理咨询依赖专家经验、手工访谈与静态模型,响应周期长、知识复用率低、规模化交付困难。AI Agent 的崛起正从根本上重构这一价值链——它不再是辅助工…...

GPU选型实战指南:TFLOPS、VRAM、HBM与NVLink的工程真相

1. 为什么我花三周重读了A100规格表——一个AI工程师的GPU认知重建实录刚入行那会儿,我买显卡全靠TFLOPS数字大小排序。看到RTX 4090标称82.6 TFLOPS,立刻下单;后来做模型训练,发现A100的FP16算力只有312 TFLOPS,却比4…...

企业从 Excel 管理转向系统化管理的关键步骤

企业从 Excel 管理转向系统化管理的关键步骤 几乎每家中小企业都经历过 Excel 管理阶段。客户表、合同表、项目表、库存表、资产表、员工表、回款表,一个个表格撑起了企业早期管理。Excel 的优势很明显:灵活、低成本、人人会用。 但企业规模一旦扩大&…...

零基础30天掌握渗透测试实战路径

1. 别被“渗透测试”四个字吓住:它本质是“合法授权的系统体检”很多人第一次看到“渗透测试”这个词,脑子里立刻浮现出黑客电影里飞速滚动的代码、黑底绿字的终端、戴着兜帽在咖啡馆敲键盘的神秘人——这种刻板印象害了不少想入门的朋友。我带过三十多个…...

渗透测试小白上手指南:系统化故障排查能力迁移手册

1. 别被“渗透测试”四个字吓住:它本质是系统化的故障排查能力很多人第一次听说“渗透测试”,脑子里立刻浮现出黑客电影里飞速滚动的代码、黑底绿字的终端、几秒钟攻破银行防火墙的炫酷场面。结果一搜学习资料,满屏都是“Kali Linux”“Metas…...

Rshell框架实战:红队内网渗透的信道管理与双平台协同

1. 这不是“教你怎么黑”,而是还原一次真实红队作业的完整切片Rshell框架——这个名字在渗透测试圈子里不算陌生,但真正把它用透、用稳、用出生产级效果的人,远比想象中少。我见过太多人把Rshell当成一个“带图形界面的msfvenomnc组合包”&am…...

Hurley:C#到裸机C的语义重铸编译器

1. 这不是代码转换器,而是一台“语义重铸机”你有没有试过把一段写得工整、泛型丰富、LINQ链式调用如行云流水的C#代码,硬生生塞进一个只认int main()和malloc的嵌入式环境?我去年在给某款国产工业PLC做边缘协议适配时就撞上了这堵墙&#xf…...

垂直领域搜索效果提升300%的关键路径,如何用DeepSeek精准捕获代码、论文、API三类技术语义?

更多请点击: https://kaifayun.com 第一章:DeepSeek垂直技术搜索的范式革命 传统通用搜索引擎在处理深度技术查询时,常面临语义漂移、上下文断裂与领域知识缺失三大瓶颈。DeepSeek垂直技术搜索通过融合代码理解、文档结构建模与多粒度技术实…...

Unity风格化山脉系统:程序化生成与运行时自然逻辑

1. 这不是“又一个山地素材包”,而是一套可工业化复用的风格化自然系统你有没有在Unity项目里,拖进一个山体模型,调完材质发现它和场景里其他植被、岩石、雾效完全不搭?或者好不容易调出理想中的晨雾山色,换到另一个光…...