【数据科学家私藏技巧】:用cluster包+silhouette系数打造高质量聚类模型

聚类评价指标(轮廓系数 Silhouette coefficient) 聚类评价指标 最近在做聚类的项目,聚类得到结果后我们需要知道聚类的好坏,用哪个算法效果比较好。肯定要选择那个最好评价的算法。今天我们就不谈算法只谈算法结果的评价。 我也从网上看了很多的别人写的东西,总之是五花八门的。那下面我们言归正传。 聚类算法是机器学习算法中的一种无监督算法。那么在生活中我们大多数做项目的话其实数据集都是为标定的。我看到许多人有写到通过有label的样本,计算它的混淆矩阵。这不乏是一种办法,那么今天说的方法其实是一种内部方法,就是说通过聚类后的结果label来计算的一种评价指标。 内部有 阅读详情

第一章:聚类质量评估的挑战与silhouette系数的价值

在无监督学习中,聚类算法被广泛用于发现数据中的潜在结构。然而,由于缺乏真实标签,评估聚类结果的质量成为一大挑战。传统的误差指标(如准确率)无法直接应用,因此需要依赖内部评估指标来衡量簇的紧凑性与分离性。

聚类评估的核心难题

聚类质量评估面临多个难点:
  • 没有 ground truth 标签,难以量化正确性
  • 不同算法对“好聚类”的定义存在差异
  • 簇的数量选择(k值)直接影响结果,但最优k通常未知
  • 高维数据中距离度量失效,影响簇间分离性的判断

Silhouette系数的优势

Silhouette系数是一种结合簇内紧密度和簇间分离性的综合指标,其取值范围为 [-1, 1],越接近1表示样本聚类效果越好。该系数对任意聚类算法均适用,且无需真实标签,非常适合实际应用场景。 计算单个样本 i 的 Silhouette 值公式如下:
# 计算 silhouette 系数示例(使用 scikit-learn)
from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeans
import numpy as np

# 生成示例数据
X = np.random.rand(100, 5)

# 执行 K-Means 聚类
kmeans = KMeans(n_clusters=3)
labels = kmeans.fit_predict(X)

# 计算 silhouette 分数
score = silhouette_score(X, labels)
print(f"Silhouette Score: {score:.3f}")
该代码段展示了如何使用 scikit-learn 快速计算聚类结果的 silhouette 分数。执行逻辑为:先生成随机数据,进行K-Means聚类,再基于特征矩阵和聚类标签计算整体轮廓系数。

解释与参考标准

以下为常见 silhouette 系数的解释参考:
系数范围聚类质量解释
0.7 ~ 1.0强聚类结构
0.5 ~ 0.7合理聚类
0.25 ~ 0.5弱聚类,可能需优化
< 0.25聚类可能无意义
通过 silhouette 分析,不仅能评估整体聚类效果,还可识别异常簇或离群点,为模型调优提供直观依据。

第二章:silhouette系数理论基础与cluster包核心功能

2.1 silhouette系数的数学定义与解释

轮廓系数的基本概念
silhouette系数用于衡量聚类结果中样本与其所属簇的紧密程度,以及与其他簇的分离程度。其取值范围为[-1, 1],值越接近1表示聚类效果越好。
数学公式表达
对于每个样本i,定义a(i)为其到同簇其他样本的平均距离(内聚度),b(i)为其到最近其他簇所有样本的平均距离(分离度)。则轮廓系数为:

s(i) = (b(i) - a(i)) / max(a(i), b(i))
该公式通过比较个体与内部和外部簇的距离,量化聚类合理性。
结果解读
  • s(i) ≈ 1:样本远离邻近簇,聚类效果理想
  • s(i) ≈ 0:样本位于两簇边界,分类模糊
  • s(i) ≈ -1:样本可能被错误分配至簇

2.2 距离度量选择对silhouette的影响

距离度量的作用机制
轮廓系数(Silhouette Score)依赖样本与其所在簇及其他簇之间的距离关系。不同距离度量方式会显著改变距离计算结果,从而影响轮廓系数的值。
常见距离度量对比
  • 欧氏距离:适用于各维度量纲一致、簇呈球形分布的数据
  • 曼哈顿距离:对异常值更鲁棒,适合高维稀疏数据
  • 余弦相似度:关注向量方向,常用于文本聚类
