Evovest/EvoTrees.jl

EvoTreeMLE retrun NaN

Closed this issue · 2 comments

Hi, I have a dataset which EvoTreeMLE return NaN unless i make the eta and lambda equals to 0.001.
However If I change to a similart dataset, or make the nrounds larger the configuartion also failed.

data.zip
using JLD2,EvoTrees
data=JLD2.load("data.jld2")
x_train=data["X"]
y_train=data["y"]
config = EvoTrees.EvoTreeMLE()
model=fit_evotree(config,metric=:gaussian_mle,x_train=x_train,y_train=y_train)
EvoTrees.predict(model,x_train)

I could reproduce. I think an associated "issue" is that for gaussian_mle / logistic_mle, the min_weight typically needs to be higher than 1. For example, the following seems to work fine:

config = EvoTrees.EvoTreeMLE(; min_weight= 32)
model = fit_evotree(config, metric=:gaussian_mle, x_train=x_train, y_train=y_train)
EvoTrees.predict(model, x_train)

Thank you, this solved my problem.