-
Notifications
You must be signed in to change notification settings - Fork 772
Open
Description
I tried using the callback to provide progress indicated. But using a simple print functions, I am quite confused by the output: Why do I get repeated output for the same step and back, as soon as the progress halts?
Example code:
from interpret.glassbox import ExplainableBoostingRegressor
from interpret.utils import make_synthetic
from sklearn.model_selection import train_test_split
seed = 42
X, y, names, types = make_synthetic(classes=None, n_samples=50000, missing=False, seed=seed)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=seed)
def logging_callback(bag_idx: int, n_steps: int, has_progressed: bool, best_score: float) -> bool:
if n_steps % 10000 == 0:
print(f"{bag_idx=:2}, {n_steps=:5}, {has_progressed=!s:>5}, {best_score=:.6}")
return False
ebm = ExplainableBoostingRegressor(names, types, interactions=3, smoothing_rounds=5000, reg_alpha=10.0, callback=logging_callback)
ebm.fit(X_train, y_train)Some output:
bag_idx= 6, n_steps=100000, has_progressed= True, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
bag_idx= 6, n_steps=100000, has_progressed=False, best_score=0.313481
Metadata
Metadata
Assignees
Labels
No labels