from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

# 使用标准化后的数据计算轮廓系数
X_scaled = StandardScaler().fit_transform(X)
kmeans = KMeans(n_clusters=3, random_state=42)
labels = kmeans.fit_predict(X_scaled)

score = silhouette_score(X_scaled, labels, metric='euclidean')
上述代码中,metric参数指定距离类型,直接影响轮廓系数的计算结果。选择不当可能导致评估失真。

2.3 cluster包中silhouette函数的参数解析

核心参数详解
`silhouette` 函数用于计算聚类结果的轮廓系数,评估聚类质量。其主要参数包括距离矩阵、聚类向量和距离度量方式。
  • d:样本间的距离对象,通常由 dist() 或 daisy() 生成;
  • clustering:整数向量,表示每个样本所属的簇;
  • metric:计算距离的方式,如 "euclidean" 或 "manhattan"。
代码示例与说明

library(cluster)
d <- dist(iris[, 1:4])
cl <- cutree(hclust(d), k = 3)
sil <- silhouette(cl, d)
plot(sil)
上述代码首先计算鸢尾花数据的距离矩阵,进行层次聚类并划分3个簇,随后调用 silhouette 计算轮廓值。参数 cl 对应聚类标签,d 提供欧氏距离结构,自动匹配样本间距。
输出结构分析
返回对象为矩阵,每行对应一个样本,包含簇分配、邻近簇及轮廓宽度,可用于可视化聚类分离效果。

2.4 多簇结构下的silhouette轮廓图解读

在多簇聚类分析中,轮廓系数(Silhouette Score)为评估簇间分离度与簇内紧密度提供了量化依据。通过轮廓图可直观识别簇的分布质量与异常聚集现象。
轮廓系数计算逻辑
轮廓系数定义为 $ s = \frac{b - a}{\max(a, b)} $,其中 $ a $ 为样本到同簇其他点的平均距离(内聚性),$ b $ 为到最近邻簇所有点的平均距离(分离性)。值域范围为 [-1, 1],越接近 1 表示聚类效果越好。
from sklearn.metrics import silhouette_samples
import numpy as np

# 假设 labels 为聚类结果,X 为特征矩阵
silhouette_vals = silhouette_samples(X, labels)
avg_score = np.mean(silhouette_vals)
上述代码计算每个样本的轮廓值并求均值。若多个簇的轮廓分布高度不均,可能表明存在大小差异显著或边界模糊的簇。
多簇场景下的图形解读
轮廓图中,每簇对应一组水平条形,长度表示轮廓值大小。理想情况下,各簇条形均匀且长;若某簇条形短或出现负值,则提示该簇可能被过度分割或数据分布不均。

2.5 簇间分离性与簇内紧密性的平衡判断

在聚类分析中,理想的簇结构应具备高簇间分离性与强簇内紧密性。二者之间的平衡直接影响聚类质量。
评估指标选择
常用指标包括轮廓系数(Silhouette Score)、Calinski-Harabasz 指数和 Davies-Bouldin 指数。其中,轮廓系数综合考虑了簇内紧凑度与簇间分离度:

from sklearn.metrics import silhouette_score
score = silhouette_score(X, labels)
该代码计算数据集 `X` 在聚类标签 `labels` 下的平均轮廓系数,取值范围为 [-1, 1],越接近 1 表示聚类效果越好。
权衡策略对比
  • 高分离性:不同簇中心间距大,减少类别混淆
  • 高紧密性:簇内样本距离近,提升内部一致性
  • 过度优化任一目标可能导致另一项恶化
通过多指标联合分析,可实现二者有效平衡。

第三章:基于R语言的聚类建模实战准备

3.1 数据预处理与标准化策略

