h2o-3 icon indicating copy to clipboard operation
h2o-3 copied to clipboard

H2O GAM splines_non_negative parameter doesn't show in model output

Open arunaryasomayajula opened this issue 1 year ago • 0 comments

H2O version, Operating System and Environment 3.46.0.6, 3.46.0.7

Actual behavior It seems like the parameter "splines_non_negative" is either not registering the assigned value or the API isn't printing the assigned value and only the default value of "None"

Expected behavior "splines_non_negative" set value should show up in output

Steps to reproduce Steps to reproduce the behavior (with working code on a sample dataset, if possible):

import h2o from h2o.estimators.gam import H2OGeneralizedAdditiveEstimator from h2o.grid.grid_search import H2OGridSearch h2o.init()

import pandas as pd import numpy as np

generate sample data

np.random.seed(42)

n = 50

X1 = np.random.normal(loc=0, scale=1, size=n) X2 = np.random.normal(loc=5, scale=2, size=n) X3 = np.random.uniform(low=0, high=10, size=n) response = np.random.normal(loc=5, scale=2, size=n)

data = pd.DataFrame({ 'Response': response, 'X1': X1, 'X2': X2, 'X3': X3 })

h2o_data = h2o.H2OFrame(data)

Fit a GAM

y = "Response" x = ["X3"]

specify splines_non_negative

h2o_model = H2OGeneralizedAdditiveEstimator(gam_columns=["X1","X2"], splines_non_negative = [True,False], bs = [2,2], spline_orders=[2,3]) h2o_model.train(x=x, y=y, training_frame=h2o_data)

the other parameters have a value logged but splines_non_negative does not

h2o_model.actual_params

Fit a grid search on splines_non_negative

gam_params = {'splines_non_negative' : [[True, False],[True, True]]}

gam = H2OGeneralizedAdditiveEstimator(gam_columns=[["X1"],["X2"]], bs = [2,2],spline_orders=[2,3])

grid = H2OGridSearch(model=gam, hyper_params=gam_params)

grid.train(x=x, y=y, training_frame=h2o_data)

the other parameters have a value logged but splines_non_negative does not

grid.models[0].actual_params

Upload logs If you can, please upload the H2O logs. More information on how to do that is available here, or you can use the h2o.downloadAllLogs() in R or the h2o.download_all_logs() function in Python.

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

arunaryasomayajula avatar Apr 09 '25 11:04 arunaryasomayajula