当前位置: 首页 > news >正文

程序员帮忙做放贷网站苏州保洁公司招聘保洁区域经理

程序员帮忙做放贷网站,苏州保洁公司招聘保洁区域经理,网站报301错误,网站常用素材1.K-Means定义#xff1a; K-Means是一种无监督的基于距离的聚类算法#xff0c;简单来说#xff0c;就是将无标签的样本划分为k个簇#xff08;or类#xff09;。它以样本间的距离作为相似性的度量指标#xff0c;常用的距离有曼哈顿距离、欧几里得距离和闵可夫斯基距离…1.K-Means定义 K-Means是一种无监督的基于距离的聚类算法简单来说就是将无标签的样本划分为k个簇or类。它以样本间的距离作为相似性的度量指标常用的距离有曼哈顿距离、欧几里得距离和闵可夫斯基距离。两个样本点的距离越近其相似度就越高距离越远相似度越低。 目的是实现簇内的距离尽量小紧凑而簇间的距离尽可能大分开。 我们使用误差平方和SSE作为聚类质量的目标函数该值越小表明样本簇内较紧密。 1.1关键问题 1k值的选择法一根据经验法二借助交叉验证选。评价k值的好坏有手肘法以簇内误差平方和SSE作为度量聚类质量的目标函数以误差平方和较小的作为最终聚类结果通过作图快速辨认变化较大对应的k值参考刘顺祥kmeans实操内容、轮廓系数Silhouette Coefficientfrom sklearn.metrics import silhouette_score 可计算结果在[-1,1]之间,越大代表内聚度和分离度相对较好和Calinski-Harabasz Index在sklearn中有metrics.calinski_harabaz_score分数越高越好。2k个质心的选择方式 质心之间最好不要太近1.2例子讲解 借助下图讲解最简单的2个分类问题 a给出的样本数据 b随机选取2个样本点作为质心一个红色a1一个蓝色b1选取的样本可以不在原始样本中 c计算所有样本到这两个质心的距离and then 将样本划分到两个距离中距离较小的那一类中。于是样本分成了红蓝两派。 d对c图中的红蓝两派找出对应簇的新的质心:a2、b2并标记其位置。 e重新计算所有样本到质心a2、b2的距离and then 将样本划分到两个距离中距离较小的那一类中。于是样本被重新划分成了两类。 f重复d、e步直到质心的位置不再变化。 2.python操作 在sklearn中一般用sklearn.cluster.KMeans解决问题。 针对数据量非常大的情况如样本量10万特征数量100。这时就要用Mini Batch K-Means解决问题。它抽取原始样本中的部分样本作为新的样本集来聚类这样会降低聚类的精确度这一般在可接受范围内但是减少了计算的时间。 python官方文档 sklearn.cluster.KMeanshttps://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeanssklearn.cluster.MiniBatchKMeanshttps://scikit-learn.org/stable/modules/generated/sklearn.cluster.MiniBatchKMeans.html2.1 KMeans类 sklearn中的KMeans算法仅支持欧式距离因为其他距离不能保证算法的收敛性。 class sklearn.cluster.KMeans(n_clusters8, init’k-means’, n_init10, max_iter300, tol0.0001, precompute_distances’auto’, verbose0, random_stateNone, copy_xTrue, n_jobsNone, algorithm’auto’) 1n_clusters :聚类个数k默认为8.2init :{‘k-means’, ‘random’ or an ndarray} 质心的选择方式, 默认为‘k-means’. ‘random’:随机选取k个质心. ‘k-means’ :普通版KMeans的优化版随机选取一个质心后计算所有样本到质心1的距离然后根据距离选取新的质心2接着计算样本到最近质心的距离再选出质心3重复计算距离直至找到k个质心为止。是对随机选取的一个优化版。3n_init :int,默认为10. 设置重复该算法次数m每次选取不一样的质心然后选取这m个结果的最优output。4max_iter :int, default: 300 单次运行的k-means算法的最大迭代次数5random_state :设置数据复现的参数6algorithm :有三种参数设置“auto”, “full” or “elkan”,默认是”auto”. 最基础的KMeans用“full”而“elkan”利用三角不等式两边之和大于第三边、两边之差小于第三边减少距离的计算加快算法的迭代速度是对基本版KMeans的优化,但它不适用于稀疏数据. 对于稠密数据“auto” 会选用“elkan” 对于稀疏数据会用 “full”.对应Attributes: 1cluster_centers_ : 输出聚类的质心2labels_ :输出样本聚类后所属的类别3inertia_ : 浮点型输出簇内离差平方和4n_iter_ : 整数输出运行的迭代次数先用make_blobs产生聚类数据再用KMeans进行分类 from sklearn.datasets import make_blobs #产生聚类数据 #5000个样本每个样本有两个特征质心为centers所给出,此例中有4个质心每个类的方差由cluster_std给出random_state为数据复现用 x, y make_blobs(n_samples3000, n_features2, centers[[-1,-1], [0,0], [1,1], [2,2]], cluster_std[0.4, 0.7, 0.2, 0.2], random_state 2019) #作图看原始数据 import matplotlib.pyplot as plt %matplotlib inline plt.scatter(x[:, 0],x[:,1]) matplotlib.collections.PathCollection at 0xc431eefc18 令k2、3、4然后评估每个k值的好坏 from sklearn.cluster import KMeans y_1 KMeans(n_clusters2, random_state2020).fit_predict(x) plt.scatter(x[:, 0], x[:, 1],cy_1) from sklearn import metrics metrics.calinski_harabaz_score(x,y_1) 8255.3432347343351 y_2 KMeans(n_clusters3, random_state2020).fit_predict(x) plt.scatter(x[:, 0], x[:, 1],cy_2) metrics.calinski_harabaz_score(x,y_2) 9071.2281163994103 y_3 KMeans(n_clusters4, random_state2020).fit_predict(x) plt.scatter(x[:, 0], x[:, 1],cy_3) metrics.calinski_harabaz_score(x,y_3) 9151.6774896842526 随着k的递增Calinski-Harabaz Index的分数也越来越高。分类成4个簇的分类效果最好。 也可以利用簇内误差平方和来选择最佳K值 SSE [] for i in range(1,11): #k取1-10计算簇内误差平方和km KMeans(n_clustersi, random_state2019)km.fit(x)SSE.append(km.inertia_) plt.plot(range(1,11), SSE, markerv) plt.rcParams[font.sans-serif][SimHei] #用来正常显示中文标签 plt.rcParams[axes.unicode_minus]False #用来正常显示负号 plt.xlabel(k值, size15) plt.ylabel(簇内误差平方和SSE, size15) matplotlib.text.Text at 0xb6d86b1c88 2.2 MiniBatchKMeans类 class sklearn.cluster.MiniBatchKMeans(n_clusters8, init’k-means’, max_iter100, batch_size100, verbose0, compute_labelsTrue, random_stateNone, tol0.0, max_no_improvement10, init_sizeNone, n_init3, reassignment_ratio0.01) 1n_init用不同的初始化质心运行算法的次数。每次用不一样的采样数据集来跑不同的初始化质心运行算法与KMeans类有所区别。2batch_size指定采集样本的大小默认是100.如果数据集的类别较多或者噪音点较多需要增加这个值以达到较好的聚类效果。3init_size: 用来做质心初始值候选的样本个数默认是batch_size的3倍一般用默认值就可以了。4reassignment_ratio: 某个类别质心被重新赋值的最大次数比例这个和max_iter一样是为了控制算法运行时间的。这个比例是占样本总数的比例乘以样本总数就得到了每个类别质心可以重新赋值的次数。如果取值较高的话算法收敛时间可能会增加尤其是那些暂时拥有样本数较少的质心。默认是0.01。如果数据量不是超大的话比如1w以下建议使用默认值。如果数据量超过1w类别又比较多可能需要适当减少这个比例值。具体要根据训练集来决定。5max_no_improvement即连续多少个Mini Batch没有改善聚类效果的话就停止算法 和reassignment_ratio max_iter一样是为了控制算法运行时间的。默认是10。from sklearn.cluster import MiniBatchKMeans y_m1 MiniBatchKMeans(n_clusters2, batch_size300, random_state2019).fit_predict(x) plt.scatter(x[:,0], x[:,1], cy_m1) print(当k2时,metrics.calinski_harabaz_score(x,y_m1)) 当k2时 8254.39452154 y_m2 MiniBatchKMeans(n_clusters3, batch_size300, random_state2019).fit_predict(x) plt.scatter(x[:,0], x[:,1], cy_m2) print(当k3时,metrics.calinski_harabaz_score(x,y_m2)) 当k3时 9070.83967062 y_m3 MiniBatchKMeans(n_clusters4, batch_size300, random_state2019).fit_predict(x) plt.scatter(x[:,0], x[:,1], cy_m3) print(当k4时,metrics.calinski_harabaz_score(x,y_m3)) 当k4时 9122.03629824 y_m4 MiniBatchKMeans(n_clusters5, batch_size300, random_state2019).fit_predict(x) plt.scatter(x[:,0], x[:,1], cy_m4) print(当k5时,metrics.calinski_harabaz_score(x,y_m4)) 当k5时 9091.0670116 可以看到当抽取300个样本数据出来做KMeans时k从1—4增大时calinski_harabaz_score逐渐递增。当k4时聚类效果最好calinski_harabaz_score为9122。当k增大为5时看到评分的下降说明聚类为4类时最好。 抽样与不抽样的比较用原始的3000个样本数据时当k4时calinski_harabaz_score为9151大于抽样时划分4类时对应的评分9122。可见在用小样本时精确度有所下降但是最后聚类效果还是可以的。 3.KMeans的优缺点 1.算法原理比较简单可解释性强对凸数据的收敛较快。 2.较适用于样本集为团簇密集状的而对条状、环状等非团簇状的样本聚类效果较一般。 3.对事先给定的k值、初始质心的选择比较敏感不同的选择可能导致结果差异较大。 4.最后的结果为局部最优而不是全局最优。 5.对噪点、异常点较敏感。 在实际操作中注意 1模型的输入数据必须为数值型数据如果是离散型一定要做哑变量处理。 2此算法是基于距离运算的为防止量纲带来的影响需要将数据标准化处理零-均值规范 3最终聚类分析算法的评价可用RI评价法兰德指数、F评价法、误差平方和、轮廓系数Silhouette、calinski-harabaz Index等参考https://www.cnblogs.com/niniya/p/8784947.html。 转载于:https://www.cnblogs.com/wyy1480/p/10353342.html
http://www.huolong8.cn/news/97099/