在机器学习流程中,原始数据往往包含噪声、缺失值和不一致的量纲,直接影响模型性能。因此,数据预处理成为不可或缺的前置步骤。
缺失值处理
常见的策略包括删除、均值/中位数填充和插值法。对于数值型特征,使用均值填充可保持分布趋势:
import pandas as pd
df['feature'].fillna(df['feature'].mean(), inplace=True)
该代码将缺失值替换为列均值,inplace=True 表示原地修改,节省内存。
特征标准化
不同特征可能具有不同量级,需进行标准化以消除量纲影响。Z-score 标准化公式为:
(x - μ) / σ
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaled_data = scaler.fit_transform(df[['feature1', 'feature2']])
StandardScaler 使数据均值为0,标准差为1,适用于大多数基于距离的算法。
  • 标准化提升模型收敛速度
  • 减少异常值对训练的干扰
  • 增强特征间的可比性

3.2 使用pam、kmeans进行初步聚类划分

在无监督学习中,KMeans 和 PAM(Partitioning Around Medoids)是两种经典的聚类算法,适用于对数据集进行初步结构探索。
算法特性对比
  • KMeans:基于质心划分,计算效率高,但对异常值敏感;
  • PAM:基于实际样本点(中心点)聚类,鲁棒性强,适合小规模数据。
Python实现示例
from sklearn.cluster import KMeans
from sklearn_extra.cluster import KMedoids
import numpy as np

# 模拟特征数据
X = np.random.rand(100, 5)

# KMeans聚类
kmeans = KMeans(n_clusters=3, random_state=42)
labels_kmeans = kmeans.fit_predict(X)

# PAM聚类(KMedoids)
pam = KMedoids(n_clusters=3, metric='euclidean', method='pam')
labels_pam = pam.fit_predict(X)
上述代码中,KMeans 使用欧氏距离最小化簇内平方和,而 KMedoids 来自 sklearn_extra,通过选择实际数据点作为中心提升稳定性。参数 method='pam' 启用标准PAM算法,确保最优中心点搜索。

3.3 利用cluster包计算并可视化silhouette结果

在R语言中,`cluster`包提供了强大的聚类分析工具,其中`silhouette()`函数可用于评估聚类质量。该函数基于样本点到所属簇与其他簇的距离,计算每个样本的轮廓宽度。
轮廓系数计算步骤
  • diss:输入可以是距离矩阵或由daisy()生成的相异度对象
  • clustering:整数向量,表示每个样本的聚类标签
  • distances:逻辑值,指示是否返回完整轮廓距离信息

library(cluster)
d <- dist(iris[,1:4])
fit <- hclust(d, method = "ward.D2")
clusters <- cutree(fit, k = 3)
sil <- silhouette(clusters, d)
上述代码首先构建鸢尾花数据的距离矩阵,执行层次聚类后切分为3类,并计算轮廓值。每个样本的轮廓值介于[-1,1],越接近1表示聚类效果越好。
可视化轮廓图
调用plot(sil)可自动生成轮廓图,横轴为轮廓宽度,不同颜色代表不同簇,便于识别聚类紧凑性与异常分配。

第四章:优化聚类模型的关键技巧

4.1 基于silhouette平均值确定最优簇数k

在聚类分析中,选择合适的簇数 $ k $ 至关重要。Silhouette 分析通过计算每个样本的轮廓系数,衡量样本与其所属簇的紧密程度以及与其他簇的分离程度,从而辅助确定最优 $ k $。
轮廓系数定义
对于每个样本 $ i $,其轮廓系数 $ s(i) $ 定义为: $$ s(i) = \frac{b(i) - a(i)}{\max(a(i), b(i))} $$ 其中 $ a(i) $ 是样本到同簇其他样本的平均距离(内聚度),$ b(i) $ 是样本到最近其他簇所有样本的最小平均距离(分离度)。系数范围为 [-1, 1],越接近 1 表示聚类效果越好。
代码实现与分析
from sklearn.metrics import silhouette_score
from sklearn.cluster import KMeans

silhouette_scores = []
for k in range(2, 11):
    kmeans = KMeans(n_clusters=k, random_state=42)
    kmeans.fit(X)
    score = silhouette_score(X, kmeans.labels_)
    silhouette_scores.append(score)
上述代码遍历 $ k=2 $ 到 $ 10 $,训练 K-Means 模型并计算平均轮廓系数。应选择使平均轮廓系数最大的 $ k $ 值,代表整体聚类结构最合理。

4.2 识别异常点与模糊归属样本

