sklean学习之LogisticRegression(逻辑斯蒂回归分类器)【使用方法】

本文是根据sklean官方文档进行翻译和学习的,如果理解有误欢迎留言指正,谢谢。

参考地址:

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#

sklearn.linear_model.LogisticRegression

sklearn.linear_model.LogisticRegression

class  sklearn.linear_model. LogisticRegression ( penalty=’l2’dual=Falsetol=0.0001C=1.0fit_intercept=Trueintercept_scaling=1class_weight=Nonerandom_state=Nonesolver=’liblinear’max_iter=100multi_class=’ovr’verbose=0warm_start=Falsen_jobs=1 ) [source]

逻辑回归(又名logit, MaxEnt)分类器

Parameters:

penalty : str, ‘l1’ or ‘l2’, default: ‘l2’

惩罚项类别:用于指定惩罚中使用的规范。

dual : bool, default: False

对偶式或者原始式. 对偶式只适用于l2惩罚且solver=‘liblinear ’。 当n_samples > n_features时设置dual=False

tol : float, default: 1e-4

停止时能接受的容差

C : float, default: 1.0

正则项系数的倒数,它必须是一个正的浮点数。就像支持向量机一样,值越小则正则化更强。

fit_intercept : bool, default: True

Specifies if a constant (a.k.a. bias or intercept) should be added to the decision function.

指定是否应该在决策函数中添加一个常量(斜率或截距)。

intercept_scaling : float, default 1.

只有在使用了solver=“liblinear”且self.fit_intercept设置为True时才有用。

class_weight : dict or ‘balanced’, default: None

权重跟{class_label: weight}有关.如果没有给出,则所有的类都应该有一个权重。

 “balanced” 模式下使用y的值自动调整权重,与输入数据中的class频率成反比,如n_samples / (n_classes * np.bincount(y))。

random_state : int, RandomState instance or None, optional, default: None

在对数据进行变换时使用伪随机数生成器的种子。如果是int, random_state是随机数生成器使用的种子;如果是随机状态实例,random_state是随机数发生器;如果是None,随机数生成器就是np.random使用的随机状态实例。当solver == ' sag '或' liblinear '时使用。

solver : {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’},

默认: ‘liblinear’ 算法在优化问题中使用.

  • 对于小数据集,“liblinear”是一个不错的选择,而“sag”和‘saga’在大数据集更快。
  • 对于多类问题,只有“newton-cg”、“sag”、“saga”和“lbfgs”可以 处理多项损失;“liblinear”只局限于一对多的方案。
  • “newton-cg”、“lbfgs”和“sag”只处理L2罚则,而 “liblinear”和“saga”处理L1的惩罚。

max_iter : int, default: 100

算法收敛时的最大迭代次数。仅适合newton-cg, sag 和 lbfgs算法. 

multi_class : str, {‘ovr’, ‘multinomial’}, default: ‘ovr’

Multiclass选项可以设置为 ‘ovr’ 或者 ‘multinomial’. 如果设置为 ‘ovr’, 那么每个label就对应一个二分类问题. 否则最小损失为符合整个概率分布的多项损失,不支持liblinear 算法

verbose : int, default: 0

详细内容,可以理解为进度条。对liblinear 和 lbfgs 算法可以设置verbose 为任意正数.

warm_start : bool, default: False

如果设置为 True, 直接重用前面调用的解决方案以适应初始化,否则删除之前的解决方案. 不适合liblinear算法

n_jobs : int, default: 1

Number of CPU cores used when parallelizing over classes if 当multi_class=’ovr’时在对class进行并行化时使用的CPU核数.  当``solver``设置为‘liblinear’ 时,不管‘multi_class’ 是否指定,这个参数将被忽略。 如果在值为 -1, 那么将使用所有的核数

Attributes:

coef_ : array, shape (1, n_features) or (n_classes, n_features)

决策函数的特征系数。

如果是二分类问题则coef_ is 是一维的

intercept_ : array, shape (1,) or (n_classes,)

在决策函数中的截距

如果fit_intercept设置为 False, 那么 intercept就设置为0.如果是二分类问题则  intercept_ is是一维的

n_iter_ : array, shape (n_classes,) or (1, )

所有类的实际迭代次数。


方法

decision_function(X)预测样本的置信分数  
densify()转换系数矩阵为密集数组的格式  
fit(X, y[, sample_weight])根据给定的训练数据拟合模型。  
get_params([deep])获取估计器的参数。  
predict(X)预测样本X中的类标签  
predict_log_proba(X)对数概率估计  
predict_proba(X)概率估计  
score(X, y[, sample_weight])测试集和标签的预测效果    
set_params(**params)设置此估计器的参数。  
sparsify()转换系数矩阵为稀疏矩阵的格式。  
fit ( Xysample_weight=None )
根据给定的训练数据拟合模型
Parameters:

X : {array-like, sparse matrix}, shape (n_samples, n_features)

  • 训练向量,其中
n_samples表示样本数量 ,n_features表示特征数量.

y : array-like, shape (n_samples,)

相对于 X.的目标向量

sample_weight : array-like, shape (n_samples,) optional

分配给单个样本的权重数组。如果没有提供,那么每个样本都具有单位权重。

Returns:

self : object

Returns self.


你可能感兴趣的:(算法)