使用AGNES算法对鸢尾花数据集进行聚类的示例代码,包括使用四种距离度量方式进行聚类:何将聚类结果可视化
时间: 2023-06-04 18:04:41 浏览: 382
您好,以下是示例代码:
```python
from sklearn.datasets import load_iris
from sklearn.cluster import AgglomerativeClustering
from sklearn.metrics import pairwise_distances
import matplotlib.pyplot as plt
# 加载鸢尾花数据集
data = load_iris().data
# 距离度量方式:欧几里得距离
model = AgglomerativeClustering(n_clusters=3, affinity='euclidean', linkage='ward')
model.fit(data)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=model.labels_)
plt.show()
# 距离度量方式:曼哈顿距离
distances = pairwise_distances(data, metric='cityblock')
model = AgglomerativeClustering(n_clusters=3, affinity='precomputed', linkage='average')
model.fit(distances)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=model.labels_)
plt.show()
# 距离度量方式:切比雪夫距离
distances = pairwise_distances(data, metric='chebyshev')
model = AgglomerativeClustering(n_clusters=3, affinity='precomputed', linkage='single')
model.fit(distances)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=model.labels_)
plt.show()
# 距离度量方式:相关系数距离
distances = pairwise_distances(data, metric='correlation')
model = AgglomerativeClustering(n_clusters=3, affinity='precomputed', linkage='complete')
model.fit(distances)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=model.labels_)
plt.show()
```
注意:这里只是一个示例代码,实际应用中可能需要根据具体情况进行调整。
阅读全文