MaxnetBinaryClassifier
MaxnetBinaryClassifier
A model type for constructing a Maxnet, based on Maxnet.jl, and implementing the MLJ model interface.
From MLJ, the type can be imported using
MaxnetBinaryClassifier = @load MaxnetBinaryClassifier pkg=Maxnet
Do model = MaxnetBinaryClassifier()
to construct an instance with default hyper-parameters. Provide keyword arguments to override hyper-parameter defaults, as in MaxnetBinaryClassifier(features=...)
.
Training data
In MLJ or MLJBase, bind an instance model
to data with
mach = machine(model, X, y)
where
X
: any table of input features (eg, aDataFrame
) whose columns each have one of the following element scitypes:Continuous
or<:Multiclass
. Checkscitypes
withschema(X)
.y
: is the target, which can be anyAbstractVector
whose element scitype is<:Binary
. The first class should refer to background values, and the second class to presence values.
Hyper-parameters
features
: Specifies which features classes to use in the model, e.g. "lqh" for linear, quadratic and hinge features. See also Maxnet.maxnetregularization_multiplier = 1.0
: 'Adjust how tight the model will fit. Increasing this will reduce overfitting.regularization_function
: A function to compute the regularization of each feature class. Defaults toMaxnet.default_regularization
addsamplestobackground = true
: Controls wether to add presence values to the background.n_knots = 50
: The number of knots used for Threshold and Hinge features. A higher number gives more flexibility for these features.weight_factor = 100.0
: AFloat64
value to adjust the weight of the background samples.link = Maxnet.CloglogLink()
: The link function to use when predicting. SeeMaxnet.predict
clamp = false
: Clamp values passed toMLJBase.predict
to the range the model was trained on.
Operations
predict(mach, Xnew)
: return predictions of the target given featuresXnew
having the same scitype asX
above. Predictions are probabilistic and can be interpreted as the probability of presence.
Fitted Parameters
The fields of fitted_params(mach)
are:
fitresult
: ATuple
where the first entry is theMaxnet.MaxnetModel
returned by the Maxnet algorithm and the second the entry is the classes ofy
Report
The fields of report(mach)
are:
selected_variables
: AVector
ofSymbols
of the variables that were selected.selected_features
: AVector
ofMaxnet.ModelMatrixColumn
with the features that were selected.complexity
: the number of selected features in the model.
Example
using MLJBase, Maxnet
p_a, env = Maxnet.bradypus()
y = coerce(p_a, Binary)
X = coerce(env, Count => Continuous)
mach = machine(MaxnetBinaryClassifier(features = "lqp"), X, y)
fit!(mach)
yhat = MLJBase.predict(mach, env)