python3 学习使用api
使用了网上的数据集,我把他下载到了本地
可以到我的git中下载数据集: https://github.com/linyi0604/MachineLearning
代码:
1 import numpy as np 2 import pandas as pd 3 from sklearn.cluster import KMeans 4 from sklearn import metrics 5 6 ‘‘‘ 7 k均值算法: 8 1 随机选择k个样本作为k个类别的中心 9 2 从k个样本出发,选取最近的样本归为和自己同一个分类,一直到所有样本都有分类 10 3 对k个分类重新计算中心样本 11 4 从k个新中心样本出发重复23, 12 如果据类结果和上一次一样,则停止 13 否则重复234 14 15 ‘‘‘ 16 ‘‘‘ 17 该数据集源自网上 https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/ 18 我把他下载到了本地 19 训练样本3823条, 测试样本1797条 20 图像通过8*8像素矩阵表示共64个维度,1个目标维度表示数字类别 21 ‘‘‘ 22 23 # 1 准备数据 24 digits_train = pd.read_csv("./data/optdigits/optdigits.tra", header=None) 25 digits_test = pd.read_csv("./data/optdigits/optdigits.tes", header=None) 26 # 从样本中抽取出64维度像素特征和1维度目标 27 x_train = digits_train[np.arange(64)] 28 y_train = digits_train[64] 29 x_test = digits_test[np.arange(64)] 30 y_test = digits_test[64] 31 32 # 2 建立模型 33 # 初始化kMeans聚类模型 聚类中心数量为10个 34 kmeans = KMeans(n_clusters=10) 35 # 聚类 36 kmeans.fit(x_train) 37 # 逐条判断每个测试图像所属的聚类中心你 38 y_predict = kmeans.predict(x_test) 39 40 41 # 3 模型评估 42 # 使用ARI进行性能评估 当聚类有所属类别的时候利用ARI进行模型评估 43 print("k均值聚类的ARI值:", metrics.adjusted_rand_score(y_test, y_predict)) 44 ‘‘‘ 45 k均值聚类的ARI值: 0.6673881543921809 46 ‘‘‘ 47 # 如果没有聚类所属类别,利用轮廓系数进行评估
原文地址:https://www.cnblogs.com/Lin-Yi/p/8972996.html
时间: 2024-10-08 17:45:22