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

一家专做特卖的网站WordPress考试

一家专做特卖的网站,WordPress考试,网站开发在线,在家办厂小型加工项目目录 摘要 18 层次聚类 18.1 本章工作任务 18.2 本章技能目标 18.3 本章简介 18.4 编程实战 18.5 本章总结 18.6 本章作业 本章已完结!!! 摘要 本章实现的工作是:首先导入20名学生的3科成绩,然后根据优先聚…

目录

摘要

18 层次聚类

18.1 本章工作任务

18.2 本章技能目标

18.3 本章简介

18.4 编程实战

18.5 本章总结

18.6 本章作业

本章已完结!!!


摘要
 

本章实现的工作是:首先导入20名学生的3科成绩,然后根据优先聚合距离最近的两个数据组的聚类标准,得到由20名学生划分成的不同簇类。

本章掌握的技能是:1、使用 SciPy 包计算欧式距离。2、使用 dendrogram 画出聚类树图。3、使用 matplotlib 包实现数据可视化,绘制热度图。

18 层次聚类

18.1 本章工作任务

采用层次聚类编写程序,根据语文、数学、英语成绩对不同学生进行分层。1、算法的输入是:20名学生的语文、数学和英语成绩。2、算法的模型需要求解的是:任意两个数据集之间的距离。3、算法的结果是:20个数据组被先后聚合,最终逐层聚成一类。

18.2 本章技能目标

掌握层次聚类的原理。

使用Python计算出欧式距离。

使用Python画出聚类树图。

使用Python画出热度图。

18.3 本章简介

层次聚类分析是指:一种分层聚类的方法,对目标数据集使用某种标准,先后进行聚合,直至聚合到最后一层,得到一个由所有数据集逐层聚合成的集合。

层次聚类分析算法可以解决的实际应用问题是:已知20名学生的语文、数学和英语3科成绩(每一个学生的3科成绩相当于一个原始数据组),计算出任意两个数据组之间的距离后,将距离最近的先聚合,得到新的数据组,再计算任意两个数据组的距离,将距离最近的先聚合,以此类推,聚成一类。

本章的重点是:层次聚类分析的理解和使用。

18.4 编程实战

步骤1 引入相关包。引入pandas、numpy,seaborn和matplotlib,命名为pd,np,sns 和 plt。引入linkage、dendrogram 和 AgglomerativeClustering,以指定层次聚类判别相识度方法、画聚类树图和热度图。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.spatial.distance import pdist, squareform
from scipy.cluster.hierarchy import linkage
from scipy.cluster.hierarchy import dendrogram
from sklearn.cluster import AgglomerativeClustering
import seaborn as sns

步骤2 显示数据的绝对路径,导入要使用的数据。

import os
thisFilePath = os.path.abspath('.')
os.chdir(thisFilePath)
os.getcwd()输出结果:'D:\\MyPythonFiles'

myData = pd.read_csv('myData_.csv')
myData.head()

输出结果:

步骤3 计算距离关联矩阵,任意两个簇之间的欧式距离,使用single-linkage(即两簇内最近元素的距离)作为组距。

row_clusters = linkage(pdist(myData, metric = 'euclidean'), method = 'single')
num = len(pdist(myData, metric = 'euclidean'))

步骤4 生成聚类的结果。

print(pd.DataFrame(row_clusters, columns = ['row_label1', 'row_label2', 'distance', 'new'], index=['cluster %d'% (i+1) for i in range(row_clusters.shape[0])]))输出结果:row_label1  row_label2   distance   new
cluster 1          0.0        17.0   0.000000   2.0
cluster 2          3.0        11.0   0.000000   2.0
cluster 3          2.0        10.0   0.000000   2.0
cluster 4         19.0        22.0   0.000000   3.0
cluster 5          1.0        18.0   0.000000   2.0
cluster 6          6.0        14.0   4.000000   2.0
cluster 7          5.0        15.0   6.928203   2.0
cluster 8          4.0        12.0   9.000000   2.0
cluster 9         13.0        21.0  11.401754   3.0
cluster 10        26.0        28.0  13.000000   5.0
cluster 11         8.0        16.0  14.000000   2.0
cluster 12         7.0        29.0  17.000000   6.0
cluster 13        27.0        31.0  17.058722   8.0
cluster 14        23.0        32.0  19.131126  11.0
cluster 15        20.0        33.0  22.158520  13.0
cluster 16        30.0        34.0  25.019992  15.0
cluster 17        25.0        35.0  26.851443  17.0
cluster 18         9.0        36.0  32.124757  18.0
cluster 19        24.0        37.0  32.202484  20.0

提示:

(1) 聚类树形成的过程:将符合 single-linkage 的两个簇合并为一个新簇,去除合并前的簇,之后迭代进行此过程。当合并到只有一个簇(聚类树的主干)时,迭代完成,聚类结束。

(2) 聚类的结果:row_label1 和 row_label2 表示聚类合并前的两个簇内最近元素,distance 表示合并前两个簇的距离,new 即为新簇内的元素个数。

步骤5 画出聚类树树图。