在构建高质量数据集的过程中,识别异常点与模糊归属样本是提升模型鲁棒性的关键步骤。这些样本可能源于标注错误、数据噪声或边界情况,若不加以处理,将显著影响模型的泛化能力。
常见异常类型
  • 数值异常:超出合理范围的特征值,如年龄为负数;
  • 类别异常:罕见类别组合,如“未婚”且“已育三孩”;
  • 语义模糊:图像中目标不完整或标签歧义。
基于孤立森林的异常检测示例
from sklearn.ensemble import IsolationForest
import numpy as np

# 模拟高维特征数据
X = np.random.randn(1000, 10)
clf = IsolationForest(contamination=0.1, random_state=42)
preds = clf.fit_predict(X)  # -1 表示异常点
anomalies = X[preds == -1]
该代码使用孤立森林算法对高维数据进行异常检测。参数 contamination 设定异常比例,fit_predict 返回每个样本的预测标签(1为正常,-1为异常),便于后续清洗或人工复核。
模糊样本判别策略
可结合模型预测置信度与专家规则联合判定。例如,分类概率接近决策边界的样本视为模糊归属,需进入人工审核流程。

4.3 结合业务背景调整聚类粒度

在实际应用中,聚类结果的可用性不仅取决于算法性能,更需贴合业务需求。例如,在客户分群场景中,若市场部门希望针对高价值客户制定精细化运营策略,则需要更细的聚类粒度以区分行为差异较小的群体。
基于业务反馈动态调整参数
可通过调节聚类算法中的关键参数来控制分组数量与紧密度。以K-means为例:

# 根据业务需求尝试不同簇数
from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=6, random_state=42)  # 初始设为6组
cluster_labels = kmeans.fit_predict(scaled_data)
此处将 n_clusters 设为6,源于业务方认为客户类型大致可分为高端、中端、潜力、流失风险、价格敏感、活跃但低消费六类。通过与业务团队反复验证轮廓系数与群体可解释性,最终确定最优粒度。
评估标准融合业务指标
  • 轮廓系数用于衡量聚类紧致性
  • 结合RFM得分分布判断群体商业价值差异
  • 确保每类客户具备可执行的运营策略路径

4.4 模型稳定性检验与交叉验证思路

