轮廓系数做聚类,枚举

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()

相关推荐
罗西的思考16 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
ShallWeL18 小时前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习
ShallWeL19 小时前
【机器学习】(2)—— 线性回归:损失函数
人工智能·机器学习
Lihua奏4 天前
# 机器学习:机器是怎么从数据里学出规则的
机器学习
饼干哥哥4 天前
用AI全自动剪辑,日更 100条爆款视频——HyperFrames、Remotion、Git使用入门
人工智能·机器学习·ai编程
魏祖潇5 天前
我在飞书里养了个“分身”——私聊喊它办事,群里 @ 它干活,还能替我传话
人工智能·机器学习