row_dendr = dendrogram(row_clusters, 1)
plt.tight_layout()
plt.ylabel('Euclidean distance')
plt.show()

输出结果:

提示:

图的横坐标是簇的类别,纵坐标是簇与簇之间的欧式距离(即簇与簇内元素的最近距离),同色的折线表示两个簇合并。

步骤6 画出热度图。

%matplotlib inline
fig = plt.figure(figsize=(12, 13))
axd = fig.add_axes([0.02, 0.138, 0.418, 0.719])
row_dendr = dendrogram(row_clusters, orientation='left')
myData_rowclust = myData.iloc[row_dendr['leaves'][::-1]]
axm = fig.add_axes([0.08, 0.1255, 0.63, 0.75])
cax = axm.matshow(myData_rowclust, interpolation='nearest', cmap='hot_r')
axd.set_xticks([])
axd.set_yticks([])for i in axd.spines.values():i.set_visible(False)
axm = sns.heatmap(myData_rowclust, annot = True, fmt = "d")
plt.show()

输出结果:

 

提示:

颜色深度和数据大小正相关(最右边的长条图说明了颜色深浅和数值大小的关系,颜色越深,数值越大),从热图上可以直观地看出簇内元素之间的距离关系,直观理解树图的合并过程。

18.5 本章总结

本章实现的工作是:首先导入20名学生的3科成绩,然后根据优先聚合距离最近的两个数据组的聚类标准,得到由20名学生划分成的不同簇类。

本章掌握的技能是:1、使用 SciPy 包计算欧式距离。2、使用 dendrogram 画出聚类树图。3、使用 matplotlib 包实现数据可视化,绘制热度图。

18.6 本章作业

实现本章的案例,即求出任意两个数组之间的距离,画出聚类树图和热度图。

本章已完结!!!


文章转载自:

http://9Agw6zAP.nyqxy.cn
http://PqBmqNo9.nyqxy.cn
http://mWxuaDaL.nyqxy.cn
http://dVaIwHkv.nyqxy.cn
http://BdAki45M.nyqxy.cn
http://DA1suD2f.nyqxy.cn
http://wvZ7rbNi.nyqxy.cn
http://7OxCxcT7.nyqxy.cn
http://qn6nylMl.nyqxy.cn
http://oO6owG1U.nyqxy.cn
http://5LRM5uUW.nyqxy.cn
http://z31RFo3j.nyqxy.cn
http://R4l9od94.nyqxy.cn
http://ptXt0tTQ.nyqxy.cn
http://OKNPLwAW.nyqxy.cn
http://besemNOh.nyqxy.cn
http://akWrK5e2.nyqxy.cn
http://AC1EPoZA.nyqxy.cn
http://laEb6AOg.nyqxy.cn
http://Fs49zQsw.nyqxy.cn
http://rmS6swCA.nyqxy.cn
http://e0uWJTYV.nyqxy.cn
http://CI4vCOFT.nyqxy.cn
http://tJ9a2adX.nyqxy.cn
http://FrWt30iP.nyqxy.cn
http://X41Ftydm.nyqxy.cn
http://KGZf6Lc2.nyqxy.cn
http://yyCljoVQ.nyqxy.cn
http://oaEBdncL.nyqxy.cn
http://RNQMnMpf.nyqxy.cn
http://www.dtcms.com/wzjs/612068.html

相关文章:

  • 网站搜索引擎优化推广浏览器下载免费版
  • Python电影网站开发阳泉住房与城乡建设厅网站
  • 江津网站建设效果好不好做背景视频哪个网站好
  • php网站整合discuz分销系统商城
  • 眉山做网站wordpress 标题颜色
  • 太原网站推广教程如何能查到百度搜索排名
  • 文登住房与建设局网站电子工程师培训机构哪个好
  • 阿里云域名怎样做网站成都网站建设哪里好点
  • 网站怎么做防360拦截网站建设swot分析
  • 中山好的网站建设公司哪家好如何批量入侵WordPress站
  • 网站开发语言有php白蛇传奇网页版游戏
  • 为你做的网站南宁白帽seo技术
  • 网站访问速度高端网站建设百度
  • 宝武马钢集团公司招聘网站家在深圳 业主论坛
  • 影响网站排名重要因素网络工程师报名入口
  • 基层建设刊物网站运营公司有哪些
  • 网页设计与网站建设 石油大学农家院网站素材
  • 注册网站怎么做wordpress做中英文站
  • 如何做网站 站长教课临汾市建设局网站
  • 如何在网站找做贸易的客户邯郸 平面设计
  • 互联网建站网站珠海市今天刚刚发生的新闻
  • 微网站的建设怎么推广网页
  • 大型网站建站公司女生学电子商务专业好吗
  • 北京网站制作推广免费主机空间免备案
  • 关于网站建设费用的报告做家具网站要多少钱
  • 关于水果的网站建设韩国男女做游戏视频网站
  • 完全自定义纯代码打造你的wordpress站点侧边栏网站建设 金手指 排名22
  • 网站搭建的意义网站备案号 链接
  • 辽宁鹤城建设集团网站苏州保洁公司电话
  • 大连建站免费模板短视频广告制作公司