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

网站怎么在微博推广北京市工程建设交易网

网站怎么在微博推广,北京市工程建设交易网,企业网站主页设计,php网站开发专业介绍聚类分析|基于层次的聚类方法及其Python实现 0. 基于层次的聚类方法1. 簇间距离度量方法1.1 最小距离1.2 最大距离1.3 平均距离1.4 中心法1.5 离差平方和 2. 基于层次的聚类算法2.1 凝聚#xff08;Agglomerative#xff09;2.3 分裂#xff08;Divisive#xff09; 3. 基于… 聚类分析|基于层次的聚类方法及其Python实现 0. 基于层次的聚类方法1. 簇间距离度量方法1.1 最小距离1.2 最大距离1.3 平均距离1.4 中心法1.5 离差平方和 2. 基于层次的聚类算法2.1 凝聚Agglomerative2.3 分裂Divisive 3. 基于层次聚类算法的Python实现 0. 基于层次的聚类方法 层次聚类Hierarchical Clustering类似于一个树状结构对数据集采用某种方法逐层地进行分解或者汇聚直到分出的最后一层的所有类别数据满足要求为止。 当数据集不知道应该分为多少类时使用层次聚类比较适合。 无论是凝聚方法还是分裂方法一个核心问题是度量两个簇之间的距离其中每个簇是一个数据样本集合。 划分方法Partitioning Method是基于距离判断样本相似度通过不断迭代将含有多个样本的数据集划分成若干个簇使每个样本都属于且只属于一个簇同时聚类簇的总数小于样本总数目。如k-means和k-medoids。 该方法需要事先给定聚类数以及初始聚类中心通过迭代的方式使得样本与各自所属类别的簇中心的距离平方和最小聚类效果很大程度取决于初始簇中心的选择。 1. 簇间距离度量方法 1.1 最小距离 簇C1和C2的距离取决于两个簇中距离最近的数据样本。 d i s t m i n ( C 1 , C 2 ) m i n P i ∈ C 1 , P j ∈ C c d i s t ( P i , P j ) dist_{min}(C_1,C_2)\mathop{min}\limits_{P_i \in C_1,P_j \in C_c}dist(P_i,P_j) distmin​(C1​,C2​)Pi​∈C1​,Pj​∈Cc​min​dist(Pi​,Pj​) 只要两个簇类的间隔不是很小最小距离算法可以很好的分离非椭圆形状的样本分布但该算法不能很好的分离簇类间含有噪声的数据集。 1.2 最大距离 簇C1和C2的距离取决于两个簇中距离最远的数据样本。 d i s t m a x ( C 1 , C 2 ) m a x P i ∈ C 1 , P j ∈ C c d i s t ( P i , P j ) dist_{max}(C_1,C_2)\mathop{max}\limits_{P_i \in C_1,P_j \in C_c}dist(P_i,P_j) distmax​(C1​,C2​)Pi​∈C1​,Pj​∈Cc​max​dist(Pi​,Pj​) 最大距离算法可以很好的分离簇类间含有噪声的数据集但该算法对球形数据的分离产生偏差。 1.3 平均距离 簇C1和C2的距离等于两个簇类中所有样本对的平均距离。 d i s t a v e r a g e ( C 1 , C 2 ) 1 ∣ C 1 ∣ . ∣ C 2 ∣ ∑ P i ∈ C 1 , P j ∈ C c d i s t ( P i , P j ) dist_{average}(C_1,C_2)\frac{1}{|C_1|.|C_2|}\sum\limits_{P_i \in C_1,P_j \in C_c}dist(P_i,P_j) distaverage​(C1​,C2​)∣C1​∣.∣C2​∣1​Pi​∈C1​,Pj​∈Cc​∑​dist(Pi​,Pj​) 1.4 中心法 簇C1和C2的距离等于两个簇中心点的距离。 d i s t m e a n ( C 1 , C 2 ) d i s t ( M i , M j ) dist_{mean}(C_1,C_2)dist(M_i,M_j) distmean​(C1​,C2​)dist(Mi​,Mj​) 其中M1和M2分别为簇C1和C2的中心点。 1.5 离差平方和 簇类C1和C2的距离等于两个簇类所有样本对距离平方和的平均。 d i s t ( C 1 , C 2 ) 1 ∣ C 1 ∣ . ∣ C 2 ∣ ∑ P i ∈ C 1 , P j ∈ C c ( d i s t ( P i , P j ) ) 2 dist(C_1,C_2)\frac{1}{|C_1|.|C_2|}\sum\limits_{P_i \in C_1,P_j \in C_c}(dist(P_i,P_j))^2 dist(C1​,C2​)∣C1​∣.∣C2​∣1​Pi​∈C1​,Pj​∈Cc​∑​(dist(Pi​,Pj​))2 2. 基于层次的聚类算法 按照分解或者汇聚的原理不同层次聚类可以分为两种方法 2.1 凝聚Agglomerative 凝聚的方法也称为自底向上的方法初始时每个数据样本都被看成是单独的一个簇然后通过相近的数据样本或簇形成越来越大的簇直到所有的数据样本都在一个簇中或者达到某个终止条件为止。 层次凝聚的代表是AGNESAgglomerative Nesting算法。 AGNES算法最初将每个数据样本作为一个簇然后这些簇根据某些准则被一步步地合并。 这是一种单链接方法其每个簇可以被簇中所有数据样本代表两个簇间的相似度由这两个不同簇的距离确定相似度可以定义为距离的倒数。 算法描述 输入数据样本集D终止条件为簇数目k 输出达到终止条件规定的k个簇 将每个数据样本当成一个初始簇根据两个簇中距离最近的数据样本找到距离最近的两个簇合并两个簇生成新簇的集合循环step2到step4直到达到定义簇的数目。 2.3 分裂Divisive 分裂的方法也称为自顶向下的方法它与凝聚层次聚类恰好相反初始时将所有的数据样本置于一个簇中然后逐渐细分为更小的簇直到最终每个数据样本都在单独的一个簇中或者达到某个终止条件为止。 层次分裂的代表是DIANADivisive Analysis算法。 DIANA算法采用一种自顶向下的策略首先将所有数据样本置于一个簇中然后逐渐细分为越来越小的簇直到每个数据样本自成一簇或者达到了某个终结条件。 在DIANA方法处理过程中所有样本初始数据都放在一个簇中。根据一些原则如簇中最临近数据样本的最大欧式距离将该簇分裂。簇的分裂过程反复进行直到最终每个新的簇只包含一个数据样本。 算法描述 输入数据样本集D终止条件为簇数目k 输出达到终止条件规定的k个簇 将所有数据样本整体当成一个初始簇在所有簇中挑出具有最大直径的簇找出所挑簇里与其它数据样本平均相异度最大的一个数据样本放入splinter group剩余的放入old party中在old party里找出到splinter group中数据样本的最近距离不大于到old party 中数据样本的最近距离的数据样本并将该数据样本加入splinter group循环step2到step4直到没有新的old party数据样本分配给splinter groupsplinter group和old party为被选中的簇分裂成的两个簇与其他簇一起组成新的簇集合。 3. 基于层次聚类算法的Python实现 AgglomerativeClustering()是scikit-learn提供的层次聚类算法模型常用形式为 AgglomerativeClustering(n_clusters2,affinityeuclidean,memoryNone, compute_full_treeauto, linkageward)参数说明 n_clustersint指定聚类簇的数量。affinity一个字符串或者可调用对象用于计算距离。可以为’euclidean’、’mantattan’、’cosine’、’precomputed’如果linkage’ward’则affinity必须为’euclidean’。memory用于缓存输出的结果默认为None不缓存。compute_full_tree通常当训练到n_clusters后训练过程就会停止。但是如果compute_full_treeTrue则会继续训练从而生成一颗完整的树。linkage一个字符串用于指定链接算法。若取值’ward’单链接single-linkage采用distmin若取值’complete’全链接complete-linkage算法采用distmax若取值’average’均连接average-linkage算法采用distaverage。 from sklearn import datasets from sklearn.cluster import AgglomerativeClustering import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix import pandas as pd iris datasets.load_iris() irisdata iris.data clustering AgglomerativeClustering(linkageward, n_clusters 4) res clustering.fit(irisdata) print (各个簇的样本数目) print (pd.Series(clustering.labels_).value_counts()) print (聚类结果) print (confusion_matrix(iris.target, clustering.labels_)) plt.figure() d0 irisdata[clustering.labels_ 0] plt.plot(d0[:, 0], d0[:, 1], r.) d1 irisdata[clustering.labels_ 1] plt.plot(d1[:, 0], d1[:, 1], go) d2 irisdata[clustering.labels_ 2] plt.plot(d2[:, 0], d2[:, 1], b*) d3 irisdata[clustering.labels_ 3] plt.plot(d3[:, 0], d3[:, 1], c.) plt.xlabel(Sepal.Length) plt.ylabel(Sepal.Width) plt.title(AGNES Clustering) plt.show() 各个簇的样本数目 1 50 2 38 0 36 3 26 dtype: int64 聚类结果 [[ 0 50 0 0][ 1 0 24 25][35 0 14 1][ 0 0 0 0]]
http://www.pierceye.com/news/541140/

