本文簡要介紹python語言中 sklearn.linear_model.MultiTaskLassoCV.path
的用法。
用法:
static path(X, y, *, eps=0.001, n_alphas=100, alphas=None, precompute='auto', Xy=None, copy_X=True, coef_init=None, verbose=False, return_n_iter=False, positive=False, **params)
使用坐標下降計算 Lasso 路徑。
套索優化函數因單聲道和multi-outputs 而異。
對於mono-output 任務,它是:
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
對於multi-output 任務,它是:
(1 / (2 * n_samples)) * ||Y - XW||^2_Fro + alpha * ||W||_21
其中:
||W||_21 = \sum_i \sqrt{\sum_j w_{ij}^2}
即每行的範數之和。
在用戶指南中閱讀更多信息。
- X:{類數組,稀疏矩陣},形狀為 (n_samples, n_features)
訓練數據。直接作為Fortran-contiguous 數據傳遞以避免不必要的內存重複。如果
y
是 mono-output 那麽X
可以是稀疏的。- y:{類似數組的稀疏矩陣},形狀為 (n_samples,) 或 (n_samples, n_targets)
目標值。
- eps:浮點數,默認=1e-3
路徑的長度。
eps=1e-3
表示alpha_min / alpha_max = 1e-3
。- n_alphas:整數,默認=100
正則化路徑上的 alpha 數量。
- alphas:ndarray,默認=無
計算模型的 alpha 列表。如果自動設置
None
alpha。- precompute:‘auto’,布爾型或類似數組的形狀 (n_features, n_features),默認=’auto’
是否使用預先計算的 Gram 矩陣來加速計算。如果設置為
'auto'
,讓我們決定。 Gram 矩陣也可以作為參數傳遞。- Xy:形狀為 (n_features,) 或 (n_features, n_targets) 的類似數組,默認=無
Xy = np.dot(X.T, y) 可以預先計算。僅在預先計算了 Gram 矩陣時才有用。
- copy_X:布爾,默認=真
如果
True
,X 將被複製;否則,它可能會被覆蓋。- coef_init:ndarray 形狀 (n_features, ), 默認=None
係數的初始值。
- verbose:bool 或 int,默認 = False
詳細程度。
- return_n_iter:布爾,默認=假
是否返回迭代次數。
- positive:布爾,默認=假
如果設置為 True,則強製係數為正。 (僅在
y.ndim == 1
時允許)。- **params:誇格斯
傳遞給坐標下降求解器的關鍵字參數。
- alphas:ndarray 形狀 (n_alphas,)
沿著計算模型的路徑的 alpha。
- coefs:ndarray 形狀 (n_features, n_alphas) 或 (n_targets, n_features, n_alphas)
沿路徑的係數。
- dual_gaps:ndarray 形狀 (n_alphas,)
每個 alpha 優化結束時的對偶間隙。
- n_iters:int列表
坐標下降優化器為達到每個 alpha 的指定容差所采取的迭代次數。
參數:
返回:
注意:
例如,請參見例子/linear_model/plot_lasso_coordinate_descent_path.py.
為避免不必要的內存重複,fit 方法的 X 參數應直接作為 Fortran-contiguous numpy 數組傳遞。
請注意,在某些情況下,Lars 求解器實現此函數的速度可能要快得多。特別是,線性插值可用於檢索lars_path輸出的值之間的模型係數
例子:
比較 lasso_path 和 lars_path 與插值:
>>> import numpy as np >>> from sklearn.linear_model import lasso_path >>> X = np.array([[1, 2, 3.1], [2.3, 5.4, 4.3]]).T >>> y = np.array([1, 2, 3.1]) >>> # Use lasso_path to compute a coefficient path >>> _, coef_path, _ = lasso_path(X, y, alphas=[5., 1., .5]) >>> print(coef_path) [[0. 0. 0.46874778] [0.2159048 0.4425765 0.23689075]]
>>> # Now use lars_path and 1D linear interpolation to compute the >>> # same path >>> from sklearn.linear_model import lars_path >>> alphas, active, coef_path_lars = lars_path(X, y, method='lasso') >>> from scipy import interpolate >>> coef_path_continuous = interpolate.interp1d(alphas[::-1], ... coef_path_lars[:, ::-1]) >>> print(coef_path_continuous([5., 1., .5])) [[0. 0. 0.46915237] [0.2159048 0.4425765 0.23668876]]
相關用法
- Python sklearn MultiTaskLassoCV用法及代碼示例
- Python sklearn MultiTaskLasso用法及代碼示例
- Python sklearn MultiTaskLasso.path用法及代碼示例
- Python sklearn MultiTaskElasticNet.path用法及代碼示例
- Python sklearn MultiTaskElasticNetCV.path用法及代碼示例
- Python sklearn MultiTaskElasticNetCV用法及代碼示例
- Python sklearn MultiTaskElasticNet用法及代碼示例
- Python sklearn MultiOutputClassifier用法及代碼示例
- Python sklearn MultiLabelBinarizer用法及代碼示例
- Python sklearn MultiOutputRegressor用法及代碼示例
- Python sklearn MultinomialNB用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn MinMaxScaler用法及代碼示例
- Python sklearn MiniBatchSparsePCA用法及代碼示例
- Python sklearn MiniBatchKMeans用法及代碼示例
- Python sklearn MLPRegressor用法及代碼示例
- Python sklearn Matern用法及代碼示例
- Python sklearn MaxAbsScaler用法及代碼示例
- Python sklearn MiniBatchDictionaryLearning用法及代碼示例
- Python sklearn MeanShift用法及代碼示例
- Python sklearn MinCovDet用法及代碼示例
- Python sklearn MissingIndicator用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.linear_model.MultiTaskLassoCV.path。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。