相关文章:

  • 绵阳网站开发做视频解析网站犯法吗
  • h5自响应式网站模版门户网站建设的报价
  • 南昌市建设工程质量监督站网站wordpress首页不显示页面
  • 澄海网站建设部署个人网站
  • 上海网站制作公司哪家好台山市网站建设
  • 合肥制作网站价格设计类专业专科学校
  • 外贸网站支付接口网络服务器可提供的常见服务
  • 企业只有建立自己的网站平台那些网站能够做推广
  • 免费奖励自己的网站网页制作的平台
  • 广州网站下载安装网易企业邮箱邮件保存多久
  • 电子商务网站开发九洲建设app
  • 网站 微信开发网站 psd
  • 网站第三方统计工具钓鱼网站的域名怎么不稳定
  • 做简历最好的网站宿迁市房地产信息网
  • 网站开发要哪些音乐设计网站推荐
  • 个人网站建设基础与实例ae模板下载
  • 简述营销导向的企业网站建设的步骤wordpress学习教程
  • 凡科网站怎么修改昨天做的网站水果网站策划方案
  • 外贸机械网站建设网站文件夹命名怎么做
  • 惠州网站建设报价成都市城乡建设局网站
  • 软件工网站开发课程设计报告wordpress宝塔伪静态
  • 网站做一些流量互换网络营销与传统营销有哪些区别
  • 台州商务网站搜索引擎优化涉及到内容
  • 网站建设产品话术如何发布自己的网站
  • 玉林网站建设公司seo企业网站源码
  • qq网站登录入口请人做软件开发的网站
  • win7用iis搭建网站网站开发手机app
  • 山东兴华建设集团有限公司网站郴州网站排名优化
  • 万网网站域名注册排名好的郑州网站建设
  • 传媒视频软件下载网站网站建设终身不用维护