L1正则化最小C值#

sklearn.svm.l1_min_c(X, y, *, loss='squared_hinge', fit_intercept=True, intercept_scaling=1.0)[source]#

返回C的下界。

C的下界计算使得对于C ∈ (l1_min_C, ∞),模型保证非空。这适用于L1惩罚分类器,例如具有penalty='l1'的LinearSVC和具有penalty='l1'的linear_model.LogisticRegression。

如果fit()中的class_weight参数未设置,则此值有效。

参数:
X形状为(n_samples, n_features)的{数组、稀疏矩阵}

训练向量,其中n_samples是样本数,n_features是特征数。

y形状为(n_samples,)的数组

相对于X的目标向量。

loss{'squared_hinge', 'log'},默认为'squared_hinge'

指定损失函数。使用'squared_hinge'时为平方铰链损失(又称L2损失)。使用'log'时为逻辑回归模型的损失。

fit_intercept布尔值,默认为True

指定模型是否应该拟合截距。它必须与fit()方法的参数匹配。

intercept_scaling浮点数,默认为1.0

当fit_intercept为True时,实例向量x变为[x, intercept_scaling],即一个值为intercept_scaling的“合成”特征被添加到实例向量中。它必须与fit()方法的参数匹配。

返回值:
l1_min_c浮点数

C的最小值。

示例

>>> from sklearn.svm import l1_min_c
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=100, n_features=20, random_state=42)
>>> print(f"{l1_min_c(X, y, loss='squared_hinge', fit_intercept=True):.4f}")
0.0044