层次聚类 sklearn
时间: 2023-12-28 07:06:18 浏览: 97
层次聚类的评价
5星 · 资源好评率100%
层次聚类是一种常用的聚类算法,它可以将数据集中的样本分成不同的组或簇。在Python中,可以使用scikit-learn库中的AgglomerativeClustering函数来实现层次聚类。下面是一个简单的层次聚类示例:
```python
from sklearn.cluster import AgglomerativeClustering
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
[4, 2], [4, 4], [4, 0]])
clustering = AgglomerativeClustering().fit(X)
print(clustering.labels_)
```
上述代码中,我们使用numpy库生成了一个二维数组X,然后使用AgglomerativeClustering函数对其进行聚类,并输出每个样本所属的簇的标签。
另外,如果想要对AgglomerativeClustering算法进行测试,可以使用make_blobs函数生成一些随机数据,然后进行聚类。具体代码如下:
```python
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
X, y = make_blobs(n_samples=50)
model = AgglomerativeClustering(distance_threshold=0, n_clusters=None)
model = model.fit(X)
mat = getLinkageMat(model)
test = dendrogram(mat)
plt.show()
```
上述代码中,我们使用make_blobs函数生成了50个随机数据点,然后使用AgglomerativeClustering函数对其进行聚类,并使用matplotlib库将聚类结果可视化。
阅读全文