相关文章:

  • 设计公司网站套餐怎么样做短视频
  • 化妆品做网站流程什么是网络营销产品
  • windows搭建php网站推荐商城网站建设
  • php网站开发门槛高吗网络推广网站推广
  • 网站推广的8种方法微信怎么开创公众号
  • 大鹏外贸网站建设海口网站网站建设
  • 手表东莞网站建设技术支持信创网站
  • 中小企业为什么要建网站wordpress特效 插件推荐
  • 好的门户网站龙南建设局网站
  • 深圳住房和建设局官网网站设计导航精选最好的设计网站大全
  • 个人备案网站建设方案书网站开发实训教程
  • 周口网站关键词优化重庆招商网
  • 国内优秀网站设计师江西宜春市城市建设档案馆网站
  • 怎么查看网站用的php还是.networdpress博客页修改
  • 企业查询网站wordpress注册没反应
  • 如何建立自已的购物网站长沙网站制作主要公司
  • 深圳 电子政务网站建设方案WordPress的login在哪里改
  • 网站快速网站推广怎么制作图片视频和配音乐
  • 河南网站制作团队湖南网址大全
  • 2019为网站网站做代理被判缓刑网站信息化建设建议
  • 部署推进网站建设网站域名费用
  • 企业信息门户网站建设方案seo网站模版
  • 谷歌有做网站建设快速建站哪里好
  • 坤和建设 网站深圳高端网站设计开发
  • 怎么做网站策划的模板如何注册咨询公司
  • 做婚恋网站投入多少钱php注册网站源码带数据库
  • 苏州网站建设制作方案手机上做app的软件
  • 青岛营销型网站html网页制作期末作业
  • 加强网站微信公众号平台建设php 5.4 wordpress
  • 比价网站开发东莞微客巴巴做网站