[R语言] 快速搭建网站——使用shiny实现聚类算法可视化

前言

  • 建模的过程一向是枯燥乏味的,今天就让我们用R语言中丰富的可视化工具,自己搭建一个网站,实现聚类算法的可视化。源码已上传至我的资源空间,感兴趣的朋友可以在这里查看,一起学习、一起提高。网站效果如下:

上传数据

  • 首先我们需要上传一份数据用于聚类分析,数据要求为csv格式,其中每一行代表一个样本;第一列为id列,标注每个样本的名称;其余列为样本在各维度下的观测值。
  • 点击左侧导航栏中的查找按钮就可以选择上传的文件,上传成功后导航栏中会显示上传的文件名,切换到主数据页面就可以查看到我们上传的数据了。
  • 这里我们上传了R语言的一份系统数据集 iris,这是一份已知分类的关于鸢尾花花瓣与花萼长款的数据集,这里我们要求数据集的每一行为一个单独的样本,id列的值不能重复,所以网站会自动把id列中鸢尾花的类别修改为类别 + _No. + 数字标号的形式。
    主数据

使用k-means探索聚类分组数目

  • 假设我们不知道鸢尾花的分类情况,我们需要探索将鸢尾花数据集分为几个类别最合适。这里我们就可以通过动态聚类法,快速查看该数据集被分为n类时的分类效果。
  • 进入k均值法页面,我们可以通过调节右侧聚类控制面板中的选项非常便捷的修改聚类参数。
  • 在中间展示面板的主图子面板中,我们调用了R语言的扩展包展示出了当分组数目为2-10之间时的聚类效果。左边类似热力图的图表实际上是一张分类效果图,横轴为每个样本的编号,纵轴为分组数目,同种颜色为一个组别,主要展示了在分组数目确定的情况下哪些样本被分到了同一组。右边的点线图展示了Calinsky criterion(即方差比准则)随着分组数目的变化,由于方差比是组间距离与组内距离按照分组数目加权后的比值,所以理论上方差比越大分组效果越好,这幅图中呈现的是:为了达到最好的分组效果,我们应该将数据集分为两个组别ÿ
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值