LogisticRegression函数的各个参数意义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27972567/article/details/81949023
API 参数 意义 备注

LogisticRegression的 parameters

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Penalty Str类型,可选项为‘l1’和‘l2’,默认为‘l2’,用来确定惩罚项的规范。‘newton-cg’,‘sag’和’lbfgs’仅支持‘l2’惩罚项。 惩罚项是用来添加参数避免过拟合,可以理解为对当前训练样本的惩罚,用以提高函数的泛化能力。

dual

布尔类型,默认为‘False’,dual仅仅用在l2惩罚项的liblinear解法上。

Liblinear好像是线性多核,但不太清楚详细意思。

tol

float类型,默认为‘1e-4’,表示满足该精度时训练停止。

停止求解的标准,个人感觉应该是精度的意思。

C

float类型,默认为‘1.0’,正则化系数的倒数,取值必须为正浮点数。

例如在SVM中,值越小表示越强的正则化。

fit_intercept

布尔类型,默认为‘Ture’,确定是否有一个偏差或者截距应该被添加进决策函数。

 

intercept_scaling

float类型,默认为‘1.’,仅在解法‘liblinear’被使用且fit_intercept被置为True。

 

class_weight

字典类型或’balanced‘,默认为’None’,表示为各个类型样本的权重。如果没有给定,所有类型的权重为1。参数为‘balanced’则依照输入样本的频率自动调整权重。

‘balanced’参数的情况下,会按照比例调整比较多的类别的样本的权重降低,比较少样本的类别的样本权重依比提高。

random_state

int型,RandomState或None,默认为‘None',仅在算法为 ‘sag’  或 ’liblinear’ 时使用。

 

solver

{’newton-cg’ ,  ‘lbfgs’,  ‘liblinear’,  ‘sag’,  ‘saga’}, 分别为几种优化算法。默认为‘liblinear’。

--小数据集中,liblinear是一个好选择,sag和saga对大数据集更快;

--多类别问题中,除了liblinear其它四种算法都可以使用;

--newton-cg,lbfgs和sag仅能使用l2惩罚项,liblinear和saga使用l1惩罚项。

max_iter

int类型,默认为‘100’,仅适用于newton-cg, sag和lbfgs算法。

表示算法收敛的最大次数。

multi_class

str类型,{‘ovr’, ‘multinomial’}为可选参数,默认为‘ovr’,如果是二元分类问题则两个选项一样,如果是多元分类则ovr将进行多次二分类,分别为一类别和剩余其它所有类别;multinomial则分别进行两两分类,需要T(T-1)/2次分类。

在多分类中,ovr快,精度低;

Multinomial慢,精度高。

verbose

int类型,默认为’0‘,为liblinear和lbfgs算法设置一个任意正整数作为冗余

0表示不输出训练过程;

1表示偶尔输出;

大于1,每个子模型都输出

warm_start

布尔类型,默认为’False‘,如果为Ture,则使用上次的训练结果作为初始化参数,否则擦除上次的训练结果。

对liblinear算法无效

n_jobs

int类型,默认为‘1’,当multi_class=‘ovr’ 时并行处理的CPU核数量,当solver被设置为liblinear时不论multi_class是否被设置都忽略此参数。

如果给定的值为-1表示所有的CPU核都被使用。

 

展开阅读全文

没有更多推荐了,返回首页