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

python:用 sklearn.metrics 评价 K-Means 聚类模型

sklearn 的 metrics 模块提供的聚类模型评价指标如下:

ARI 评价法(兰德系数): adjusted_rand_score
AMI 评价法(相互信息): adjusted_mutual_info_score
V-measure 评分 : completeness_score
FMI 评价法 : fowlkes_mallows_score
轮廓系数评价法 : silhouette_score
Calinski-Harabasz 指数评价法 : calinski_harabasz_score

编写 test_sklearn_4.py 如下

# -*- coding: utf-8 -*-
""" 使用 sklearn 评价 K-Means 聚类模型 """
#import numpy as np
#import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import preprocessing
from sklearn import cluster# 1.加载 鸢尾花 数据集
iris = datasets.load_iris()
# 数据集的数据
iris_data = iris['data']
# 数据集的标签
iris_target = iris['target']# 使用 FMI 评价法评价 K-Means 聚类模型
from sklearn.metrics import fowlkes_mallows_score
for i in range(2,7):# 构建并训练模型kmeans = cluster.KMeans(n_clusters=i, n_init=10,random_state=123).fit(iris_data)score = fowlkes_mallows_score(iris_target, kmeans.labels_)print(f"iris_{i} 类 FMI 评价分数: {score}")
print('--------')# 使用轮廓系数评价法评价 K-Means 聚类模型
from sklearn.metrics import silhouette_score
silhScore = []
for i in range(2,10):
# 构建并训练模型kmeans = cluster.KMeans(n_clusters=i, n_init=10,random_state=123).fit(iris_data)score = silhouette_score(iris_data, kmeans.labels_)silhScore.append(score)
plt.figure(figsize=(10,6))
plt.plot(range(2,10), silhScore, linewidth=1.5, linestyle='-')
plt.show()# 使用 Calinski-Harabasz 指数评价 K-Means 聚类模型
from sklearn.metrics import calinski_harabasz_score
for i in range(2,7):# 构建并训练模型kmeans = cluster.KMeans(n_clusters=i, n_init=10,random_state=123).fit(iris_data)score = calinski_harabasz_score(iris_data, kmeans.labels_)print(f"iris_{i} 类 calinski_harabasz 指数为: {score}")

cmd
set OMP_NUM_THREADS=1
python test_sklearn_4.py 

(base) D:\python> python test_sklearn_4.py
iris_2 类 FMI 评价分数: 0.7504732564880243
iris_3 类 FMI 评价分数: 0.8208080729114153
iris_4 类 FMI 评价分数: 0.7539699941396392
iris_5 类 FMI 评价分数: 0.7254830776265845
iris_6 类 FMI 评价分数: 0.614344977586966
--------
iris_2 类 calinski_harabasz 指数为: 513.9245459802768
iris_3 类 calinski_harabasz 指数为: 561.62775662962
iris_4 类 calinski_harabasz 指数为: 530.4871420421675
iris_5 类 calinski_harabasz 指数为: 495.54148767768777
iris_6 类 calinski_harabasz 指数为: 469.8366331329009

参考书:【Python 数据分析与应用】第6章 使用 scikit-learn 构建模型

相关文章:

python:用 sklearn.metrics 评价 K-Means 聚类模型

sklearn 的 metrics 模块提供的聚类模型评价指标如下: ARI 评价法(兰德系数): adjusted_rand_score AMI 评价法(相互信息): adjusted_mutual_info_score V-measure 评分 : completeness_score FMI 评价法 : fowlkes_m…...

Spring依赖注入不同类型的数据

目录 前言 回顾 注入集合 List与set集合 Map集合 前言 前面学习依赖注入时注入的都是对象,这里记录注入的值为集合的情况 回顾 在注入的时候,如果要注入的属性的值为字符串或基本数据类型,用value即可;如果要注入一个对象的…...

Linux大杂烩!!!

Linux 命令大全 https://www.runoob.com/linux/linux-command-manual.html Linux下打印ASCII字符 ASCII码对照表及转换器 [rootuntifa_80 ~]# printf "\x30\n" 0 [rootuntifa_80 ~]# echo -e "\u0030" 0tar、gzip 打包解压命令 参考文章:ta…...

