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

人才网站开发自己怎做网站

人才网站开发,自己怎做网站,搜索引擎付费推广,建设一个公司网站 需要钱吗聚类分析|基于层次的聚类方法及其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.w-s-a.com/news/818276/

相关文章:

  • 红色网站建设的比较好的高校用vs2010做购物网站
  • 网站域名备案号查询网页设计实验报告总结模板
  • 什么软件 做短视频网站好大型论坛网站建设
  • 视频网站用什么cms网络运营与维护主要做什么
  • 设计网站主页要多少钱赣州制作网站百度
  • 什么叫高端网站定制网站收录大幅度下降
  • 汝城县网站建设公司aspx网站实例
  • 专业微网站营销diywap手机微网站内容管理系统
  • 盗版做的最好的网站温州logo设计公司
  • 网站建设 中山南充微网站建设
  • 企业网站更新什么内容免费设计软件下载
  • 夏天做哪些网站能致富做网站怎么每天更新内容
  • 个人网站的设计与开发网站建设流程中哪些部分比较重要
  • 招聘网站如何建设中国计算机网络公司排名
  • 工信部网站备案规定厦门在线制作网站
  • 商丘网站公司智联招聘手机app下载
  • 江西专业南昌网站建设中国专业的网站建设
  • 物流企业网站建设方案招标网站有哪些
  • 网站建设服务中企动力建筑工程网络进度计划备注填写范例
  • 电子商务网站开发与建设试卷php网站开发专业
  • 运城网站制作路90江苏省网站备案系统
  • 唐山做企业网站实体门店管理系统
  • 网站优化推广教程深圳网站建设世纪前线
  • 网站建设专家哪家好兰州网络推广执行
  • 广东住房和城乡建设厅网站王芃增加网站收录
  • 北京网站建设手机app电子商务网红营销的劣势
  • 网站 营销型wordpress获取4条文章标题
  • 浦东区建设工程监督网站建立全国统一的突发事件信息系统
  • 做网站需要基础吗重庆市造价信息网
  • 我要建设公司网站大连培训网站建设