无监督学习——k-means_手写字体识别(调用api)

from numpy import *
import pandas as pd
from sklearn.cross_validation import train_test_split
import numpy as np

#读取数据集
digits_train=pd.read_csv('dataset/optdigits.tra',header=None)
digits_test=pd.read_csv('dataset/optdigits.tes',header=None)
len(digits_train)

#切分训练集 特征  标签
x_train=digits_train[np.arange(64)]
y_train=digits_train[64]

x_test=digits_test[np.arange(64)]
y_test=digits_test[64]

#调用sklearn 的k_means算法
from sklearn.cluster import  KMeans
kmeans = KMeans(n_clusters=10)
kmeans.fit(x_train)
y_predict=kmeans.predict(x_test)

#kmeans模型中的属性
print('10个簇的中心点:',kmeans.cluster_centers_)
print('类别标签:',kmeans.labels_)


#轮廓系数
print(kmeans.labels_)
from sklearn.metrics import silhouette_score
scores=silhouette_score(x_train,kmeans.labels_ ,metric='euclidean')#所有样本系数的平均值
print('所有样本的轮廓系数平均值',scores)
'''
轮廓系数取值为【-1,1】,其值越大越好,且当值为负时,表明ai>bi,样本被分配到错误的簇中,
聚类结果不可接受,对于接近0的结果,则表明聚类结果有重叠的情况
'''

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WJWFighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值