sklearn.linear

您所在的位置:网站首页 sklearnlinear_modellogisticregression sklearn.linear

sklearn.linear

2023-03-17 03:23| 来源: 网络整理| 查看: 265

class sklearn.linear_model.LogisticRegressionCV(*, Cs=10, fit_intercept=True, cv=None, dual=False, penalty='l2', scoring=None, solver='lbfgs', tol=0.0001, max_iter=100, class_weight=None, n_jobs=None, verbose=0, refit=True, intercept_scaling=1.0, multi_class='auto', random_state=None, l1_ratios=None)

[源码]

Logistic回归CV(又名logit,MaxEnt)分类器。

有关交叉验证估算器,请参阅词汇表条目。

此类使用liblinear,newton-cg,sag,lbfgs优化器实现逻辑回归。newton-cg, sag 和lbfgs求解器仅支持具有原始公式的L2正则化。liblinear求解器支持L1和L2正则化,仅对L2惩罚采用对偶公式。saga求解器仅支持Elastic-Net惩罚。

对于Cs值和l1_ratios值的网格,最好由交叉验证器StratifiedKFold选择最佳超参数 ,但可以使用cv参数进行更改。'newton-cg','sag','saga'和'lbfgs'求解器可以对系数进行热启动(请参阅词汇表)。

在用户指南中阅读更多内容。

参数 说明 Cs int or list of floats, default=10Cs中的每个值都表示了正则强度的倒数。如果Cs作为整数,则以1e-4和1e4之间的对数比例选择Cs值的网格。与支持向量机一样,较小的值指定更强的正则化。 fit_intercept bool, default=True是否将常量(aka偏置或截距)添加到决策函数。 cv int or cross-validation generator, default=None使用的默认交叉验证生成器是“分层K折”。如果提供整数,则为使用的折数。可能的交叉验证对象的列表,请参见sklearn.model_selection模块。

在版本0.22中更改:cv如果为“None”,则默认值从3倍更改为5倍。

