Sklearn K-均值算法

news/2024/7/9 8:33:25 标签: sklearn, 均值算法, 机器学习

以下是一个使用Sklearn库实现K-均值聚类算法的简单代码示例。K-均值算法是一种迭代算法,用于将数据集分为K个簇,使得每个簇的内部平方误差最小。

# 导入必要的库
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
import numpy as np
# 创建样本数据
# X是一个包含特征的二维数组
# 这里我们随机生成数据
np.random.seed(0)
X = np.random.rand(100, 2)  # 100个样本,每个样本有2个特征
# 创建KMeans聚类模型实例
# 你可以根据需要调整n_clusters参数,即簇的数量
kmeans = KMeans(n_clusters=3, random_state=42)
# 训练模型
kmeans.fit(X)
# 预测聚类结果
labels = kmeans.predict(X)
# 计算并打印轮廓系数,评估聚类效果
silhouette = silhouette_score(X, labels)
print(f"轮廓系数为: {silhouette}")
# 打印聚类中心
print("聚类中心:", kmeans.cluster_centers_)
# 打印每个样本的预测标签
print("预测标签:", labels)

在上面的代码中,我们首先生成了一些随机数据作为样例,然后创建了一个KMeans聚类模型,并使用数据来拟合模型。在模型训练之后,我们使用轮廓系数来评估聚类的质量,轮廓系数取值范围在-1到1之间,值越大表示聚类效果越好。我们还打印出了聚类中心和每个样本的预测标签,以便于理解聚类结果。
请注意,K-均值算法对初始中心的选择敏感,可能会导致不同的运行结果。为了获得更稳定的结果,通常建议在多次运行中使用不同的初始中心,并选择具有最高轮廓系数的聚类结果。


http://www.niftyadmin.cn/n/5435511.html

相关文章

Android VINF和兼容性矩阵

周末搞这玩意欲仙欲死,没办法只有看看。VINTF是供应商接口对象(VINTF 对象),准确的说,这个是属于兼容性矩阵概念。。。有点想起了以前看过的一个电影,异次元杀阵。。。 1 基础 这个是谷歌官方的图。 本质…

vue ui 无反应解决方法

cmd 输入vue ui 无反应解决方法 在学习vuex的过程中,需要用到vue ui 建立项目,遇到的问题记录一下,希望能够以帮助有问题的其他人 查看vue版本 vue --version 或者 vue -V 发现vue版本才2.9.6 由于vue ui 命令需要vue3.0以上,…

基于检索增强的 GPT-3.5 的文本到 SQL 框架,具有样本感知提示和动态修订链。

文章目录 一、论文关键信息二、基础概念三、主要内容1. Motivations2. Insights3. 解决方案的关键4. 实验 四、总结与讨论 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、论文关键信息 论文标题:Retrieval-augmented GPT-3.5-based T…

利用 STM32 TIMER 触发 ADC 实现分组转换

1、问题描述 使用 STM32G4 系列芯片开发产品,用到其中一个 ADC 模块的多个通道,他希望使 用 TIMER 来定时触发这几个通道的转换。不过他有两点疑惑。第一,他期望定时器触发这几个 通道是每触发一次则只转换一个通道,这样依次触发…

Sentinel篇:线程隔离和熔断降级

书接上回:微服务:Sentinel篇 3. 隔离和降级 限流是一种预防措施,虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。 而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离…

基于JavaWeb+SSM+Vue“鼻护灵”微信小程序系统的设计和实现

基于JavaWebSSMVue“鼻护灵”微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图 滑到文末获取源码 Lun文目录 摘 要 3 Abstract 1 1 绪 论 1 1.1研究背景 1 工作的效率。 1 1.2 研究意义 1 1.3研究现状 1 1.4本文组织结构 2 2 技术介绍 3 2…

HarmonyOS定时器与定时任务

HarmonyOS 的 ArkTS 说白了 就是 TS和JS混合 加了一些新特性的语言 定时任务 就还是用 js代码就OK了 我们代码这样写 Entry Component struct Twox {build() {Row() {Column(){Button("触发定时任务").onClick(()>{setTimeout(()> {console.log(执行)},2000…

数据结构大合集02——线性表的相关函数运算算法

函数运算算法合集02 顺序表的结构体顺序表的基本运算的实现1. 建立顺序表2. 顺序表的基本运算2.1 初始化线性表2. 2 销毁顺序表2.3 判断顺序表是否为空表2.4 求顺序表的长度2.5 输出顺序表2.6 按序号求顺序表中的元素2.7 按元素值查找2.8 插入数据元素2.9 删除数据元素 单链表的…