l1_min_c#

sklearn.svm.l1_min_c(X, y, *, потеря='squared_hinge', fit_intercept=True, intercept_scaling=1.0)[источник]#

Возвращает нижнюю границу для C.

Нижняя граница для C вычисляется так, что для C в (l1_min_C, infinity) модель гарантированно не будет пустой. Это относится к классификаторам с l1-штрафом, таким как sklearn.svm.LinearSVC с penalty='l1' и sklearn.linear_model.LogisticRegression с l1_ratio=1.

Это значение действительно, если class_weight параметр в fit() не установлен.

Пример использования этой функции см. в Регуляризационный путь L1-логистической регрессии.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Вектор обучения, где n_samples — это количество образцов и n_features это количество признаков.

yarray-like формы (n_samples,)

Целевой вектор относительно X.

потеря{'squared_hinge', 'log'}, по умолчанию 'squared_hinge'

Определяет функцию потерь. При 'squared_hinge' это квадратичная функция потерь с шарниром (также известная как L2-потери). При 'log' это функция потерь моделей логистической регрессии.

fit_interceptbool, по умолчанию=True

Определяет, должен ли свободный член быть подобран моделью. Он должен соответствовать параметру метода fit().

intercept_scalingfloat, по умолчанию=1.0

Когда fit_intercept равен True, вектор экземпляра x становится [x, intercept_scaling], т.е. "синтетический" признак с постоянным значением, равным intercept_scaling, добавляется к вектору экземпляра. Он должен соответствовать параметру метода fit().

Возвращает:
l1_min_cfloat

Минимальное значение для 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