• 大小: 727B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Python
  • 标签: python  

资源简介

上述代码是利用python内置的k-means聚类算法对鸢尾花数据的聚类效果展示,注意在运行该代码时需要采用pip或者其他方式为自己的python安装sklearn以及iris扩展包,其中X = iris.data[:]表示我们采用了鸢尾花数据的四个特征进行聚类,如果仅仅采用后两个(效果最佳)则应该修改代码为X = iris.data[2:]

资源截图

代码片段和文件信息

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#############K-means-鸢尾花聚类############
import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans
from sklearn import datasets
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data[:] ##表示我们只取特征空间中的后两个维度
#print(X)
print(X.shape)
#绘制数据分布图
plt.scatter(X[: 0] X[: 1] c = “red“ marker=‘o‘ label=‘see‘)
plt.xlabel(‘petal length‘)
plt.ylabel(‘petal width‘)
plt.legend(loc=2)
plt.show()


estimator = KMeans(n_clusters=3)#构造聚类器
estimator.fit(X)#聚类
label_pred = estimator.labels_ #获取聚类标签
#绘制k-means结果
x0 = X[label_pred == 0]
x1 = X[label_pred == 1]
x2 = X[label_pred == 2]
plt.scatter(x0[: 0] x0[: 1] c = “red“ marker=‘o‘ label=‘label0‘)
plt.scatter(x1[: 0] x1[: 1] c = “green“ marker=‘*‘ label=‘label1‘)
plt.scatter(x2[: 0] x2[: 1] c = “blue“ marker=‘+‘ label=‘label2‘)
plt.xlabel(‘petal length‘)
plt.ylabel(‘petal width‘)
plt.legend(loc=2)
plt.show()


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1084  2018-09-10 11:21  K-means_yuanweihua.py

评论

共有 条评论