机器学习算法之——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和liblinearn的关系

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编辑  收藏  举报

导航