@@ -53,13 +53,15 @@ def generate_html_report(self):
5353 edges_table_page = self .generate_edge_page ()
5454 network_strength_page = self .generate_network_strengths_page ()
5555 data_description_page = self .generate_data_description_page ()
56+ hyperparameters_page = self .generate_hyperparameters_page ()
5657 report_blocks = [
5758 info_page ,
5859 main_results_page ,
5960 network_strength_page ,
6061 edges_page ,
6162 edges_table_page ,
62- data_description_page
63+ data_description_page ,
64+ hyperparameters_page
6365 ]
6466
6567 main_tabs = ar .Select (blocks = report_blocks )
@@ -75,8 +77,63 @@ def generate_html_report(self):
7577 open = False , formatting = ar .Formatting (width = ar .Width .FULL , accent_color = "orange" ))
7678 return
7779
80+ def generate_hyperparameters_page (self ):
81+ try :
82+ if 'params' not in self .df .columns :
83+ return ar .Blocks (blocks = [ar .Text ("No hyperparameters found in results." )],
84+ label = 'Hyperparameters' )
85+
86+ hyper_df = self .df [['fold' , 'model' , 'params' ]].copy ()
87+
88+ if isinstance (hyper_df ['params' ].iloc [0 ], dict ):
89+ hyper_df ['params' ] = hyper_df ['params' ].apply (
90+ lambda x : "\n " .join (f"{ k } : { v } " for k , v in x .items ())
91+ )
92+
93+ hyper_table = ar .DataTable (
94+ df = hyper_df ,
95+ label = 'Hyperparameters by Fold and Model'
96+ )
97+
98+ try :
99+ if isinstance (self .df ['params' ].iloc [0 ], dict ):
100+ all_params = pd .json_normalize (self .df ['params' ])
101+ param_summary = all_params .describe ().T
102+ summary_table = ar .DataTable (
103+ df = param_summary ,
104+ label = 'Hyperparameter Summary Statistics'
105+ )
106+
107+ return ar .Blocks (
108+ blocks = [
109+ ar .Text ("## Model Hyperparameters" ),
110+ ar .Text ("### Parameters Used in Each Fold" ),
111+ hyper_table ,
112+ ar .Text ("### Parameter Summary Across Folds" ),
113+ summary_table
114+ ],
115+ label = 'Hyperparameters'
116+ )
117+ except Exception :
118+ pass
119+
120+ return ar .Blocks (
121+ blocks = [
122+ ar .Text ("## Model Hyperparameters" ),
123+ ar .Text ("### Parameters Used in Each Fold" ),
124+ hyper_table
125+ ],
126+ label = 'Hyperparameters'
127+ )
128+
129+ except Exception as e :
130+ return ar .Blocks (
131+ blocks = [ar .Text (f"Could not generate hyperparameters page: { str (e )} " )],
132+ label = 'Hyperparameters'
133+ )
134+
78135 def generate_data_description_page (self ):
79- target_column_name = 'y_true' # Or 'y_pred' if that's your target
136+ target_column_name = 'y_true'
80137 target_series = self .df_predictions [target_column_name ]
81138
82139 target_desc = f"""
@@ -89,7 +146,6 @@ def generate_data_description_page(self):
89146 - Standard deviation: { target_series .std ():.2f}
90147 """
91148
92- # Create feature description
93149 feature_desc = """
94150 ## Dummy Feature Description
95151
0 commit comments