机器学习算法之——LR(未完成)
LR的形式
sklearn中的LR模块sklearn.linear_model.LogisticRegression
LR的目标函数
主要的考虑点有三个:处理什么类型的问题?是否正则以及什么正则?求解方法?
从这三个方面可以组合出多种具体使用方式,如下图:
参考资料:
sklearn官网中的内容Logistic Regression
sklearn官网中关于sklearn.linear_model.LogisticRegression的具体操作
注意:
1.在对多分类问题,根据不同的solver,可能采用了ovr或者multinomial两种不同的策略的,这块也要注意一下。
2.what is liblinear?
台湾大学林智仁老师团队开发的工具包Liblinear。能够以很高的效率处理大规模线性分类问题。
LIBSVM往往在样本量过万之后速度就比较慢了,如果样本量再上升一个数量级,那么通常的机器已经无法处理了。但使用LIBLINEAR,则完全不需要有这方面的担忧,即便百万千万级别的数据,LIBLINEAR也可以轻松搞定,因为LIBLINEAR本身就是为了解决较大规模样本的模型训练而设计的。
其它的一些说明:
1.LR是否必须要做变量转换(归一化、标准化化处理)?
理论上不用,因为LR不是基于距离的算法,也没有其他的因为两个不一致会产生的其它理论上的问题。
但实际中经常是要做的,因为在迭代求解时会快很多。
2.LR中的变量重要性如何确定?
对特征进行归一化处理,然后建模,之后看变量系数,系数越大重要性越高。(并不看统计学中经常看的显著性)?待确定20191108
3.LR是否必须要做正则?
在machine learn中一般都是要做的,但在统计学中很少会提到正则。使用正则可以提高数值计算的稳定性。
如果做了正则,则变量基本都需要标准化或者归一化处理的,不然不同维度的系数都用一个C进行惩罚,这是不对的,
而又因为上面说的正则基本上都是要做的,所以归一化和标准化也是都要做的。
https://stackoverflow.com/questions/32724678/logistic-regression-with-sklearn
当数据量比较大的时候,我们可以不太考虑正则,而仅拟合数据就可以
https://stats.stackexchange.com/questions/228763/regularization-methods-for-logistic-regression
4.惩罚因子C可以通过grid search来确定,sklearn中默认为1.
5.回归的七种形式
6.metrics:R_square part(外网vpn)
posted on 2019-10-31 08:51 静静的白桦林_andy 阅读(647) 评论(0) 编辑 收藏 举报