参考文献:黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018.
还有其他的博客,在文中附了链接。
文章目录
1. 数据
采用sklearn自带数据集,鸢尾花数据集。
‘sepal length (cm)’, ‘sepal width (cm)’, ‘petal length (cm)’, 'petal width (cm)'分别是花瓣长度、花瓣宽度、花萼长度、花萼宽度。
2. KMeans参数说明
KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001,
precompute_distances='auto', verbose=0, random_state=None,
copy_x=True, n_jobs=None, algorithm='auto')
上头显示的就是默认哈~
参数 | 说明 |
---|---|
n-cluster | 分类簇的数量 |
max_iter | 最大的迭代次数 |
n_init | 算法的运行次数 |
init | 接收待定的string。kmeans++表示该初始化策略选择的初始均值向量之间都距离比较远,它的效果较好;random表示从数据中随机选择K个样本最为初始均值向量;或者提供一个数组,数组的形状为(n_cluster,n_features),该数组作为初始均值向量。 |
precompute_distance | 接收Boolean或者auto。表示是否提前计算好样本之间的距离,auto表示如果nsamples*n>12 million,则不提前计算。 |
tol | 接收float,表示算法收敛的阈值。 |
N_jobs | 表示任务使用CPU数量 |
random_state | 表示随机数生成器的种子。 |
verbose | 0表示不输出日志信息;1表示每隔一段时间打印一次日志信息。如果大于1,打印次数频繁。 |
3. 代码及结果
from sklearn.datasets import load_iris
import xlwt
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import MinMaxScaler
print(iris)
iris=load_iris()
iris_data=iris['data']
iris_target=iris['target']
iris_names=iris['feature_names']
print("是骡子是马打印出来看看就知道了:\n",'第一个',iris_data,'\n','第二个',iris_target,'\n',