在构建机器学习模型时,确保其在不同数据子集上的表现一致性至关重要。模型稳定性检验旨在评估模型对训练数据扰动的敏感程度,避免因小样本波动导致性能剧烈变化。
交叉验证的基本策略
采用K折交叉验证可有效提升评估可靠性。将数据划分为K个子集,依次使用其中一份作为验证集,其余训练模型,最终取平均性能指标:

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5, scoring='accuracy')
print("CV Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))
该代码执行5折交叉验证,cv=5表示分割份数,scores返回各折准确率,标准差反映模型稳定性。
稳定性评估维度
  • 性能方差:交叉验证中得分的标准差越小,稳定性越高
  • 特征权重一致性:不同折次间重要特征是否保持稳定
  • 预测结果波动:同一测试样本在不同训练路径下的输出差异

第五章:构建可解释、高鲁棒性聚类系统的思考

特征工程与可解释性的协同设计
在实际金融风控场景中,某机构使用K-means对用户行为聚类时发现结果难以解释。通过引入SHAP值分析各特征贡献度,团队重构了特征集,剔除高度共线性变量,并标准化数值范围。最终聚类轮廓系数提升至0.72,业务人员可依据“登录频率”与“交易波动率”明确划分四类用户群体。
  • 使用Z-score标准化连续型特征
  • 通过PCA降维前保留原始特征映射关系
  • 集成树模型输出特征重要性排序
鲁棒性增强策略
针对异常值敏感问题,采用DBSCAN替代传统算法。以下为参数调优核心代码片段:

from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 基于k-distance图确定eps
dbscan = DBSCAN(eps=0.65, min_samples=5)
labels = dbscan.fit_predict(X_scaled)
多算法融合验证机制
为提升系统稳定性,构建交叉验证框架:
算法轮廓系数CH指数运行时间(s)
K-means0.61231012.3
Agglomerative0.68298021.7
GMM0.65264018.9
流程图:聚类系统决策流
数据预处理 → 特征选择 → 多算法并行执行 → 结果一致性检验(Jaccard相似度)→ 输出共识聚类标签
【Python实例第21讲】确定类个数的silhouette分析法 机器学习训练营——机器学习爱好者的自由交流空间(qq 群号:696721295) 在聚类问题中,Silhouette分析用来研究聚类结果的类间距离。Silhouette数值度量在相同类中的点,与不同类中的点相比的紧密程度。Silhouette图可视化这一测度,这样就提供了一种评价类个数的方法。 Silhouette值在[-1, 1]内,接近1表示样本远离邻近类,取0表示样本几乎在两个近邻类的决... 阅读详情

相关推荐

机器学习-KMeans聚类(肘系数Elbow和轮廓系数Silhouette)

Section I: Brief Introduction on KMeans Cluster The K-Means algorithm belongs to the category of prototype-based clustering. Prototype-based clustering means that each cluster is represented by a prot...

Santorinisu Blogs 1万+

聚类 - 3 - 轮廓系数

本总结是是个人为防止遗忘而作,不得转载和商用。            用聚类算法分好类后如何判断分的效果呢?方法就是轮廓系数(Silhouette)。          Silhouette系数是对聚类结果有效性的解释和验证,由Peter J. Rousseeuw于1986提出。          方法:                   1,计算样本i到同簇其他样本的平均距离ai。a

xueyingxue001的专栏 2万+

轮廓系数(Silhouette Coefficient)

轮廓系数(Silhouette Coefficient)是一种评估聚类效果的指标,用来衡量数据点在聚类中的紧密程度和分离程度。每个数据点的轮廓系数是通过比较该点与其所在聚类内的点的平均距离(内聚度)和该点与最近的其他聚类中的点的平均距离(分离度)来计算的。轮廓系数的值范围从-1到1,其中接近1的值表示该点很好地匹配其自身聚类,并且与相邻聚类差异很大,而接近-1的值则表示该点更适合与相邻的聚类而不是当前聚类。

qlkaicx的博客 4023

确定最佳聚类的算法(一)

一、背景 聚类最难得就是确定最佳的聚类数,下面介绍几种方法。 二、确定最佳聚类数 2.1 轮廓系数(Silhouette) Silhouette系数是对聚类结果有效性的解释和验证,由Peter J. Rousseeuw于1986提出。 图解原理如下: 具体方法如下: 计算簇内不相似度 计算样本 iii 到同簇其他样本的平均距离 aia_iai​。aia_iai​ 越小,说明样本 iii 越应该被聚类到该簇。将 aia_iai​ 称为样本 iii 的簇内不相似度。 簇C中所有样本的a i 均值称为簇

XIAOFEI@IDO 5188

AT89C52单片机+LCD屏:手把手教你做一个能算小数和负数的计算器(附完整代码)

本文详细介绍了如何使用AT89C52单片机和LCD1602显示屏构建一个支持小数和负数运算的高精度计算器。从硬件选型、系统架构设计到核心算法实现,提供了完整的代码示例和优化技巧,特别适合51单片机初学者和课程设计参考。

weixin_30374009的博客 371

Jupyter Lab 无法启动 Kernel 问题排查与解决总结

使用 curl,telnet,或 Python websocket-client 库可以本地模拟 WebSocket 握手行为,帮助分析服务端响应状态。避免使用 http:// + ws:// 组合方式部署 Jupyter Lab,特别是在远程或跨域访问场景。建议统一采用 https:// + wss:// 方式部署,确保浏览器信任并兼容。确认 WebSocket 已升级为 wss://,内核可正常启动。但在远程访问时,浏览器出于安全策略,默认拒绝 ws:// 协议。

weixin_43866043的博客 1858

聚类评估算法-轮廓系数(Silhouette Coefficient )

轮廓系数 是用来 判断 “聚类效果”的 一个指标。 轮廓系数的核心思想是判断:类间距离 与 类内距离 的相对大小,如果 类间距离 &gt; 类内距离,则说明 聚类结果好,反之,则不好。 轮廓系数 的 这种思想 与 “Fisher线性判别”很相似,都是判定 “类间距离” 与 “类内距离” 的相对大小。不同的是,轮廓系数 是用来 衡量“聚类结果”好坏的,而Fisher线性判别中“类间,类内距离比较”是...

u014765410的博客 7893

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

jiaworld的博客 730

聚类之轮廓系数

聚类的指标之一。它衡量了数据点与同簇内其他点的相似度以及与最近簇的相似度之间的对比。

dundunmm的博客 1471

开题报告该怎么写

考研即将来临,而一般很多大学都会选择在考研结束之后开始安排选题和开题报考(考研之前一般都不谈,老师也很人性化的,不愿意耽误你的复习) 但无论怎么推迟,我们最终都需要去面对并完成这些任务。 现在我就要教大家该如何写一个完整的开题报告! 准备模板。不同的学校有不同的格式,一般情况你的导师会给你们一个学校的标准格式,这个不用太费心。有了模板我们就可以按照模板的“线索”一步一步填充完成即可! 一般大致格式可谓: 研究背景/论文的目的、背景和意义 我们需要写明选择该题目的...

wuyueweifeng的博客 1095

Vben Admin权限管理全解析:从动态菜单到按钮级控制(附代码示例)

本文全面解析Vben Admin框架的权限管理系统,从动态菜单生成到按钮级细粒度控制,提供完整的实现方案和代码示例。深入探讨基于角色-权限模型的架构设计,分享前后端协作的最佳实践,帮助开发者快速构建安全高效的企业级后台系统。

weixin_30919429的博客 485

《sklearn机器学习——聚类性能指标》Silhouette 系数

轮廓系数是一种用于评估聚类质量的内部指标,它通过计算样本到同簇和最近其他簇的平均距离来量化聚类效果,取值范围为[-1,1],值越大表明聚类效果越好。其优点包括无需真实标签、直观可解释性强、可进行样本级分析等,但对非凸簇效果不佳且计算复杂度较高。典型应用包括确定最优聚类数k和评估聚类质量,Python中可通过scikit-learn的silhouette_score实现。

m0_71002812的博客 1455

保姆级教程:用海思PQTool搞定ISP图像调试,从参数读取到固件烧录全流程

本文提供海思PQTool的ISP图像调试全流程指南,从参数读取、实时调试到固件烧录,涵盖环境配置、核心功能解析、参数固化及生产部署。通过实战案例和避坑指南,帮助开发者高效提升图像质量,适用于海思开发板的ISP调试与优化。

weixin_30872337的博客 280

聚类算法评估指标

在不了解样本标签的情况下,评估聚类算法性能的最常用方法。它提供了每个样本索引和全局图形表示,显示了聚类的内部一致性和分离水平。:簇之间的协方差越大,簇与簇之间界限越明显,聚类效果也就越好。簇内部数据的协方差越小,同一个簇内包含的样本越相似,聚类效果越好。:轮廓系数是所有样本轮廓系数的平均值。轮廓系数的范围为[-1,1],同类别样本距离越近且不同类别样本距离越远,分数越高。:取值范围在[-1,1],值越大意味着聚类结果与真实情况相吻合。:范围为[0,1],值越大代表着聚类效果与真实情况越吻合。

weixin_43791406的博客 634

PON架构(全光网络)

目前组网架构世界上有一种最快的速度又是光,以前传统以太网络规划满足不了现在的需求。有线网 无线网 全光网络方案场景 全光网络分类 以太全光网络 PON(Pas-sive-Optical Network 无源光网络) 再典型的中大型高校网络中 推荐万兆入室 千兆到桌面的带宽设计 一般三层 (终端-接入层-汇聚层-核心层-出口(安全设备)-互联网) 单校区核心设备 一般采用两台高性能的核心交换机 双机的方式采用的是 M-LAG 多校区之间核心交换机采用1

qq_56248592的博客 6269

数仓建模—维度建模之维度表

首先要学会识别维度,维度是相对稳定的、可抽象具有共性的、固有的(天然的)描述度量或事实的上下文属性信息,失去维度信息的度量信息是没有意义的或者说是失去维度信息的事实表是没有意义的。其次要掌握维度表的设计原则和设计流程,从而更加科学的设计维度表,其实这些东西都是术,我们一直都说一句话大道至简,其实如果你掌握了精髓,抛开这些术也可以做到得心应手,这就像张无忌练太极剑一样,忘记了才能达到道的境界,也就是无我,如果做不到就记住这些原则加以应用从而达到术的境界。

2401_84052244的博客 4363

【轮廓系数】

轮廓系数是一个有用的工具,可以帮助我们评估聚类算法的效果。通过计算样本之间的相似性和不相似性,我们可以获得一个直观的指标来判断聚类的质量。

武帝为此的博客 5361

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【scikit-learn】sklearn.metrics.silhouette_score() 函数:无监督聚类模型评估指标 轮廓系数

silhouette_score(轮廓系数)是sklearn.metrics提供的一个无监督聚类模型评估指标,用于衡量聚类结果的紧密性和分离性,其取值范围为[-1,1]。适用于确定最佳聚类数,值越接近1,说明聚类效果越好。可与ARI、NMI、Davies-BouldinScore结合使用,以更全面评估聚类质量。

彬彬侠的博客 2138

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

silhouette系数详解,深度解读cluster包中的聚类验证核心机制

掌握聚类效果评估方法,本文深入解析cluster包的 silhouette 系数原理与应用,涵盖适用场景、计算逻辑及优势对比,帮助优化模型选择。实用指南值得收藏。

PoliSeed的博客 809

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【R语言高级聚类技术】:silhouette系数在cluster包中的黄金法则

掌握聚类质量评估黄金标准!本文深入解析R语言cluster包中silhouette系数的计算与应用,涵盖聚类数选择、结果验证等关键场景。通过可视化与实例演示其在K-means和层次聚类中的高效判别能力,提升模型可靠性,值得收藏。

CodeVibe的博客 848

silhouette系数详解,手把手教你用cluster包优化K-means聚类效果

掌握K-means聚类效果评估与优化方法,本文详解如何利用cluster包计算silhouette系数,判断最优簇数并提升聚类质量。适用于各类数据分组场景,操作步骤清晰,结果直观可靠,值得收藏。

CodeIsle的博客 1071

样本轮廓系数(原理、sklearn.metrics.silhouette_score、silhouette_samples参数介绍)

一、轮廓系数含义: 轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。 最佳值为1,最差值为-1。接近0的值表示重叠的群集。负值通常表示样本已分配给错误的聚类,因为不同的聚类更为相​​似 二、计算步骤: 1)对于簇中的每个向量,分别计算它们的轮廓系数。 对于其中的一个点 i 来说: 计算簇内不相似度a(i):i向量到同簇内其他点不相似程度的平均值,体现凝聚度 计算簇间不相似度b(i):i向量到其他...

