机器学习篇 - Kmeans 聚类算法

Kmeans 聚类算法,数据集是 Iris(鸢尾花的数据集),分类数 k 是 3,数据维数是 4。

#!/usr/bin/env Python3
# -*- coding: utf-8 -*-
# @Software: PyCharm
# @virtualenv:ai
# @contact: 
# @Desc:Kmeans聚类算法,数据集是Iris(鸢尾花的数据集),分类数k是3,数据维数是4。
__author__ = '未昔/AngelFate'
__date__ = '2019/8/17 14:00'
# 导入聚类分析工具KMeans
from sklearn.cluster import KMeans


# 传入要分类的数目
kms = KMeans(n_clusters=3)
kms.fit(x)
kms.fit_transform(x) # 和transform 的具体区别有哪些呢?
kms.fit_predict(x)
print(kms.fit_predict(x))

print('----分类结果----:')
result = list(zip(kms.fit_transform(x), x))
for i in result:
    print(i)

结果

x:
 [[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]
 [4.4 2.9 1.4 0.2]
 [4.9 3.1 1.5 0.1]
 [5.4 3.7 1.5 0.2]
 [4.8 3.4 1.6 0.2]
 [4.8 3.  1.4 0.1]
 [4.3 3.  1.1 0.1]
 [5.8 4.  1.2 0.2]
 [5.7 4.4 1.5 0.4]
 [5.4 3.9 1.3 0.4]
 [5.1 3.5 1.4 0.3]
 [5.7 3.8 1.7 0.3]
 [5.1 3.8 1.5 0.3]
 [5.4 3.4 1.7 0.2]
 [5.1 3.7 1.5 0.4]
 [4.6 3.6 1.  0.2]
 [5.1 3.3 1.7 0.5]
 [4.8 3.4 1.9 0.2]
 [5.  3.  1.6 0.2]
 [5.  3.4 1.6 0.4]
 [5.2 3.5 1.5 0.2]
 [5.2 3.4 1.4 0.2]
 [4.7 3.2 1.6 0.2]
 [4.8 3.1 1.6 0.2]
 [5.4 3.4 1.5 0.4]
 [5.2 4.1 1.5 0.1]
 [5.5 4.2 1.4 0.2]
 [4.9 3.1 1.5 0.2]
 [5.  3.2 1.2 0.2]
 [5.5 3.5 1.3 0.2]
 [4.9 3.6 1.4 0.1]
 [4.4 3.  1.3 0.2]
 [5.1 3.4 1.5 0.2]
 [5.  3.5 1.3 0.3]
 [4.5 2.3 1.3 0.3]
 [4.4 3.2 1.3 0.2]
 [5.  3.5 1.6 0.6]
 [5.1 3.8 1.9 0.4]
 [4.8 3.  1.4 0.3]
 [5.1 3.8 1.6 0.2]
 [4.6 3.2 1.4 0.2]
 [5.3 3.7 1.5 0.2]
 [5.  3.3 1.4 0.2]
 [7.  3.2 4.7 1.4]
 [6.4 3.2 4.5 1.5]
 [6.9 3.1 4.9 1.5]
 [5.5 2.3 4.  1.3]
 [6.5 2.8 4.6 1.5]
 [5.7 2.8 4.5 1.3]
 [6.3 3.3 4.7 1.6]
 [4.9 2.4 3.3 1. ]
 [6.6 2.9 4.6 1.3]
 [5.2 2.7 3.9 1.4]
 [5.  2.  3.5 1. ]
 [5.9 3.  4.2 1.5]
 [6.  2.2 4.  1. ]
 [6.1 2.9 4.7 1.4]
 [5.6 2.9 3.9 1.3]
 [6.7 3.1 4.4 1.4]
 [5.6 3.  4.5 1.5]
 [5.8 2.7 4.1 1. ]
 [6.2 2.2 4.5 1.5]
 [5.6 2.5 3.9 1.1]
 [5.9 3.2 4.8 1.8]
 [6.1 2.8 4.  1.3]
 [6.3 2.5 4.9 1.5]
 [6.1 2.8 4.7 1.2]
 [6.4 2.9 4.3 1.3]
 [6.6 3.  4.4 1.4]
 [6.8 2.8 4.8 1.4]
 [6.7 3.  5.  1.7]
 [6.  2.9 4.5 1.5]
 [5.7 2.6 3.5 1. ]
 [5.5 2.4 3.8 1.1]
 [5.5 2.4 3.7 1. ]
 [5.8 2.7 3.9 1.2]
 [6.  2.7 5.1 1.6]
 [5.4 3.  4.5 1.5]
 [6.  3.4 4.5 1.6]
 [6.7 3.1 4.7 1.5]
 [6.3 2.3 4.4 1.3]
 [5.6 3.  4.1 1.3]
 [5.5 2.5 5.  1.3]
 [5.5 2.6 4.4 1.2]
 [6.1 3.  4.6 1.4]
 [5.8 2.6 4.  1.2]
 [5.  2.3 3.3 1. ]
 [5.6 2.7 4.2 1.3]
 [5.7 3.  4.2 1.2]
 [5.7 2.9 4.2 1.3]
 [6.2 2.9 4.3 1.3]
 [5.1 2.5 3.  1.1]
 [5.7 2.8 4.1 1.3]
 [6.3 3.3 6.  2.5]
 [5.8 2.7 5.1 1.9]
 [7.1 3.  5.9 2.1]
 [6.3 2.9 5.6 1.8]
 [6.5 3.  5.8 2.2]
 [7.6 3.  6.6 2.1]
 [4.9 2.5 4.5 1.7]
 [7.3 2.9 6.3 1.8]
 [6.7 2.5 5.8 1.8]
 [7.2 3.6 6.1 2.5]
 [6.5 3.2 5.1 2. ]
 [6.4 2.7 5.3 1.9]
 [6.8 3.  5.5 2.1]
 [5.7 2.5 5.  2. ]
 [5.8 2.8 5.1 2.4]
 [6.4 3.2 5.3 2.3]
 [6.5 3.  5.5 1.8]
 [7.7 3.8 6.7 2.2]
 [7.7 2.6 6.9 2.3]
 [6.  2.2 5.  1.5]
 [6.9 3.2 5.7 2.3]
 [5.6 2.8 4.9 2. ]
 [7.7 2.8 6.7 2. ]
 [6.3 2.7 4.9 1.8]
 [6.7 3.3 5.7 2.1]
 [7.2 3.2 6.  1.8]
 [6.2 2.8 4.8 1.8]
 [6.1 3.  4.9 1.8]
 [6.4 2.8 5.6 2.1]
 [7.2 3.  5.8 1.6]
 [7.4 2.8 6.1 1.9]
 [7.9 3.8 6.4 2. ]
 [6.4 2.8 5.6 2.2]
 [6.3 2.8 5.1 1.5]
 [6.1 2.6 5.6 1.4]
 [7.7 3.  6.1 2.3]
 [6.3 3.4 5.6 2.4]
 [6.4 3.1 5.5 1.8]
 [6.  3.  4.8 1.8]
 [6.9 3.1 5.4 2.1]
 [6.7 3.1 5.6 2.4]
 [6.9 3.1 5.1 2.3]
 [5.8 2.7 5.1 1.9]
 [6.8 3.2 5.9 2.3]
 [6.7 3.3 5.7 2.5]
 [6.7 3.  5.2 2.3]
 [6.3 2.5 5.  1.9]
 [6.5 3.  5.2 2. ]
 [6.2 3.4 5.4 2.3]
 [5.9 3.  5.1 1.8]]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 1 1 1 1 2 1 1 1 1
 1 1 2 2 1 1 1 1 2 1 2 1 2 1 1 2 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 2 1
 1 2]
 
 ----分类结果----:
