blorr shiny:一款逻辑回归建模数据产品测评

看到一位财务同事分享的一篇技术文章,讲的是用blorr来诊断逻辑回归模型。虽然本人离机器学习已越来越远,但文中提到包里构建了shiny app引起了兴趣,于是体验了一下。

本文拿我当年的《逻辑回归模型预测股票涨跌》作为对照,来对比一下用产品建模与代码建模的差异。

安装环境配置

install.packages("blorr"),包装好后再blorr::blr_launch_app(),中间会提出提示需要安装依赖环境,一路选1即可。

配制数据源

第1步依然是配制数据源,支持2种方式,一种是从本地导入数据,另一种是直接用R里的sample数据。


blorr shiny:一款逻辑回归建模数据产品测评_第1张图片
数据源

本地导入数据

可以看到支持常见的csv、excel、json等数据类型;其中csv还贴心地允许用户指定分割符和引用符,excel可指定sheet页,防止数据读入异常。


blorr shiny:一款逻辑回归建模数据产品测评_第2张图片
本地导入数据

选择sample数据

都是一些R里常见的数据集,也是各机器学习教材里用得比较多的教学示例数据。


blorr shiny:一款逻辑回归建模数据产品测评_第3张图片
sample数据

第一次使用时用的是sample数据,后来发现这个产品用起来坑太多。所以这里用文件上传的形式上传ISLR包里的Smarket数据集。

数据处理

常用的数据处理都可以界面化完成:

  • 可以给字段起别名(alias)
  • 可以自定义字段格式(cast)
  • 可以筛选部分字段(select)
  • 并对数据进行筛选(filter)。不过这里很尴尬的一点就是, Direction明明默认是个factor,operator还只是大于、小等这些,连个不等于都没有,更别说IN 和 NOT IN了

这里我们什么都不改,保持默认即可。


blorr shiny:一款逻辑回归建模数据产品测评_第4张图片
字段编辑
blorr shiny:一款逻辑回归建模数据产品测评_第5张图片
变量筛选
blorr shiny:一款逻辑回归建模数据产品测评_第6张图片
数据过滤

缺失率校验

数据信息好配制好了后,会自动对各字段进行NA校验。可以看到,iris样本数据各字段都没有缺失值。


blorr shiny:一款逻辑回归建模数据产品测评_第7张图片
NA校验

划分训练集与测试集

数据集配制好了后,接下来就准备建模。首先得划分训练集和测试集。选择按80%的比例抽样作为训练集即可,还支持导出训练集与测试集的数据。


blorr shiny:一款逻辑回归建模数据产品测评_第8张图片
划分训练集与测试集

点击Start Modelling就意味着完成数据处理阶段,开始步入建模阶段了。

模型构建

建模的模块包含以下几块,下面一个个试验一下。


blorr shiny:一款逻辑回归建模数据产品测评_第9张图片
模型构建

Bivariate Analysis

描述性统计分析是建模前的准备工作,以便对数据有基本的认识。

不过这个模块应该是有bug的,无论怎么选,总是报错。如果我们不去debug源码,根本不知道这个object 0是啥(但显然没有时间和兴致做这个),那就直接跳过这步吧。略尴尬。


blorr shiny:一款逻辑回归建模数据产品测评_第10张图片
报错

回归建模

回归

我们直接用上次文章里的结论:Direction~Lag1+Lag2扔进去。讲真,如果不是具备用R建模的经验,谁能想得到这种蜜汁写法。

blorr shiny:一款逻辑回归建模数据产品测评_第11张图片
逻辑回归模型

p值都不显著,跟上次结果一样。

blorr shiny:一款逻辑回归建模数据产品测评_第12张图片
模型诊断

Adjusted R2灰常小,略尴尬。不过在意料之中。

blorr shiny:一款逻辑回归建模数据产品测评_第13张图片
双模型对比

算了,已经看不懂这些统计指标了。

特征选择

前向选择

向前选择只选择了Lag1一个变量,略尴尬。

blorr shiny:一款逻辑回归建模数据产品测评_第14张图片
向前选择

反向选择

同样一个建模语句直接copy过来,前面可以,这里报错。十分尴尬。


blorr shiny:一款逻辑回归建模数据产品测评_第15张图片
反向选择

逐步回归

再次报错,再次尴尬。


blorr shiny:一款逻辑回归建模数据产品测评_第16张图片
逐步回归

算了,我们跳过,当无事发生过。

模型验证

混淆矩阵

又报错……看错误信息应该是测试集数据问题,然而前面不是自动进行测试集划分的吗?!


blorr shiny:一款逻辑回归建模数据产品测评_第17张图片
混淆矩阵

Hosmer Lemeshow Test

依然报错……鬼知道这个width是什么?

blorr shiny:一款逻辑回归建模数据产品测评_第18张图片
Hosmer Lemeshow Test

诊断曲线

下面4个是对应的诊断曲线,只能看懂ROC曲线——比瞎蒙好不了多少,符合预期。

blorr shiny:一款逻辑回归建模数据产品测评_第19张图片
Lift Chart
blorr shiny:一款逻辑回归建模数据产品测评_第20张图片
ROC曲线
blorr shiny:一款逻辑回归建模数据产品测评_第21张图片
KS Chart
blorr shiny:一款逻辑回归建模数据产品测评_第22张图片
Lorenz Curve

后面是几个不明觉厉的残差诊断,倒没有再报错了,图就不放了。

然后就没了……

产品体验

显然,这是一款面对专业数据挖掘人员的产品,完全不适合小白。尽管如此,槽点还是不少:

  • 鲁棒性差,动不动就报个错,而且报得莫名奇妙
  • 就算报错,好歹用人话转义一遍,总不能让用户去debug
  • 只是罗列模型诊断的结果,不能再此基础上直接给一个评断或者优化建议
  • 模型建好之后还需要有predict,在上面没有体现

综上,这只不过是给建模人员一个界面化窗口来简化繁琐代码的工具,并不具备一个完备产品的闭环逻辑。不过,它依然能够为机器学习类数据产品设计提供借鉴。

你可能感兴趣的:(blorr shiny:一款逻辑回归建模数据产品测评)