轮廓系数做聚类,枚举

from sklearn.cluster import KMeans

from sklearn.metrics import silhouette_score

import numpy as np

X = your_embedding_or_pca_array # shape = (N, D)

best_k = None

best_score = -1

scores = []

for k in range(2, 15):

kmeans = KMeans(n_clusters=k, random_state=42)

labels = kmeans.fit_predict(X)

score = silhouette_score(X, labels)

scores.append(score)

if score > best_score:

best_score = score

best_k = k

print(f"最佳 k = {best_k}, 得分 = {best_score:.4f}")

可视化轮廓系数随 k 的变化

import matplotlib.pyplot as plt

plt.plot(range(2, 15), scores, marker='o')

plt.title("Silhouette Score vs K")

plt.xlabel("K")

plt.ylabel("Silhouette Score")

plt.grid(True)

plt.show()

相关推荐
Billy_Zuo19 分钟前
人工智能机器学习——逻辑回归
人工智能·机器学习·逻辑回归
非门由也1 小时前
《sklearn机器学习——管道和复合估计器》联合特征(FeatureUnion)
人工智能·机器学习·sklearn
l12345sy2 小时前
Day21_【机器学习—决策树(1)—信息增益、信息增益率、基尼系数】
人工智能·决策树·机器学习·信息增益·信息增益率·基尼指数
非门由也2 小时前
《sklearn机器学习——管道和复合估算器》异构数据的列转换器
人工智能·机器学习·sklearn
计算机毕业设计指导2 小时前
基于ResNet50的智能垃圾分类系统
人工智能·分类·数据挖掘
java1234_小锋2 小时前
Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 主成分分析 (PCA)
python·机器学习·scikit-learn
java1234_小锋2 小时前
Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 线性判别分析 (LDA)
python·机器学习·scikit-learn
小王爱学人工智能3 小时前
快速了解迁移学习
人工智能·机器学习·迁移学习
非门由也4 小时前
《sklearn机器学习——管道和复合估算器》可视化复合估计器
人工智能·机器学习·sklearn
THMAIL5 小时前
深度学习从入门到精通 - 迁移学习实战:用预训练模型解决小样本难题
人工智能·python·深度学习·算法·机器学习·迁移学习