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

作者: 真依然很拉风 | 来源:发表于2019-05-13 20:45 被阅读62次

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

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

    安装环境配置

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

    配制数据源

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


    数据源

    本地导入数据

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


    本地导入数据

    选择sample数据

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


    sample数据

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

    数据处理

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

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

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


    字段编辑 变量筛选 数据过滤

    缺失率校验

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


    NA校验

    划分训练集与测试集

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


    划分训练集与测试集

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

    模型构建

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


    模型构建

    Bivariate Analysis

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

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


    报错

    回归建模

    回归

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

    逻辑回归模型

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

    模型诊断

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

    双模型对比

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

    特征选择

    前向选择

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

    向前选择

    反向选择

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


    反向选择

    逐步回归

    再次报错,再次尴尬。


    逐步回归

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

    模型验证

    混淆矩阵

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


    混淆矩阵

    Hosmer Lemeshow Test

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

    Hosmer Lemeshow Test

    诊断曲线

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

    Lift Chart ROC曲线 KS Chart Lorenz Curve

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

    然后就没了……

    产品体验

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

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

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/kzrxaqtx.html