浙江和海建设集团网站首页社区电商平台排行榜
web/
2025/10/4 20:18:14/
文章来源:
浙江和海建设集团网站首页,社区电商平台排行榜,东莞营销公司,进博会入口非监督学习
1 什么是非监(unsupervised learning)督学习
无监督学习#xff0c;就是不受监督的学习#xff0c;一种自由的学习方式。该学习方式不需要先验知识进行指导#xff0c;而是不断地自我认知#xff0c;自我巩固#xff0c;最后进行自我归纳#xff0c;在机器学… 非监督学习
1 什么是非监(unsupervised learning)督学习
无监督学习就是不受监督的学习一种自由的学习方式。该学习方式不需要先验知识进行指导而是不断地自我认知自我巩固最后进行自我归纳在机器学习中无监督学习可以被简单理解为不为训练集提供对应的类别标识label其与有监督学习的对比如下 有监督学习Supervised Learning下的训练集(x(1),y(1)),(x(2),y2)(x(1),y(1)),(x(2),y2)无监督学习Unsupervised Learning下的训练集(x(1)),(x(2)),(x(3))(x(1)),(x(2)),(x(3))在有监督学习中我们把对样本进行分类的过程称之为分类Classification而在无监督学习中我们将物体被划分到不同集合的过程称之为聚类Clustering。
2 非监督学习步骤
假设现在又1千个数据有x1x2两个特征现在对这1000个数据进行聚类首先聚类的话有多少个类别就聚成多少类假设K是把数据划分成多少个类别这个个数是根据业务来定的这个K值有两种情况一种是知道个数一种是不知道不知道个数的话就相当于超参数。
假设知道K为3那么怎么做呢①随机在数据中抽取3个样本当做3个类别的中心点k1k2k3
②计算其余的点分别到这3个中心点的距离每一个样本有3个距离abc从中选出一个距离最近的点作为自己的标记形成3个族群
③分别计算这3个族群的平均值把3个平均值与之前的3个旧中心点进行比较如果相同结束聚类如果不同把这3个平均值当做新的中心点重复第二步。
3 非监督学习之k-means
K-means通常被称为劳埃德算法这在数据聚类中是最经典的也是相对容易理解的模型。
K-means算法执行的过程分为如下4个阶段
①随机设置K个特征空间内的点作为初始的聚类中心
②对于其他每个点计算到K个中心的距离未知的点选择最近的一个聚类 中心点作为标记类别
③接着对着标记的聚类中心之后重新计算出每个聚类的新中心点平 均值
④如果计算得出的新中心点与原中心点一样那么结束否则重新进行 第二步过程
4 k-means API
sklearn.cluster.KMeans
sklearn.cluster.KMeans(n_clusters8,init‘k-means’)
k-means聚类 n_clusters:开始的聚类中心数量 就是把这些样本分成多少个类别
init:初始化方法默认为k-means ’ labels_:默认标记的类型可以和真实值比较不是值比较
方法 fit(X,yNone)使用X作为训练数据拟合模型 predict(X)预测新的数据所在的类别
属性 clustercenters集群中心的点坐标 labels_每个点的类别
聚类是做在分类之前的有的数据没有目标值的时候应该先做聚类然后再预测类别。 5 Kmeans性能评估指标 假设分为3个类别如下图当聚类的时候最好的结果非常相似的样本变成一个类别那也就是说外部距离是最大的内部这些样本是非常相似的。所以外部距离族群与族群之间的距离越大是越好的内部各样本之间距离越小越好这就是聚类的目的。
评估标准就是轮廓系数。那么是怎么评估的呢对于每一个样本都是有轮廓系数的假设有一点蓝1①计算蓝1到自身类别的点的距离的平均值记做ai②分别计算蓝1到红色类别和绿色类别所有点的距离取出平均值b1b2取出最小值当做bi③蓝1的轮廓系数就为bi-ai/(max(bi ai))④在极端情况下假设聚类非常好外部距离非常大内部距离非常小那么biaibi远大于ai那么轮廓系数就为1如果情况最差aibi那么轮廓系数就为-1所以每一个样本的轮廓系数在[-1,1]区间越靠近1是越好的 Kmeans性能评估指标API sklearn.metrics.silhouette_score
sklearn.metrics.silhouette_score(X, labels) 计算所有样本的平均轮廓系数
X特征值
labels被聚类标记的目标值 6 案例
from sklearn.datasets import load_digits
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
# 加载数据
ld load_digits()# 聚类
k KMeans(n_clusters4)
k.fit_transform(ld.data)
print(每个点的类别,k.labels_[:20])
print(评论聚类效果的轮廓系数,silhouette_score(ld.data,k.labels_)) 7 总结
特点分析采用迭代式算法一步一步修改中心点直观易懂并且非常实用
缺点容易收敛到局部最优解(多次聚类)
需要预先设定簇的数量(k-means解决)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86973.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!