根据菜菜的课程进行整理,方便记忆理解
代码位置如下:
| penalty | 可以输入"11"或"12"来指定使用哪一种正则化方式,不填写默认’12" 注意,若选择’11“正则化,参数Solver仅能够使用求解方式"liblinear"和"saga",若使用“12’正则化,参数solver中所有的求解方式都可以使用。0 .19版本中更新:11正则化与"solver‘’、"saga"一起使用,并且允许 "multinomial + Ll的组合 |
|---|---|
| dual | 布尔值,默认False 使用对偶或原始计算方式。对偶方式只在求解器"liblinear"与12正则项连用的情况下有效。如果样本量大量特征的数目,这个参数设置为False会更好 |
| tol | 浮点数,默认1.0E-04 让迭代停下来的最小值,数字越大,迭代越早停下来 |
| C | C正则化强度的倒数,必须是一个大于0的浮点数,不填写默认1.0,即默认正则项与损失函数的比值是1:1 C越小,损失函数会越小,模型对损失函数的惩罚越重,正则化的效力越强,参数会逐渐被压缩得越来越小 |
| fit_intercept | 布尔值,默认True 指定是否应将常量(比如说,偏差或截距)添加到决策函数中 |
| intercept_scaling | 浮点数,默认1 仅在使用求解器"IibIinear"且self.fit_ intercept设置为True时有用。 在这种情况下,x变为[x, self.intercept_ scaling],即具有等于intercept_ scaling的常数值的"合成"特征会被附加到实例矢量。截距会变为intercept_ scaling * synthetic_ feature_ weight 注意:合成特征权重(synthetic_ feature_ weight)与所有其他特征一样会经历I1和l2正则化。为了减小正则化对合成特征权重(并因此对截距)的影响,必须增加intercept_ scaling |
| class_weight | |
| random_state | 整数,sklearn中设定好的RandomState实例,或None,可不填,默认None 1) 输入整数,random state是由随机数生成器生成的随机数种子 2) 输入RandomState实例则random_ state是一个随机数生成器 3) 输入None,随机数生成器会是np.random模块中的一个Randomstate实例 |
| solver | 字符,可输入{'newton-cg", "Ibfgs", "liblinear", "sag', "saga"},默认"liblinear" 用于求解使模型最优化的参数的算法,即最优化问题的算法。 对于小数据集,"IibIinear"是一个不错的选择,而"sag"和"saga".对于大数据集来说更快。 对于多分类问题,只有"newton-cg","sag","saga"和"Ibfgs"能够处理多分类的损失函数,'IibIinear’仅限于"一对多"(ovr)和普通二分类方案。 "newton-cg", "Ibfgs"和"sag"只处理L2正则项,而"liblinear"和"saga"可与L1,L2正则项都连用。 请注意,"sag"和"saga"快速收敛仅在量纲大致相同的数据上得到保证。您可以使用sklearn.preprocessing 中的缩放功能来预处理数据。 注意:默认值将在0.22中从“liblinear’更改为”Ibfgs" |
| max_iter | 整数,默认100 仅适用于newton-cg,sag和bfgs求解器。求解器收敛的最大迭代次数 |
| multi_class | 输入"ovr", "multinomial", "auto"来告知模型,我们要处理的分类问题的类型。默认是"ovr" 表示模型要处理的分类问题的类型 'ovr':表示分类问题是二分类,或让模型使用"一对多"的形式来处理多分类问题。 'multinomial':表示处理多分类问题,这种输入在参数solver是'liblinear'时不可用 "auto":表示会根据数据的分类情况和其他参数来确定模型要处理的分类问题的类型。比如说,如果数据是二分类,或者solver的取值为"liblinear","auto"会默认选择"ovr"。反之,则会选择"nultinomial" |
| verbose | 整数,默认0 对于liblinear和lbfgs求解器,将verbose设置为任何正数可以表示需要的拟合详细程度 |
| warm_start | 布尔值,默认是False 设置为True时,使用上一次的拟合结果,否则,重新实例化一个模型来进行训练 |
| n_jobs | 整数或None,默认None 在multi_class = "ovr"中平行计算类别时使用的CPU的个数,无论是否指定了"multi_class",当求解器设置为"liblinear"时,都会忽略该参数。如果此参数在joblib.parallel_backend上下文中,就表示-1,否则表示1,-1表示使用处理器的所有线程来进行计算。 |
属性列表
| 属性 | 结构 | 含义 |
|---|---|---|
| coef_ | 数组,结构(1,n_features)或(n_features,n_features) | 决策函数,即逻辑回归的预测函数中,特征对应的系数。 当给定问题是二分类问题时,coef_具有形状(1,n_features)。特别地,当multi_class ="muItinomiaI"时,coef_对应于结果(True)并且-coef_对应于结果0(False) |
| intercept_ | 数组,结构(1,)或(n_features,) | 逻辑回归的预测函数中的截距(或者偏差) 如果fit_intercept设置为False,则这个属性返回0。当给定问题是二分类问题时,intercept_具有形状(1,)。特别是,当multi_ class ='multinomial’时,intercept_对应于结果1(True),- intercept_对应于结果0(False) |
| n_iter_ | 数组,结构(n_classes,)或(1,) | 所有分类的实际迭代次数。如果是二分类或muItinomiaI的问题,则只返回1个元素。对于 liblinear求解器,会给出了所有类的最大迭代次数。 |
接口列表
| 接口 | 输入 | 功能 | 返回 |
|---|---|---|---|
| decision_function | 测试集x | 预测样本的置信度分数 样本的置信度得分是该样本与超平面的有符号距离 | 每个(样本,尖别)组合的置信度分数。在二分类的情况下,self.classes_[1]的置信度得分中大于0的部分表示将样本预测为此类 |
| fit | 训练集x | 使用特征矩阵X拟合模型 | 拟合好的模型本身 |
| predict | 测试集x | 预测所提供的测试集x中样本点的标签 | 返回模型顶测的测试样本的标签 |
| predict_log_proba | 测试集x | 预测所提供的测试集x中样本点归属于各个标签的对数概率 | 返回测试集中每个样本点对应的每个标签的对数概率 |
| predict_proba | 测试集x | 预测所提供的测试集X中样本点归属于名个标签的概率 | 返回测试集中每个样本点对应的每个标签的概率 对于multi_class题,如果multi_class参数设置为 "multincial",则使用softmax函数用于查找每个类的预测概率。否则就使用一对多ovr的方法,即使用逻辑函数计算每个类假设为正的概率,并在所有类中正则化这些值 |
| score | 测试集X,测试集y | 用给定测试数据和标签的平均准确度作为模型的评分标准 | 返回给定数据和标签的平均准确度,分数越高越好,在多标签分类中返回子集的精度,这是一个非常严格的度量,因为我们需要为每个样本正确预测每个标签 |
| set_params | 新参数组台 | 在建立好的模型上,重新设置此评估器的参数 | 用新参数组合重新实例化和训练的模型 |
| get_params | 不需要输入任何对象 | 获取此评估器的参数 | 模型的参数 |
| densify | 不需要输入任何对象 | 将系数短阵转换为稀疏拒阵 | 转换好的稀疏短阵 |
| sparsify | 不需要输入任何对象 | 将系数短阵转换为稀疏拒阵 | 转换好的稀疏短阵 |