1. MLK | 非监督学习最强攻略
非监督学习最强攻略如下:
核心算法:
- KMean聚类法:通过迭代优化数据的分组,以最小化样本与簇中心的距离平方和。优点在于处理大数据集效率较高,但K值选择需人工干预,且易受初始值和异常值影响。优化方法包括数据标准化和选择合适的K值。
- KMean++:改进了KMean的初始值选取策略,提高了算法的稳定性和效率。
- ISODATA算法:适应K值不确定的情况,在KMean基础上增加了数据组织和参数调整步骤,提高了算法的灵活性和适应性。
- 高斯混合模型:假设数据符合正态分布,通过EM算法实现,既可用于聚类又可估计概率密度,提供了更丰富的数据表示和分析能力。
其他重要算法:
- SOM:模仿大脑神经系统,通过竞争学习和空间位置调整,提供了一种强大的数据可视化和聚类工具。无需预设K值,但可能在噪声影响和准确性上有所牺牲。
评估聚类效果的指标:
- 轮廓系数:衡量聚类效果的紧密性和分离性,值越大表示聚类效果越好。
- CalinskiHarabaz指数:通过计算类内离散度和类间离散度的比值来评估聚类效果,值越大表示聚类效果越好。
- 互信息分数:衡量聚类结果与真实标签之间的相关性,适用于有真实标签的情况下的聚类效果评估。
Python实现:
- Scikit learn库中提供了多种聚类算法的实现,如KMeans、分层聚类、tSNE、DBSCAN和MiniBatchKMeans等,可以通过编写Python代码来应用这些算法进行数据处理和分析。
总结:非监督学习是一种强大的数据分析工具,通过探索数据内在结构来发现数据的隐藏模式和特征。掌握核心算法和评估指标是非监督学习的关键,同时Python实现也是将理论应用于实践的重要途径。
2. 轮廓系数怎么算
轮廓系数的计算步骤如下:
计算样本i到同一类中其他样本的平均距离ai。ai越小,说明样本i与同类中其他样本的距离越近,即越相似。我们将ai称为样本i的类别内不相似度。
计算样本i到其他类别的所有样本的平均距离bi,称为样本i与其他类之间的不相似度。bi越大,说明样本i与其他类之间距离越远,即越不相似。
根据样本i的簇内不相似度ai和簇间不相似度bi ,定义样本i的轮廓系数为:

了解清楚原理以后,我们来看下在Python中怎么实现,这个系数在Sklearn库中是有现成的包可以供我们使用的:
silhouette_score:是获取模型总体的轮廓系数
silhouette_samples:是获取每个样本的轮廓系数