12.19问答解析

概述 某中小型企业有四个部门,分别是市场部、行政部、研发部和工程部,请合理规划IP地址和VLAN,实现企业内部能够互联互通,同时要求市场部、行政部和工程部能够访问外网环境(要求使用OSPF协议),研发部不能访问外网环境…...

C语言——实现杨氏矩阵

什么是杨氏矩阵? 概念: 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的 eg: 1 2 3 4 5 6 7 8 9 题目: 请编写程序在这样的矩阵中查找某个数字是否存在。 要求:时间复…...

授权模型PAM

PAM(Privileged Access Management)是一种授权模型,用于管理和控制特权用户的访问权限。PAM的目标是确保特权用户只能在需要时获得所需的特权,并且他们的活动得到适当的监控和审计。 PAM的核心思想是将特权访问权限视为一种受限的…...

【Leecode】子集⭐⭐

子集 [78]子集I 题目描述 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例输入 示例 1: 输入:nums [1, 2, 3…...

Linux高性能服务器编程 | 读书笔记 | 12. 多线程编程

12. 多线程编程 注:博客中有书中没有的内容,均是来自 黑马06-线程概念_哔哩哔哩_bilibili 早期Linux不支持线程,直到1996年,Xavier Leroy等人开发出第一个基本符合POSIX标准的线程库LinuxThreads,但LinuxThreads效率…...

[HNCTF 2022 Week1]baby_rsa

源代码: from Crypto.Util.number import bytes_to_long, getPrime from gmpy2 import * from secret import flag m bytes_to_long(flag) p getPrime(128) q getPrime(128) n p * q e 65537 c pow(m,e,n) print(n,c) # 62193160459999883112594854240161159…...

解析Java中的Stream API:函数式编程与性能优化

自Java 8以来,Java语言引入了Stream API,为开发者提供了一种全新的数据处理方式。Stream API支持函数式编程风格,使得对集合、数组、IO流等数据源的操作更加简洁、直观且具有高效的性能优势。通过Stream API,我们可以在不修改原有…...

java简单题目练习

大家好,今天我们不学习新的内容,今天给大家分享一些简单的java算法题供大家练练手,那么我们下面就来看看。 那么大家下去练习一下,我们明天继续讲解类和对象的相关知识,谢谢大家!!!...

Kaggler日志--Day9

进度24/12/18 昨日复盘: 补充并解决Day7Kaggler日志–Day7统计的部分问题 今日进度: 继续完成Day8Kaggler日志–Day8统计问题的解答 明日规划: 今天报名了Regression with an Insurance Dataset算是新手村练习比赛,截止时间是2…...

OpenCVE:一款自动收集NVD、MITRE等多源知名漏洞库的开源工具,累计收录CVE 27万+

漏洞库在企业中扮演着至关重要的角色,不仅提升了企业的安全防护能力,还支持了安全决策、合规性要求的满足以及智能化管理的发展。前期博文《业界十大知名权威安全漏洞库介绍》介绍了主流漏洞库,今天给大家介绍一款集成了多款漏洞库的开源漏洞…...

麒麟信安参编的《能源企业数字化转型能力评价 技术可控》团体标准发布

近日,中国能源研究会发布公告,《能源企业数字化转型能力评价 技术可控》团体标准发布。该标准由麒麟信安与国网湖北省电力有限公司武汉供电公司、国网智能电网研究院有限公司、中能国研(北京)电力科学研究院等单位联合编制。 《能…...

戴尔物理机更换完Raid控制器(阵列卡),启动服务器失败

背景 我们使用的物理机是戴尔的POWEREDGE R730机器,由于硬件损坏导致该问题的延申,再更换完Raid的控制器(阵列卡)之后导致启动服务器报错。 报错: There are offline or missing virtual drives with preserved cac…...

计算机基础知识——数据结构与算法(二)(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 大数据相关标准…...

docsify

macos ➜ ~ node -v v16.20.2➜ ~ npm --version 8.19.4全局安装 docsify-cli 工具 npm i docsify-cli -g➜ ~ docsify -vdocsify-cli version:4.4.4初始化项目 docsify init ./docsls -ah docs . .. .nojekyll README.md index.htmlindex.html 入口文件README.md 会…...

GEE教程——使用 CHIRPS 和 GSMaP 数据集计算并可视化了特定区域的降水量

目录 简介 函数 ee.Image.pixelLonLat() No arguments. Returns: Image visualize(bands, gain, bias, min, max, gamma, opacity, palette, forceRgbOutput) Arguments: Returns: Image 代码解释 代码 结果 简介 GEE教程——使用 CHIRPS 和 GSMaP 数据集计算并可视…...

前端实现页面自动播放音频方法

前端实现页面视频在谷歌浏览器中自动播放音频方法 了解Chrome自动播放策略 在Chrome和其他现代浏览器中,为了改善用户体验,自动播放功能受到了限制。Chrome的自动播放策略主要针对有声音的视频,目的是防止页面在用户不知情的情况下自动播放声…...

【Nginx-5】Nginx 限流配置指南:保护你的服务器免受流量洪峰冲击

在现代互联网应用中,流量波动是常态。无论是突发的用户访问高峰,还是恶意攻击,都可能导致服务器资源耗尽,进而影响服务的可用性。为了应对这种情况,限流(Rate Limiting)成为了一种常见的保护措施…...

电商客服外包怎么选|避坑指南[特殊字符]2026 商家必看

做电商绕不开客服外包,但低价陷阱、转包兼职、大促掉链、响应超时、售后甩锅真的太坑了!今天整理一套不踩雷选型攻略,全是行业干货,新手也能直接抄作业👇 🚫先避坑:这些雷区千万别碰 超低价诱惑…...

用Arduino Uno和纸板DIY一个超静音扫地机器人(附完整代码和接线图)

用Arduino Uno和纸板DIY一个超静音扫地机器人(附完整代码和接线图) 在宿舍或小公寓里,市售扫地机器人的马达噪音常常让人头疼。特别是对于学生和创客群体来说,既需要保持环境整洁,又不希望打扰到室友或邻居的休息。今天…...

如何用代码思维提升90%图表效率?揭秘Mermaid的可视化革命

如何用代码思维提升90%图表效率?揭秘Mermaid的可视化革命 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edi…...

拦截器与 JWT 联合使用详解

1. 核心概念1.1 什么是 JWT?JWT 是一个开放标准(RFC 7519),用于在各方之间以 JSON 对象的形式安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。JWT 结构:Header(头部)&…...

Qwen3-14B中文大模型部署教程:token处理优化与生成质量调优

Qwen3-14B中文大模型部署教程:token处理优化与生成质量调优 1. 镜像概述与环境准备 Qwen3-14B是由通义千问团队开发的中文大语言模型,在各类自然语言处理任务中表现出色。本教程将详细介绍如何基于优化定制的私有部署镜像,快速搭建Qwen3-14…...

从Prompt到成稿|像素剧本圣殿输入剧情大纲→输出标准剧本全流程

从Prompt到成稿|像素剧本圣殿输入剧情大纲→输出标准剧本全流程 1. 工具介绍:像素剧本圣殿 像素剧本圣殿是一款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具。它将先进的AI文本生成能力与独特的8-Bit复古视觉风格相结合,为编…...

基于SpringBoot + Vue的校园论坛交流系统

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

5大核心功能深度解析:Umi-OCR开源离线文字识别工具的技术实现与应用指南

5大核心功能深度解析:Umi-OCR开源离线文字识别工具的技术实现与应用指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二…...

IDM开源工具免费使用指南:从安装到高级配置的完整实践

IDM开源工具免费使用指南:从安装到高级配置的完整实践 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Download Manager(IDM&am…...

内网外网互传文件慢怎么办?高速传输协议该如何选择?

企业日常办公中,内外网文件互传卡顿、中断、速度不达标的问题十分普遍,尤其在大文件与批量文件场景下,传统方式难以满足稳定高效的需求。选择合适的高速传输方案,直接影响跨网协作效率与数据安全,这也是多数运维与业务…...