LogisticRegression类
逻辑回归的基本思想在前面已经写过,就不再赘述。主要是为了了解并使用scikit-learn中逻辑回归类库,在实践前先整理一下里面的参数、属性和方法。
我们使用
##加载线性模型
from sklearn import linear_model
model=linear_model.LogisticRegression()
来加载逻辑回归模型。
【参数(Parameters)】
首先我们来看看LogisticRegression()有哪些参数。
penalty参数:
str, ‘l1’ or ‘l2’, default: ‘l2’
即选择正则化参数,str类型,可选L1和L2正则化,默认是L2正则化。
dual参数:
bool, default: False
即选择对偶公式(dual)或原始公式(primal),bool类型默认是原始公式,当样本数大于特征数时,更倾向于原始公式,即False。
tol参数:
float, default: 1e-4
对停止标准的容忍,即求解到多少的时候认为已经求得最优解,并停止。float类型,默认值为1e-4。
C参数:
float, default: 1.0
设置正则化强度的逆,值越小,正则化越强。float类型,默认值为1.0。
fit_intercept参数:
bool, default: True
即选择是否将偏差(也称截距)添加到决策函数中。bool类型,默认为True,添加。
intercept_scaling参数:
float, default 1
只在solver选择liblinear并且self.fit_intercept设置为True的时候才有用。float类型。在这种情况下x变为 [ [ x,self.intercept_scaling
class_weight参数:
dict or ‘balanced’, default: None
即类型权重参数,用于标示分类模型中各种类型的权重。可以用字典模式输入也可选择‘balanced’模式,默认是None,即所有类型的权重都一样。
可以通过直接输入{class_label: weight}来对每个类别权重进行赋值,如{0:0.3,1:0.7}就是指类型0的权重为30%,而类型1的权重为70%。
也可以通过选择‘balanced’来自动计算类型权重,实际计算公式为:
n_samples / (n_classes * np.bincount(y)),当然这是不需要我们计算的啦。
在出现误分类代价很高或类别不平衡的情况下,我们可以通过这个参数来 在 出 现 误 分 类 代 价 很 高 或 类 别 不 平 衡 的 情 况 下 , 我 们 可 以 通 过 这 个 参 数 来
调整权重。 调 整 权 重 。
1、误分类代价很高:比如说对合法用户和非法用户进行分类,将非法用