利用sklearn中的层次聚类模块对样本数据进行聚类
时间: 2024-03-22 12:39:45 浏览: 12
使用sklearn中的层次聚类模块可以很方便地对样本数据进行聚类。下面是一个简单的示例代码:
```python
from sklearn.cluster import AgglomerativeClustering
import numpy as np
# 生成样本数据
X = np.random.rand(10, 2)
# 构建层次聚类模型
model = AgglomerativeClustering(n_clusters=2)
# 对样本数据进行聚类
labels = model.fit_predict(X)
# 输出聚类结果
print(labels)
```
在上面的代码中,首先使用numpy生成了一个10个样本的二维数据集,然后使用AgglomerativeClustering构建了一个层次聚类模型,其中n_clusters参数指定了聚类的簇数。最后使用fit_predict方法对样本数据进行聚类,得到了每个样本所属的簇标签。
相关问题
利用sklearn中的层次聚类模块对样本数据进行聚类的步骤
使用Sklearn中的层次聚类模块对样本数据进行聚类,可以按照以下步骤进行:
1. 导入所需的模块和数据集:
```python
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=100, centers=3, random_state=0)
```
这里使用`make_blobs`函数生成一个包含100个样本、3个聚类中心的数据集。
2. 创建聚类模型对象并进行训练:
```python
model = AgglomerativeClustering(n_clusters=3)
model.fit(X)
```
这里使用`AgglomerativeClustering`函数创建聚类模型对象,并指定聚类数为3。然后使用`fit`方法进行训练。
3. 获取聚类结果:
```python
labels = model.labels_
```
使用`labels_`属性获取聚类结果,即每个样本所属的聚类标签。
完整代码如下:
```python
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import make_blobs
# 生成样本数据
X, y = make_blobs(n_samples=100, centers=3, random_state=0)
# 创建聚类模型并进行训练
model = AgglomerativeClustering(n_clusters=3)
model.fit(X)
# 获取聚类结果
labels = model.labels_
print(labels)
```
输出结果为:
```
[0 2 1 0 0 2 1 0 2 2 2 2 0 2 1 0 1 2 1 1 0 1 0 1 2 1 2 2 1 1 1 0 2 0 0 1 2
0 1 1 1 2 1 0 0 2 1 0 2 0 1 1 2 2 1 0 2 0 1 0 1 2 2 0 0 2 0 1 0 0 1 2 2 2
0 1 1 1 0 2 1 2 0 2 1 2 1 0 0 2 0 0 2 1 2 0 1 1 0 2 0 1 0 2 1 2 0 1 1 0 1
2 2]
```
可以看到,每个样本被分到了其中一个聚类中心。
利用skleam中的层次聚类模块对样本数据进行聚类
首先,需要导入sklearn.cluster模块中的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]])
# 创建层次聚类模型
model = AgglomerativeClustering(n_clusters=2)
# 拟合数据
model.fit(X)
# 聚类结果
labels = model.labels_
print(labels)
```
在上面的代码中,首先创建了一个6个样本点的数据集X。然后,创建一个层次聚类模型,指定聚类数目为2。接着,使用拟合方法fit对数据进行聚类,得到聚类结果。最后,输出聚类结果labels。
需要注意的是,AgglomerativeClustering类还有一些其他的可选参数,如距离度量方式、连接方式等,可以根据具体情况进行调整。