Fits an L0-regularized linear regression model via `L0Learn::L0Learn.cvfit` and returns the coefficient vector at the (lambda, gamma) pair minimizing the cross-validation error. Default penalty is "L0"; the user can switch to "L0L1" or "L0L2" (and tune the corresponding gamma grid) by passing the relevant arguments through `...`.
Arguments
- X
A numeric matrix of predictors.
- y
A numeric response vector.
- penalty
Type of regularization: "L0", "L0L1", or "L0L2". Default is "L0".
- nFolds
Number of cross-validation folds. Default is 5.
- ...
Additional arguments passed through to `L0Learn::L0Learn.cvfit` (e.g. `nGamma`, `gammaMin`, `gammaMax`, `algorithm`, `maxSuppSize`).
Examples
data(eqtlRegionExample)
X <- eqtlRegionExample$X[, 1:30]
y <- eqtlRegionExample$yRes
l0learnWeights(X, y)
#> [,1]
#> [1,] 0
#> [2,] 0
#> [3,] 0
#> [4,] 0
#> [5,] 0
#> [6,] 0
#> [7,] 0
#> [8,] 0
#> [9,] 0
#> [10,] 0
#> [11,] 0
#> [12,] 0
#> [13,] 0
#> [14,] 0
#> [15,] 0
#> [16,] 0
#> [17,] 0
#> [18,] 0
#> [19,] 0
#> [20,] 0
#> [21,] 0
#> [22,] 0
#> [23,] 0
#> [24,] 0
#> [25,] 0
#> [26,] 0
#> [27,] 0
#> [28,] 0
#> [29,] 0
#> [30,] 0