Broom让模型输出结果更整洁

我就在这里,不离不弃

——A·May

R-94 |T-129

本篇介绍Broom包的主要用途,涉及三个部分,主要参考Broom的小文档,使用方法是vignette(package="Broom"),然后加入相应文档的名称即可,以下内容均为【理解】+【翻译】,如有不当,请留言指出,谢谢(*^▽^*)

第一部分Broom

let's tidy up a bit!

broom包可以将lm/nls/t.test等功能的输出结果转为数据框的形式。

这个包主要提供3个函数,即tidy/augment/glance,其中tidy是将模型的输出结果转为数据框,augment是将模型输出的参数值与模型参数整合到一个表中,而glance,正如其一瞥的意思,是将模型结果中的重要指标转为一行。

参考文档中的示例,如下:

示例1:线性回归

这个是关于mpg和wt的一个线性方程

tidy功能

augment功能

glance功能

示例2:t.test

第二部分broom and dplyr

这一部分重要是broom和dplyr的合作的展示,其中涉及一个do和.号的一个用法,其中.号代表被分组之后的数据集。因此,需要注意第一部分是关于一个回归关系模型结果的整理,而现在是对多组模型的结果整理。演示过程如下:

step1:做出用tree分类的折线图。

step2:用tree分组,在5个分组的基础上,分别计算每个组内age与circumference的相关系数。

step3:做每组的相关性检验,此时就需要用broom调整输出结果。

step4:结合do.和tidy整理输出结果,也可以使用augment和glance.

第三部分 kmeans

试试三个函数对于kmean聚类的模型的结果是怎么样整理的。

先看一段有意思的写法,其中points是在cluster分组的基础上,重新塑造了X1与X2函数,塑造的方法很有意思,是用size中的100作为个数,分别用x1中5和0作为均值构造数值,就行成了三类100*3的数据结构,然后用散点图画出。

step1:用points构建聚类的数据,然后kmeans指定三类进行聚类。最后这个模型给出了9个可用的参数,也就是说summary中还有9个参数可能涉及到broom的整理当中。

step2:看看broom的效果,可以观察到augment整合了一个参数cluster,tidy整合了3个参数,而glance整合了四个参数。这是因为每个参数下的数值的个数不一样所致,但是自动的分类,所以无须担心什么。

step:加上dplyr的应用,这才是拓展,下面这段码的理解在于,facet_wrap的作用,首先看9个小图散点的形状都是不变的,只是散点的颜色随着k的增加而增加,最后增加到9类,这就很有意思了。

此外,Broom包还可以对bootstraping的结果做整理,这一部分也在小文档中,需要注意的是这个包也并非什么模型都可以处理,有问题可以到http://github.com/dgrtwo/broom/issues交流bug。

参考阅读

学习数据挖掘交流平台

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180322G1PSGT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券