66"""
77
88from typing import Any , Callable , Dict , List , Union
9+ import logging
910
1011import numpy as np
1112from sklearn .metrics import make_scorer , roc_auc_score
@@ -80,21 +81,19 @@ class GlobalParameters:
8081 use_embedding : bool
8182 """Whether to use embedding for feature transformation. Defaults to False."""
8283 embedding_method : str
83- """The embedding method to use (e.g., 'pca', 'svd'). Defaults to None."""
84- embedding_dim : int
85- """The dimensionality of the embedding space. Defaults to None."""
86- scale_features_before_embedding : bool
87- """Whether to scale features before applying embedding. Defaults to False."""
88- use_embedding : bool
89- """Whether to use embedding for feature transformation. Defaults to False."""
90- embedding_method : str
9184 """The embedding method to use ("svd", "pca", "nmf", "lda", "random_gaussian", "random_sparse", "select_kbest_f", "select_kbest_mi"). Defaults to None."""
9285 embedding_dim : int
9386 """The dimensionality of the embedding space. Defaults to None."""
9487 scale_features_before_embedding : bool
9588 """Whether to scale features before applying embedding. Defaults to False."""
9689 cache_embeddings : bool
9790 """Whether to cache computed embeddings for reuse. Defaults to False."""
91+ n_iter : int
92+ """Number of iterations for randomized/Bayesian search. Defaults to 2."""
93+ h2o_show_progress : bool
94+ """If True, shows H2O progress bars. Defaults to False."""
95+ search_verbose : int
96+ """Verbosity level for the search object (GridSearchCV, etc.). Defaults to 0."""
9897
9998 def __new__ (cls , * args : Any , ** kwargs : Any ) -> "GlobalParameters" :
10099 """Creates a new instance if one does not already exist (Singleton pattern)."""
@@ -136,6 +135,9 @@ def __init__(self, debug_level: int = 0, knn_n_jobs: int = -1) -> None:
136135 self .embedding_dim = None
137136 self .scale_features_before_embedding = False
138137 self .cache_embeddings = False
138+ self .n_iter = 2
139+ self .h2o_show_progress = False
140+ self .search_verbose = 0
139141
140142 custom_scorer = make_scorer (custom_roc_auc_score )
141143 self .metric_list = {
@@ -154,9 +156,11 @@ def update_parameters(self, **kwargs: Any) -> None:
154156 Raises:
155157 AttributeError: If a key in kwargs is not a valid parameter.
156158 """
159+ logger = logging .getLogger ("ml_grid" )
157160 for key , value in kwargs .items ():
158161 if hasattr (self , key ):
159162 setattr (self , key , value )
163+ logger .info (f"Updated GlobalParameter: { key } = { value } " )
160164 else :
161165 raise AttributeError (
162166 f"'{ self .__class__ .__name__ } ' object has no attribute '{ key } '"
0 commit comments