fracridge
.FracRidgeRegressor¶
- class FracRidgeRegressor(fracs=None, fit_intercept=False, normalize=False, copy_X=True, tol=1e-10, jit=True)[source]¶
- Parameters
- fracsfloat or sequence
The desired fractions of the parameter vector length, relative to OLS solution. Default: np.arange(.1, 1.1, .1)
- fit_interceptbool, optional
Whether to fit an intercept term. Default: False.
- normalizebool, optional
Whether to normalize the columns of X. Default: False.
- copy_Xbool, optional
Whether to make a copy of the X matrix before fitting. Default: True.
- tolfloat, optional.
Tolerance under which singular values of the X matrix are considered to be zero. Default: 1e-10.
- jitbool, optional.
Whether to use jit-accelerated implementation. Default: True.
Examples
Generate random data:
>>> np.random.seed(1) >>> y = np.random.randn(100) >>> X = np.random.randn(100, 10)
Calculate coefficients with naive OLS:
>>> coef = np.linalg.inv(X.T @ X) @ X.T @ y
Initialize the estimator with a single fraction:
>>> fr = FracRidgeRegressor(fracs=0.3)
Fit estimator:
>>> fr.fit(X, y) FracRidgeRegressor(fracs=0.3)
Check results:
>>> coef_ = fr.coef_ >>> alpha_ = fr.alpha_ >>> print(np.linalg.norm(coef_) / np.linalg.norm(coef)) 0.29
- Attributes
- coef_ndarray, shape (p, f, b)
The full estimated parameters across units of measurement for every desired fraction. Where p number of model parameters, f number of fractions and b number of targets.
- alpha_ndarray, shape (f, b)
The alpha coefficients associated with each solution. Where f number of fractions and b number of targets.
- __init__(fracs=None, fit_intercept=False, normalize=False, copy_X=True, tol=1e-10, jit=True)[source]¶
- get_params(deep=True)¶
Get parameters for this estimator.
- Parameters
- deepbool, default=True
If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
- paramsdict
Parameter names mapped to their values.
- set_params(**params)¶
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline
). The latter have parameters of the form<component>__<parameter>
so that it’s possible to update each component of a nested object.- Parameters
- **paramsdict
Estimator parameters.
- Returns
- selfestimator instance
Estimator instance.