(0, array([5.1, 3.5, 1.4, 0.2]))
(0, array([4.9, 3. , 1.4, 0.2]))
(0, array([4.7, 3.2, 1.3, 0.2]))
(0, array([4.6, 3.1, 1.5, 0.2]))
(0, array([5. , 3.6, 1.4, 0.2]))
(0, array([5.4, 3.9, 1.7, 0.4]))
(0, array([4.6, 3.4, 1.4, 0.3]))
(0, array([5. , 3.4, 1.5, 0.2]))
(0, array([4.4, 2.9, 1.4, 0.2]))
(0, array([4.9, 3.1, 1.5, 0.1]))
(0, array([5.4, 3.7, 1.5, 0.2]))
(0, array([4.8, 3.4, 1.6, 0.2]))
(0, array([4.8, 3. , 1.4, 0.1]))
(0, array([4.3, 3. , 1.1, 0.1]))
(0, array([5.8, 4. , 1.2, 0.2]))
(0, array([5.7, 4.4, 1.5, 0.4]))
(0, array([5.4, 3.9, 1.3, 0.4]))
(0, array([5.1, 3.5, 1.4, 0.3]))
(0, array([5.7, 3.8, 1.7, 0.3]))
(0, array([5.1, 3.8, 1.5, 0.3]))
(0, array([5.4, 3.4, 1.7, 0.2]))
(0, array([5.1, 3.7, 1.5, 0.4]))
(0, array([4.6, 3.6, 1. , 0.2]))
(0, array([5.1, 3.3, 1.7, 0.5]))
(0, array([4.8, 3.4, 1.9, 0.2]))
(0, array([5. , 3. , 1.6, 0.2]))
(0, array([5. , 3.4, 1.6, 0.4]))
(0, array([5.2, 3.5, 1.5, 0.2]))
(0, array([5.2, 3.4, 1.4, 0.2]))
(0, array([4.7, 3.2, 1.6, 0.2]))
(0, array([4.8, 3.1, 1.6, 0.2]))
(0, array([5.4, 3.4, 1.5, 0.4]))
(0, array([5.2, 4.1, 1.5, 0.1]))
(0, array([5.5, 4.2, 1.4, 0.2]))
(0, array([4.9, 3.1, 1.5, 0.2]))
(0, array([5. , 3.2, 1.2, 0.2]))
(0, array([5.5, 3.5, 1.3, 0.2]))
(0, array([4.9, 3.6, 1.4, 0.1]))
(0, array([4.4, 3. , 1.3, 0.2]))
(0, array([5.1, 3.4, 1.5, 0.2]))
(0, array([5. , 3.5, 1.3, 0.3]))
(0, array([4.5, 2.3, 1.3, 0.3]))
(0, array([4.4, 3.2, 1.3, 0.2]))
(0, array([5. , 3.5, 1.6, 0.6]))
(0, array([5.1, 3.8, 1.9, 0.4]))
(0, array([4.8, 3. , 1.4, 0.3]))
(0, array([5.1, 3.8, 1.6, 0.2]))
(0, array([4.6, 3.2, 1.4, 0.2]))
(0, array([5.3, 3.7, 1.5, 0.2]))
(0, array([5. , 3.3, 1.4, 0.2]))
(1, array([7. , 3.2, 4.7, 1.4]))
(1, array([6.4, 3.2, 4.5, 1.5]))
(2, array([6.9, 3.1, 4.9, 1.5]))
(1, array([5.5, 2.3, 4. , 1.3]))
(1, array([6.5, 2.8, 4.6, 1.5]))
(1, array([5.7, 2.8, 4.5, 1.3]))
(1, array([6.3, 3.3, 4.7, 1.6]))
(1, array([4.9, 2.4, 3.3, 1. ]))
(1, array([6.6, 2.9, 4.6, 1.3]))
(1, array([5.2, 2.7, 3.9, 1.4]))
(1, array([5. , 2. , 3.5, 1. ]))
(1, array([5.9, 3. , 4.2, 1.5]))
(1, array([6. , 2.2, 4. , 1. ]))
(1, array([6.1, 2.9, 4.7, 1.4]))
(1, array([5.6, 2.9, 3.9, 1.3]))
(1, array([6.7, 3.1, 4.4, 1.4]))
(1, array([5.6, 3. , 4.5, 1.5]))
(1, array([5.8, 2.7, 4.1, 1. ]))
(1, array([6.2, 2.2, 4.5, 1.5]))
(1, array([5.6, 2.5, 3.9, 1.1]))
(1, array([5.9, 3.2, 4.8, 1.8]))
(1, array([6.1, 2.8, 4. , 1.3]))
(1, array([6.3, 2.5, 4.9, 1.5]))
(1, array([6.1, 2.8, 4.7, 1.2]))
(1, array([6.4, 2.9, 4.3, 1.3]))
(1, array([6.6, 3. , 4.4, 1.4]))
(1, array([6.8, 2.8, 4.8, 1.4]))
(2, array([6.7, 3. , 5. , 1.7]))
(1, array([6. , 2.9, 4.5, 1.5]))
(1, array([5.7, 2.6, 3.5, 1. ]))
(1, array([5.5, 2.4, 3.8, 1.1]))
(1, array([5.5, 2.4, 3.7, 1. ]))
(1, array([5.8, 2.7, 3.9, 1.2]))
(1, array([6. , 2.7, 5.1, 1.6]))
(1, array([5.4, 3. , 4.5, 1.5]))
(1, array([6. , 3.4, 4.5, 1.6]))
(1, array([6.7, 3.1, 4.7, 1.5]))
(1, array([6.3, 2.3, 4.4, 1.3]))
(1, array([5.6, 3. , 4.1, 1.3]))
(1, array([5.5, 2.5, 5. , 1.3]))
(1, array([5.5, 2.6, 4.4, 1.2]))
(1, array([6.1, 3. , 4.6, 1.4]))
(1, array([5.8, 2.6, 4. , 1.2]))
(1, array([5. , 2.3, 3.3, 1. ]))
(1, array([5.6, 2.7, 4.2, 1.3]))
(1, array([5.7, 3. , 4.2, 1.2]))
(1, array([5.7, 2.9, 4.2, 1.3]))
(1, array([6.2, 2.9, 4.3, 1.3]))
(1, array([5.1, 2.5, 3. , 1.1]))
(1, array([5.7, 2.8, 4.1, 1.3]))
(2, array([6.3, 3.3, 6. , 2.5]))
(1, array([5.8, 2.7, 5.1, 1.9]))
(2, array([7.1, 3. , 5.9, 2.1]))
(2, array([6.3, 2.9, 5.6, 1.8]))
(2, array([6.5, 3. , 5.8, 2.2]))
(2, array([7.6, 3. , 6.6, 2.1]))
(1, array([4.9, 2.5, 4.5, 1.7]))
(2, array([7.3, 2.9, 6.3, 1.8]))
(2, array([6.7, 2.5, 5.8, 1.8]))
(2, array([7.2, 3.6, 6.1, 2.5]))
(2, array([6.5, 3.2, 5.1, 2. ]))
(2, array([6.4, 2.7, 5.3, 1.9]))
(2, array([6.8, 3. , 5.5, 2.1]))
(1, array([5.7, 2.5, 5. , 2. ]))
(1, array([5.8, 2.8, 5.1, 2.4]))
(2, array([6.4, 3.2, 5.3, 2.3]))
(2, array([6.5, 3. , 5.5, 1.8]))
(2, array([7.7, 3.8, 6.7, 2.2]))
(2, array([7.7, 2.6, 6.9, 2.3]))
(1, array([6. , 2.2, 5. , 1.5]))
(2, array([6.9, 3.2, 5.7, 2.3]))
(1, array([5.6, 2.8, 4.9, 2. ]))
(2, array([7.7, 2.8, 6.7, 2. ]))
(1, array([6.3, 2.7, 4.9, 1.8]))
(2, array([6.7, 3.3, 5.7, 2.1]))
(2, array([7.2, 3.2, 6. , 1.8]))
(1, array([6.2, 2.8, 4.8, 1.8]))
(1, array([6.1, 3. , 4.9, 1.8]))
(2, array([6.4, 2.8, 5.6, 2.1]))
(2, array([7.2, 3. , 5.8, 1.6]))
(2, array([7.4, 2.8, 6.1, 1.9]))
(2, array([7.9, 3.8, 6.4, 2. ]))
(2, array([6.4, 2.8, 5.6, 2.2]))
(1, array([6.3, 2.8, 5.1, 1.5]))
(2, array([6.1, 2.6, 5.6, 1.4]))
(2, array([7.7, 3. , 6.1, 2.3]))
(2, array([6.3, 3.4, 5.6, 2.4]))
(2, array([6.4, 3.1, 5.5, 1.8]))
(1, array([6. , 3. , 4.8, 1.8]))
(2, array([6.9, 3.1, 5.4, 2.1]))
(2, array([6.7, 3.1, 5.6, 2.4]))
(2, array([6.9, 3.1, 5.1, 2.3]))
(1, array([5.8, 2.7, 5.1, 1.9]))
(2, array([6.8, 3.2, 5.9, 2.3]))
(2, array([6.7, 3.3, 5.7, 2.5]))
(2, array([6.7, 3. , 5.2, 2.3]))
(1, array([6.3, 2.5, 5. , 1.9]))
(2, array([6.5, 3. , 5.2, 2. ]))
(2, array([6.2, 3.4, 5.4, 2.3]))
(1, array([5.9, 3. , 5.1, 1.8]))

