Sklearn K-均值算法

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

python 复制代码
# 导入必要的库
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-均值算法对初始中心的选择敏感,可能会导致不同的运行结果。为了获得更稳定的结果,通常建议在多次运行中使用不同的初始中心,并选择具有最高轮廓系数的聚类结果。

相关推荐
Learn Beyond Limits44 分钟前
Iterative loop of ML development|机器学习的迭代发展
人工智能·深度学习·神经网络·学习·机器学习·ai·吴恩达
Learn Beyond Limits2 小时前
Bias / variance and neural networks|偏差/方差和神经网络
人工智能·深度学习·神经网络·机器学习·ai·正则表达式·吴恩达
林泽毅2 小时前
Mac训练大模型:MLX-LM框架LoRA训练Qwen3并集成SwanLab进行可视化
人工智能·深度学习·macos·机器学习·大模型·模型训练
葫三生6 小时前
三生原理的“阴阳元”能否构造新的代数结构?
前端·人工智能·算法·机器学习·数学建模
做科研的周师兄6 小时前
【机器学习入门】3.3 FP树算法——高效挖掘频繁项集的“树状神器”
java·大数据·数据库·人工智能·深度学习·算法·机器学习
luofeiju7 小时前
直线拟合方法全景解析:最小二乘、正交回归与 RANSAC
人工智能·线性代数·算法·机器学习·数据挖掘·回归
王哥儿聊AI15 小时前
DAEDAL:动态调整生成长度,让大语言模型推理效率提升30%的新方法
人工智能·深度学习·机器学习·语言模型·自然语言处理
麦麦大数据15 小时前
F010 Vue+Flask豆瓣图书推荐大数据可视化平台系统源码
vue.js·mysql·机器学习·flask·echarts·推荐算法·图书
MisterZhang66618 小时前
Java使用apache.commons.math3的DBSCAN实现自动聚类
java·人工智能·机器学习·自然语言处理·nlp·聚类
艾醒19 小时前
大模型面试题剖析:PPO 与 GRPO 强化学习算法核心差异解析
人工智能·深度学习·机器学习