一张来自 Sklearn 的照片
该系列的另一篇文章全面解释了机器学习算法,即无监督学习中的 BIRCH 聚类。
该算法用于执行基于树的层次聚类。这些树被称为 CFT,即聚类特征树。桦树的完整形式是用 H 层次平衡 B 平衡 I 平衡 R 导出 C 光泽。BIRCH 集群的使用情形如下:
- 大型数据集
- 离群点检测
- 数据简化。
在这个群集中用于测量距离的度量是欧几里得距离测量。
有几点 BIRCH 在聚类算法中非常有用,如下所示:
- 处理数据集中的噪声非常有用。
- 发现聚类和子聚类的良好质量是有用的。
- 需要较少的数据集扫描过程以降低 I/O 成本,这是存储器有效的。
- 它远远优于 DBSCAN 聚类算法。
每种算法都有优点,但也有缺点,需要研究人员进一步研究,如下所示:
- 用 SS 值进行距离计算的数值问题会得到较差的精度。
pub.towardsai.net](/fully-explained-svm-classification-with-python-eda124997bcd) [## 使用 Python 中的 Keras 逐步基本了解神经网络
pub.towardsai.net](/step-by-step-basic-understanding-of-neural-networks-with-keras-in-python-94f4afd026e5)
当我们得到一个大规模数据集,而 BIRCH 由于使用整个数据集的内存限制而无法满足要求时,我们应该考虑从数据集中提取固定大小的小批量数据,以减少运行时间。
通过在每一次迭代中获得学习率来降低计算成本,但是它也影响聚类质量。
BIRCH 算法由下面讨论的 4 个主要步骤组成:
- **第一步:**从输入数据建立 CF 树,CF 由三个值组成。第一个是输入(N),第二个是线性和(LS),第三个是数据的平方和(SS)。
- **第二步:**为了重建更小的 CF 树,它在初始 CF 树中搜索叶条目。在此过程中,它将离群值和子聚类组移至主聚类。
- **第三步:**在这一步中,用户可以用一个阈值参数定义多个聚类。在叶条目上使用凝聚聚类来从 CF 向量中产生聚类。
- **在第四步:**在步骤 3 中引入质心或种子,以将聚类重新排列成新的聚类,同时减少离群值。
BIRCH 聚类的主要参数如下所示:
- **阈值:**新样本所在子簇的半径。阈值的默认值为 0.5,在启动时应该尽可能低。
- **分支因子:**用于统计每个节点的子簇总数。如果新样本在上述值之后进入,则子集群在该节点处进一步分裂。默认值是 50 个分支。
- N_clusters: 就是聚类的个数。
python 示例将生成五个包含 500 个随机数据点的聚类。
# Import the libraries
import matplotlib.pyplot as plt
from sklearn.cluster import Birchfrom sklearn.datasets.samples_generator import make_blobs
# Randomly generating 500 samples using make_blobs
data, clusters = make_blobs(n_samples = 500, centers = 5, cluster_std = 0.75, random_state = 0)
# BIRCHModel algorithm
model = Birch(branching_factor = 50, n_clusters = None, threshold = 1.5)
# Fitting the training data
model.fit(data)
# Predict the same data
pred = model.predict(data)
借助 Matplotlib 库可视化聚类
plt.scatter(dataset[:, 0], dataset[:, 1], c = pred, cmap =
'rainbow', alpha = 0.9, edgecolors = 'b')
plt.show()
集群。作者的照片
BIRCH 聚类优于另一种聚类算法,尤其是 K-Means 聚类。这有利于剔除异常值和提高内存效率。虽然,SS 的数值问题可以通过具有均值和偏差方法的桦树聚类特征来解决。
pub.towardsai.net](/become-a-data-scientist-in-2021-with-these-following-steps-5bf70a0fe0a1)
我希望你喜欢这篇文章。通过我的 LinkedIn 和 twitter 联系我。
1。NLP —零到英雄与 Python 2。 Python 数据结构数据类型和对象3 .数据预处理概念同 Python 4。用 Python 进行主成分分析降维 5。用 Python 全面讲解 K-means 聚类 6。用 Python 7 全面讲解了线性回归。用 Python 充分解释了 Logistic 回归 8。用 Python 实现时间序列的基础知识 9。与 Python 的数据角力—第一部分 10。机器学习中的混淆矩阵