2020-03-24
阅读量:
774
逻辑回归函数详解
在scikit-learn 中逻辑回归原型如下:class sklearn.linear_model.LogisticRegression(penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver=’warn’, max_iter=100, multi_class=’warn’, verbose=0, warm_start=False, n_jobs=None)
1、参数:
- penalty:一个字符串,指定了正则化策略,默认为l2。
- dual:一个布尔值,如果为true,则求解对偶形式(只在penalty=‘l2’且solver=‘lib-linear’有对偶形式),如果为false,则求解原始形式,默认为false。
- C:一个浮点数,它指定了罚项系数的倒数,如果它的值越小,则正则化项越大。
- fit_intercept:一个布尔值,指定是否需要计算b值。如果为false那么不会计算b值(模型假设你的数据已经中心化了)
- intercept_scaling:一个浮点数,只有当solver='liblinear'才有意义。当采用fit_intcept时相当于人造一个特征出来,特征恒为1,权重为b。在计算正则化项的时候,该人造特征也被考虑了,因此为了降低这个人造特征的影响,需要提供intercept_scaling。
- class_weight:一个字典或者字符串'balanced',如果为字典,则字典给出了每个分类的权重,形如{class_label:weight};如果为字符串'balanced',则每个分类的权重与该分类在样本集中出现的频率成反比。如果未指定,则每个分类的权重都为1。
- max_iter:一个整数,指定最大迭代次数。
- random_state:一个整数或者一个RandomState实例或者none。如果为整数,则它指定了随机数生成器的种子,如果为RandomState实例,则指定了随机数生成器。如果为none则使用默认是随机数生成器。
- solver:一个字符串,指定了求解最优化问题的算法,可以为如下值。newton-cg:使用牛顿法;lbfgs:使用L-BFGS拟牛顿法;liblinear:使用liblinear;sag:使用stochastic average gradient descent算法。注:对于规模小的数据集,liblinear比较适用,对于规模大的数据集,sag比较适用,而newton-cg,lbfgs、sag只处理penalty='l2'的情况。
- tol:一个浮点数,指定判断迭代收敛与否的阈值。
- multi_class:一个字符串,指定对于多分类问题的策略,可以为如下值,ovr:采用one-vs-rest策略;multinomial:直接采用多分类逻辑回归策略。
- verbose:一个正数。用于开启/关闭迭代中间输出日志功能。
- warm_start:一个布尔值,如果为true,那么使用前一次训练结果继续训练,否则从头开始训练。
- n_jobs:一个正数。指定任务并行时的cpu数量。如果为-1则使用所有可用的CPU。
2、属性
- coef_:权重向量。
- intercept_:b值
- n_iter_:实际迭代次数
3、方法
- fit(x,y[,sample_weight]):训练模型
- predict(x):用模型进行训练,返回预测值。
- predict_log_proba(x):返回一个数组,数组的元素依次是x预测为各个类别的概率的对数值。
- predict_proba(x):返回一个数组,数组的元素依次是x预测为各个类别的概率值。
- score(x,y[,sample_weight]):返回在(x,y)上预测的准确率






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论