maple05的博客 5万+

聚类︱python实现 六大 分群质量评估指标(兰德系数、互信息、轮廓系数)

之前关于聚类题材的博客有以下两篇: 1、 笔记︱多种常见聚类模型以及分群质量评估(聚类注意事项、使用技巧) 2、k-means+python︱scikit-learn中的KMeans聚类实现 . 1 R语言中的分群质量——轮廓系数 因为先前惯用R语言,那么来看看R语言中的分群质量评估,节选自笔记︱多种常见聚类模型以及分群质量评估(聚类注意事项、使用技巧): 没有固定标准,一般会...

素质云笔记 6万+

kmeans聚类理论篇

前言 kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。 本文记录学习kmeans算法相关的内容,包括算法原理,收敛性,效果评估聚,最后带上R语言的例子,作为备忘。   算法原理 kmeans的计算方法如下: 1 随机选取k个中心点 2 遍历所有数据,...

weixin_33860553的博客 1741

R语言做聚类分析Kmeans时确定类的个数

R语言做聚类分析Kmeans时确定类的个数

bug在左,生活在右 2万+

matlab silhouette函数,相当于Matlab的聚类质量函数?

我在下面展示了一个在MATLAB和Python/Numpy中的示例silhouette实现(请记住,我对MATLAB比较流利):1) MATLAB语言function s = mySilhouette(X, IDX)%# X : matrix of size N-by-p, data where rows are instances%# IDX: vector of size N, cluste...

weixin_33015139的博客 3492
上一篇: quantmod数据获取失败?getSymbols五大常见问题及解决方案(附实操代码)
下一篇: ggplot2的factor排序levels实战指南(90%数据分析师都忽略的关键细节)
DebugVibe
博客等级 码龄1年 151粉丝 2172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值