l1_min_c#
- sklearn.svm.l1_min_c(X, y, *, loss='squared_hinge', fit_intercept=True, intercept_scaling=1.0)[原始碼]#
傳回 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