dual bool, default=False是否对偶化。仅对liblinear求解器使用L2惩罚时进行对偶化。当n_samples> n_features时,首选dual = False。 penalty {‘l1’, ‘l2’, ‘elasticnet’}, default=’l2’用于指定处罚中使用的规范。'newton-cg','sag'和'lbfgs'求解器仅支持L2惩罚。仅“ saga”求解器支持“ elasticnet”。 scoring str or callable, default=None字符串(请参阅模型评估文档)或具有scorer(estimator, X, y)签名的评分器可调用对象或函数 。有关可以使用的评分功能的列表,请参见sklearn.metrics。使用的默认评分选项是“准确度”。 solver {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, default=’lbfgs’用于优化问题的算法。

对于小型数据集,“ liblinear”是一个不错的选择,而对于大型数据集,“ sag”和“ saga”更快。- 对于多类分类问题,只有'newton-cg' ,'sag','saga' 和 'lbfgs' 处理多项式损失。“ liblinear”仅限于“一站式”计划。- 'newton-cg','lbfgs'和'sag'仅处理L2惩罚,而'liblinear' 和'saga'处理L1惩罚。- 'liblinear'在LogisticRegressionCV中可能较慢,因为它不处理热启动。

请注意,只有在比例大致相同的要素上才能保证“ sag”和“ saga”快速收敛。你可以使用sklearn.preprocessing中的缩放器对数据进行预处理。

版本0.17中的新功能:随机平均梯度下降求解器。

0.19版中的新功能: SAGA求解器。

tol float, default=1e-4停止标准的容差。 max_iter int, default=100优化算法的最大迭代次数。 class_weight dict or ‘balanced’, default=None以{class_label: weight}的形式与类别关联的权重。如果没有给出,所有类别的权重都应该是1。

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

请注意,如果指定了sample_weight,则这些权重将与sample_weight(通过fit方法传递)相乘

*0.17版中的新功能:*class_weight ='balanced'

n_jobs int, default=None交叉验证循环中使用的CPU内核数。除非设置了joblib.parallel_backend 参数,否则None表示1 。 -1表示使用所有处理器。有关更多详细信息,请参见词汇表。 verbose int, default=0对于liblinear,sag和lbfgs求解器,将verbose设置为任何正数以表示输出日志的详细程度。求解器,将verbose设置为任何正数以表示输出日志的详细程度。 refit ool, default=True如果设置为“True”,则将所有折叠的分数平均,并获取最佳分数对应的系数和C,并使用这些参数进行最终的调整。否则,折叠的最佳分数对应的系数,截距和C取平均值。 intercept_scaling float, default=1仅在使用求解器“ liblinear”并将self.fit_intercept设置为True时有用。在这种情况下,x变为[x,self.intercept_scaling],即将常量值等于intercept_scaling的“合成”特征附加到实例矢量。截距变为intercept_scaling * synthetic_feature_weight

注意!与所有其他特征一样,合成特征权重也要经过L1 / L2正则化。为了减轻正则化对合成特征权重(以及因此对截距)的影响,必须增加intercept_scaling。

multi_class {‘auto, ‘ovr’, ‘multinomial’}, default=’auto’如果选择的选项是“ ovr”,则每个标签都看做二分类问题。对于“multinomial”,即使数据是二分类的,损失最小是多项式损失拟合整个概率分布。当solver ='liblinear' 时, 'multinomial' 不可用。如果数据是二分类的,或者如果Solver ='liblinear',则'auto'选择'ovr',否则选择'multinomial'。

*版本0.18中的新功能:*用于“多项式”情况的随机平均梯度下降求解器。

*在版本0.22中更改:在版本0.22中,*默认值从'ovr'更改为'auto'。

random_state int, RandomState instance, default=None在solver='sag','saga'或'liblinear'时,用于随机整理数据。有关详细信息,请参见词汇表。 l1_ratios list of float, default=NoneElastic-Net混合参数列表,取值范围0  from sklearn.datasets import load_iris>>> from sklearn.linear_model import LogisticRegressionCV>>> X, y = load_iris(return_X_y=True)>>> clf = LogisticRegressionCV(cv=5, random_state=0).fit(X, y)>>> clf.predict(X[:2, :])array([0, 0])>>> clf.predict_proba(X[:2, :]).shape(2, 3)>>> clf.score(X, y)0.98...

方法

方法 说明 decision_function(self, X) 预测样本的置信度得分。 densify(self) 将系数矩阵转换为密集数组格式。 fit(self, X, y[, sample_weight]) 根据给定的训练数据拟合模型。 get_params(self[, deep]) 获取此估计器的参数。 predict(self, X) 预测X中样本的类别标签。 predict_log_proba(self, X) 预测概率估计的对数。 predict_proba(self, X) 概率估计。 score(self, X, y[, sample_weight]) 使用给定测试数据和标签上的scoring选项返回分数。 set_params(self, **params) 设置此估计器的参数。 sparsify(self) 将系数矩阵转换为稀疏格式。 __init__(self, *, Cs=10, fit_intercept=True, cv=None, dual=False, penalty='l2', scoring=None, solver='lbfgs', tol=0.0001, max_iter=100, class_weight=None, n_jobs=None, verbose=0, refit=True, intercept_scaling=1.0, multi_class='auto', random_state=None, l1_ratios=None)

[源码]

初始化self, 请参阅help(type(self))以获得准确的说明。

decision_function(self, X)

[源码]

预测样本的置信度得分。

样本的置信度分数是该样本到超平面的符号距离。

参数 说明 X array_like or sparse matrix, shape (n_samples, n_features)样本数据。 返回值 说明 array, shape=(n_samples,) if n_classes == 2 else (n_samples, n_classes)每个(样本,类别)组合的置信度得分。在二进制情况下,self.classes_ [1]的置信度得分> 0表示将预测该类。 densify(self)

[源码]

将系数矩阵转换为密集数组格式。

将coef_数值(返回)转换为numpy.ndarray。这是coef_的默认格式,并且是拟合模型所需的格式,因此仅在之前被稀疏化的模型上才需要调用此方法。否则,它是无操作的。

返回值 说明 self 拟合估计器。 fit(self,X,y,sample_weight = None )

[源码]

根据给定的训练数据拟合模型。

参数 说明 X {array-like, sparse matrix} of shape (n_samples, n_features) 训练数据,其中n_samples是样本数,n_features是特征数。 y array-like of shape (n_samples,) 对应于X的目标向量。 sample_weight array-like of shape (n_samples,) default=None 分配给各个样本的权重数组。如果未设置,则为每个样本的权重都为1。 返回值 说明 self object get_params(self,deep = True )

[源码]

获取此估计器的参数。

参数 说明 deep bool, default=True 如果为True,返回此估计器和所包含子对象的参数。 返回值 说明 params mapping of string to any 参数名称映射到其值。 predict(self, X)

[源码]

预测X中样本的类别标签。

参数 说明 X array_like or sparse matrix, shape (n_samples, n_features) 样本数据 返回值 说明 C array, shape [n_samples] 每个样本的预测类别标签。 predict_log_proba(self, X)

[源码]

预测概率估计的对数。

返回按类别标签排序的所有类别的估计值。

参数 说明 X array-like of shape (n_samples, n_features) 要预测的数据,其中n_samples是样本数, n_features是特征数。 返回值 说明 T array-like of shape (n_samples, n_classes) 返回模型中每个类别的样本的对数概率,类按self.classes_中的顺序排序。 predict_proba(self, X)

[源码]

概率估计。

返回按类别标签排序的所有类别的估计值。

对于multi_class问题,如果将multi_class设置为“multinomial”,则使用softmax函数查找每个类别的预测概率。否则使用one vs-rest方法,即使用logistic函数计算每个类别为正的概率。并在所有类别中标准化这些值。

参数 说明 X array-like of shape (n_samples, n_features) 要预测的数据,其中n_samples是样本数, n_features是特征数。 返回值 说明 T array-like of shape (n_samples, n_classes) 返回模型中每个类别的样本概率,按self.classes_中的类别顺序排序。 score(self, X, y, sample_weight=None)

[源码]

使用给定测试数据和标签上的scoring选项返回分数。

参数 说明 X array-like of shape (n_samples, n_features) 测试样本。 y array-like of shape (n_samples,) or (n_samples, n_outputs) X的真实标签。 sample_weight array-like of shape (n_samples,), default=None 样本权重。 返回值 说明 score float 预测标签与真实标签的平均准确度 set_params(self, **params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者具有形式参数 __,以便可以更新嵌套对象的每个组件。

参数 说明 **params dict 估计器参数。 返回值 说明 self object 估计器实例。 sparsify(self)

[源码]

将系数矩阵转换为稀疏格式。

将coef_数值转换为scipy.sparse矩阵,对于L1正规化的模型,该矩阵比通常的numpy.ndarray具有更高的内存和存储效率。

该intercept_数值未转换。

返回值 说明 self 拟合估计器。

对于非稀疏模型,即当coef_中零的个数不多时,这实际上可能会增加内存使用量,因此请谨慎使用此方法。经验法则是,可以使用(coef_ == 0).sum()计算得到的零元素的数量必须大于50%,这时的效果是显着的。

在调用densify之前,调用此方法将无法进一步使用partial_fit方法(如果有)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3