sklearn逻辑回归linear_model.logisticregression

sklearn.linear_model.logisticregression

(penlty='l2',dual=false,tol=0.0001,C=1.0,fit_intercept=true,intercept_scaling=1,class_weight=none,random_state=none,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_star=false,n_jobs=1)

参数:

penalty:一个字符串,制定了正则化策略。

  • 如果为‘l2’,则优化目标函数为:
  • 如果为‘l1’,则优化目标函数为:

dual:一个布尔值。如果为true,则求解对偶形式(只是在penalty='l2',solver='liblinear'有对偶形式);

如果为false,则求原始形式。

C:一个浮点数,指定了惩罚系数的倒数。如果它的值越小,则正则化越大。

fit_intercept:一个布尔值,制定是否需要b值。如果为false,则不会计算b值(模型会假设数据已经中心化)

intercept_scaling:一个浮点数,只有当solver='liblinear'才有意义。

当采用fit_intercept时,相当于人造一个特征出来,该特征恒为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 算法

注:对于规模小的数据集,'liblearner'比较适用;对于规模大的数据集,'sag'比较适用。

'newton-cg'、'lbfgs'、'sag' 只处理penalty=‘12’的情况。

tol:一个浮点数,指定判断迭代收敛与否的一个阈值

multi_class:一个字符串,指定对于多分类问题的策略

ovr :one-vs-rest策略

multinomial:直接采用多分类逻辑回归策略

verbose:一个正数。用于开启/关闭迭代中间输出的日志

warm_start:一个布尔值。如果为true,使用前一次训练结果训练继续,否则从头开始

n_jobs:一个正数。指定任务并行时的cpu数量。如果-1则使用所有了用的cpu

返回值

corf_:权重向量

intercept:b值

n_iter:实际迭代次数

方法:

fix(X,y[,sample_weight]):训练模型。
predict(X):用模型进行预测,返回预测值。
score(X,y[,sample_weight]):返回(X,y)上的预测准确率(accuracy)。
predict_log_proba(X):返回一个数组,数组的元素一次是 X 预测为各个类别的概率的对数值。 
predict_proba(X):返回一个数组,数组元素一次是 X 预测为各个类别的概率的概率值。
sparsify():将系数矩阵转换为稀疏格式。
set_params(** params):设置此估计器的参数。
decision_function(X):预测样本的置信度分数。
densify():将系数矩阵转换为密集阵列格式。

 

posted @ 2019-06-26 11:29  leims  阅读(2151)  评论(0编辑  收藏  举报