# 数据集
5.1 3.5 1.4 0.2
4.9 3.0 1.4 0.2
4.7 3.2 1.3 0.2
4.6 3.1 1.5 0.2
5.0 3.6 1.4 0.2
5.4 3.9 1.7 0.4
4.6 3.4 1.4 0.3
5.0 3.4 1.5 0.2
4.4 2.9 1.4 0.2
4.9 3.1 1.5 0.1
5.4 3.7 1.5 0.2
4.8 3.4 1.6 0.2
4.8 3.0 1.4 0.1
4.3 3.0 1.1 0.1
5.8 4.0 1.2 0.2
5.7 4.4 1.5 0.4
5.4 3.9 1.3 0.4
5.1 3.5 1.4 0.3
5.7 3.8 1.7 0.3
5.1 3.8 1.5 0.3
5.4 3.4 1.7 0.2
5.1 3.7 1.5 0.4
4.6 3.6 1.0 0.2
5.1 3.3 1.7 0.5
4.8 3.4 1.9 0.2
5.0 3.0 1.6 0.2
5.0 3.4 1.6 0.4
5.2 3.5 1.5 0.2
5.2 3.4 1.4 0.2
4.7 3.2 1.6 0.2
4.8 3.1 1.6 0.2
5.4 3.4 1.5 0.4
5.2 4.1 1.5 0.1
5.5 4.2 1.4 0.2
4.9 3.1 1.5 0.2
5.0 3.2 1.2 0.2
5.5 3.5 1.3 0.2
4.9 3.6 1.4 0.1
4.4 3.0 1.3 0.2
5.1 3.4 1.5 0.2
5.0 3.5 1.3 0.3
4.5 2.3 1.3 0.3
4.4 3.2 1.3 0.2
5.0 3.5 1.6 0.6
5.1 3.8 1.9 0.4
4.8 3.0 1.4 0.3
5.1 3.8 1.6 0.2
4.6 3.2 1.4 0.2
5.3 3.7 1.5 0.2
5.0 3.3 1.4 0.2
7.0 3.2 4.7 1.4
6.4 3.2 4.5 1.5
6.9 3.1 4.9 1.5
5.5 2.3 4.0 1.3
6.5 2.8 4.6 1.5
5.7 2.8 4.5 1.3
6.3 3.3 4.7 1.6
4.9 2.4 3.3 1.0
6.6 2.9 4.6 1.3
5.2 2.7 3.9 1.4
5.0 2.0 3.5 1.0
5.9 3.0 4.2 1.5
6.0 2.2 4.0 1.0
6.1 2.9 4.7 1.4
5.6 2.9 3.9 1.3
6.7 3.1 4.4 1.4
5.6 3.0 4.5 1.5
5.8 2.7 4.1 1.0
6.2 2.2 4.5 1.5
5.6 2.5 3.9 1.1
5.9 3.2 4.8 1.8
6.1 2.8 4.0 1.3
6.3 2.5 4.9 1.5
6.1 2.8 4.7 1.2
6.4 2.9 4.3 1.3
6.6 3.0 4.4 1.4
6.8 2.8 4.8 1.4
6.7 3.0 5.0 1.7
6.0 2.9 4.5 1.5
5.7 2.6 3.5 1.0
5.5 2.4 3.8 1.1
5.5 2.4 3.7 1.0
5.8 2.7 3.9 1.2
6.0 2.7 5.1 1.6
5.4 3.0 4.5 1.5
6.0 3.4 4.5 1.6
6.7 3.1 4.7 1.5
6.3 2.3 4.4 1.3
5.6 3.0 4.1 1.3
5.5 2.5 5.0 1.3
5.5 2.6 4.4 1.2
6.1 3.0 4.6 1.4
5.8 2.6 4.0 1.2
5.0 2.3 3.3 1.0
5.6 2.7 4.2 1.3
5.7 3.0 4.2 1.2
5.7 2.9 4.2 1.3
6.2 2.9 4.3 1.3
5.1 2.5 3.0 1.1
5.7 2.8 4.1 1.3
6.3 3.3 6.0 2.5
5.8 2.7 5.1 1.9
7.1 3.0 5.9 2.1
6.3 2.9 5.6 1.8
6.5 3.0 5.8 2.2
7.6 3.0 6.6 2.1
4.9 2.5 4.5 1.7
7.3 2.9 6.3 1.8
6.7 2.5 5.8 1.8
7.2 3.6 6.1 2.5
6.5 3.2 5.1 2.0
6.4 2.7 5.3 1.9
6.8 3.0 5.5 2.1
5.7 2.5 5.0 2.0
5.8 2.8 5.1 2.4
6.4 3.2 5.3 2.3
6.5 3.0 5.5 1.8
7.7 3.8 6.7 2.2
7.7 2.6 6.9 2.3
6.0 2.2 5.0 1.5
6.9 3.2 5.7 2.3
5.6 2.8 4.9 2.0
7.7 2.8 6.7 2.0
6.3 2.7 4.9 1.8
6.7 3.3 5.7 2.1
7.2 3.2 6.0 1.8
6.2 2.8 4.8 1.8
6.1 3.0 4.9 1.8
6.4 2.8 5.6 2.1
7.2 3.0 5.8 1.6
7.4 2.8 6.1 1.9
7.9 3.8 6.4 2.0
6.4 2.8 5.6 2.2
6.3 2.8 5.1 1.5
6.1 2.6 5.6 1.4
7.7 3.0 6.1 2.3
6.3 3.4 5.6 2.4
6.4 3.1 5.5 1.8
6.0 3.0 4.8 1.8
6.9 3.1 5.4 2.1
6.7 3.1 5.6 2.4
6.9 3.1 5.1 2.3
5.8 2.7 5.1 1.9
6.8 3.2 5.9 2.3
6.7 3.3 5.7 2.5
6.7 3.0 5.2 2.3
6.3 2.5 5.0 1.9
6.5 3.0 5.2 2.0
6.2 3.4 5.4 2.3
5.9 3.0 5.1 1.8