Lars#
- class sklearn.linear_model.Lars(*, fit_intercept=True, verbose=False, precompute='auto', n_nonzero_coefs=500, eps=np.float64(2.220446049250313e-16), copy_X=True, fit_path=True, jitter=None, random_state=None)[來源]#
最小角度迴歸模型,又稱 LAR。
請參閱使用者指南以了解更多資訊。
- 參數:
- fit_interceptbool,預設值=True
是否為此模型計算截距。如果設定為 false,則在計算中不會使用截距(即,預期資料會居中)。
- verbosebool 或 int,預設值=False
設定詳細程度。
- precomputebool、「auto」或類似陣列,預設值='auto'
是否使用預先計算的格拉姆矩陣來加速計算。如果設定為
'auto'
,則由我們決定。格拉姆矩陣也可以作為引數傳遞。- n_nonzero_coefsint,預設值=500
非零係數的目標數量。若無限制,請使用
np.inf
。- epsfloat,預設值為 np.finfo(float).eps
在計算 Cholesky 對角因子時使用的機器精確度正規化。對於病態嚴重的系統,請增加此值。與某些基於迭代優化的演算法中的
tol
參數不同,此參數不控制優化的容忍度。- copy_Xbool,預設值為 True
如果為
True
,則會複製 X;否則,可能會覆寫 X。- fit_pathbool,預設值為 True
如果為 True,則完整路徑會儲存在
coef_path_
屬性中。如果您要計算大型問題或多個目標的解,將fit_path
設定為False
會加快速度,特別是對於小的 alpha 值。- jitterfloat,預設值為 None
要加到
y
值上的均勻雜訊參數的上限,以滿足模型一次計算一個的假設。這可能有助於穩定性。在版本 0.23 中新增。
- random_stateint、RandomState 實例或 None,預設值為 None
決定抖動的隨機數產生。傳遞一個 int 以便在多次函數呼叫中產生可重現的輸出。請參閱詞彙表。如果
jitter
為 None,則忽略此參數。在版本 0.23 中新增。
- 屬性:
- alphas_形狀為 (n_alphas + 1,) 的類陣列或此類陣列的列表
每次迭代的最大共變異數(絕對值)。
n_alphas
為max_iter
、n_features
或路徑中alpha >= alpha_min
的節點數(取最小者)。如果這是類陣列的列表,則外部列表的長度為n_targets
。- active_形狀為 (n_alphas,) 的列表或此類列表的列表
路徑末端活動變數的索引。如果這是列表的列表,則外部列表的長度為
n_targets
。- coef_path_形狀為 (n_features, n_alphas + 1) 的類陣列或此類陣列的列表
沿路徑的係數變化值。如果
fit_path
參數為False
,則不存在此值。如果這是類陣列的列表,則外部列表的長度為n_targets
。- coef_形狀為 (n_features,) 或 (n_targets, n_features) 的類陣列
參數向量(公式中的 w)。
- intercept_float 或形狀為 (n_targets,) 的類陣列
決策函數中的獨立項。
- n_iter_類陣列或 int
lars_path 尋找每個目標的 alpha 網格所使用的迭代次數。
- n_features_in_int
在 fit 期間看到的特徵數量。
在版本 0.24 中新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅當
X
具有都是字串的特徵名稱時才定義。在版本 1.0 中新增。
另請參閱
lars_path
使用 LARS 演算法計算最小角度迴歸或 Lasso 路徑。
LarsCV
交叉驗證的最小角度迴歸模型。
sklearn.decomposition.sparse_encode
稀疏編碼。
範例
>>> from sklearn import linear_model >>> reg = linear_model.Lars(n_nonzero_coefs=1) >>> reg.fit([[-1, 1], [0, 0], [1, 1]], [-1.1111, 0, -1.1111]) Lars(n_nonzero_coefs=1) >>> print(reg.coef_) [ 0. -1.11...]
- fit(X, y, Xy=None)[原始碼]#
使用 X、y 作為訓練資料來擬合模型。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
訓練資料。
- y形狀為 (n_samples,) 或 (n_samples, n_targets) 的類陣列
目標值。
- Xy形狀為 (n_features,) 或 (n_features, n_targets) 的類陣列,預設值為 None
可以預先計算的 Xy = np.dot(X.T, y)。只有在預先計算 Gram 矩陣時才有用。
- 返回:
- self物件
返回自身的實例。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看使用者指南,了解路由機制如何運作。
- 返回:
- routingMetadataRequest
封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[原始碼]#
取得此估算器的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將傳回此估算器和包含的子物件(即估算器)的參數。
- 返回:
- paramsdict
參數名稱對應到它們的值。
- predict(X)[原始碼]#
使用線性模型進行預測。
- 參數:
- X類陣列或稀疏矩陣,形狀為 (n_samples, n_features)
樣本。
- 返回:
- C陣列,形狀為 (n_samples,)
返回預測值。
- score(X, y, sample_weight=None)[原始碼]#
返回預測的決定係數。
決定係數 \(R^2\) 定義為 \((1 - \frac{u}{v})\),其中 \(u\) 是殘差平方和
((y_true - y_pred)** 2).sum()
,而 \(v\) 是總平方和((y_true - y_true.mean()) ** 2).sum()
。最佳可能的分數是 1.0,它可能是負數(因為模型可能非常糟糕)。一個總是預測y
的期望值,而不考慮輸入特徵的常數模型,會得到 0.0 的 \(R^2\) 分數。- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
測試樣本。對於某些估算器,這可能是預先計算的核矩陣或形狀為
(n_samples, n_samples_fitted)
的通用物件列表,其中n_samples_fitted
是估算器擬合中使用的樣本數。- y類陣列,形狀為 (n_samples,) 或 (n_samples, n_outputs)
X
的真實值。- sample_weight類陣列,形狀為 (n_samples,),預設值為 None
樣本權重。
- 返回:
- score浮點數
self.predict(X)
相對於y
的 \(R^2\)。
注意事項
當在回歸器上呼叫
score
時使用的 \(R^2\) 分數,從 0.23 版本開始使用multioutput='uniform_average'
,以與r2_score
的預設值保持一致。這會影響所有多輸出回歸器的score
方法(MultiOutputRegressor
除外)。
- set_fit_request(*, Xy: bool | None | str = '$UNCHANGED$') Lars [原始碼]#
請求傳遞給
fit
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的使用者指南。每個參數的選項是
True
:請求中繼資料,如果提供則傳遞給fit
。如果未提供中繼資料,則忽略該請求。False
:不請求中繼資料,並且元估算器不會將其傳遞給fit
。None
:不請求中繼資料,如果使用者提供,則元估算器會引發錯誤。str
:中繼資料應使用此給定的別名而不是原始名稱傳遞給元估算器。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 保留現有的請求。這可讓您變更某些參數的請求,而不是其他參數的請求。在 1.3 版本中新增。
注意
只有在此估算器用作元估算器的子估算器時,此方法才相關,例如在
Pipeline
內使用。否則,它沒有任何作用。- 參數:
- Xy字串、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
用於
fit
中的Xy
參數的中繼資料路由。
- 返回:
- self物件
更新後的物件。
- set_params(**params)[原始碼]#
設定此估算器的參數。
此方法適用於簡單的估計器,以及巢狀物件(例如
Pipeline
)。後者具有<component>__<parameter>
形式的參數,因此可以更新巢狀物件的每個組件。- 參數:
- **paramsdict
估計器參數。
- 返回:
- self估計器實例
估計器實例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') Lars [原始碼]#
請求傳遞給
score
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時,此方法才相關(請參閱sklearn.set_config
)。請參閱關於路由機制如何運作的使用者指南。每個參數的選項是
True
:請求中繼資料,並在提供時傳遞給score
。如果未提供中繼資料,則會忽略請求。False
:不請求中繼資料,且元估計器不會將其傳遞給score
。None
:不請求中繼資料,如果使用者提供,則元估算器會引發錯誤。str
:中繼資料應使用此給定的別名而不是原始名稱傳遞給元估算器。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 保留現有的請求。這可讓您變更某些參數的請求,而不是其他參數的請求。在 1.3 版本中新增。
注意
只有在此估算器用作元估算器的子估算器時,此方法才相關,例如在
Pipeline
內使用。否則,它沒有任何作用。- 參數:
- sample_weightstr、True、False 或 None,預設值 = sklearn.utils.metadata_routing.UNCHANGED
score
中sample_weight
參數的中繼資料路由。
- 返回:
- self物件
更新後的物件。