Documentation | CI Status | Coverage |
---|---|---|
ML library implementing linear boosting with L1 and L2 regularization. For tree based boosting, consider EvoTrees.jl.
Supported loss functions:
- mse (squared-error)
- logistic (logloss) regression
- poisson
- gamma
- tweedie
From General Registry
pkg> add EvoLinear
For latest version
pkg> add https://github.com/jeremiedb/EvoLinear.jl
Build a configuration struct with EvoLinearRegressor
. Then EvoLinear.fit
takes x::Matrix
and y::Vector
as inputs, plus optionally w::Vector
as weights and fits a linear boosted model.
using EvoLinear
config = EvoLinearRegressor(loss=:mse, nrounds=10, L1=1e-1, L2=1e-2)
m = EvoLinear.fit(config; x, y, metric=:mse)
p = m(x)
Splines - Experimental
Number of knots for selected features is defined through a Dict
of the form: Dict(feat_id::Int => nknots::Int)
.
config = EvoSplineRegressor(loss=:mse, nrounds=10, knots = Dict(1 => 4, 5 => 8))
m = EvoLinear.fit(config; x, y, metric=:mse)
p = m(x')