1616
1717from ads .common .object_storage_details import ObjectStorageDetails
1818from ads .opctl import logger
19- from ads .opctl .operator .lowcode .anomaly .const import OutputColumns , SupportedMetrics
19+ from ads .opctl .operator .lowcode .anomaly .const import OutputColumns , SupportedMetrics , SUBSAMPLE_THRESHOLD
2020from ads .opctl .operator .lowcode .anomaly .utils import _build_metrics_df , default_signer
2121from ads .opctl .operator .lowcode .common .utils import (
2222 disable_print ,
@@ -79,7 +79,7 @@ def generate_report(self):
7979 anomaly_output , test_data , elapsed_time
8080 )
8181 table_blocks = [
82- rc .DataTable (df .head (1000 ) if self .spec .subsample_report_data and len (df ) > 1000 else df , label = col , index = True )
82+ rc .DataTable (df .head (SUBSAMPLE_THRESHOLD ) if self .spec .subsample_report_data and len (df ) > SUBSAMPLE_THRESHOLD else df , label = col , index = True )
8383 for col , df in self .datasets .full_data_dict .items ()
8484 ]
8585 data_table = rc .Select (blocks = table_blocks )
@@ -100,9 +100,10 @@ def generate_report(self):
100100 if self .spec .subsample_report_data :
101101 non_anomaly_indices = [i for i in range (len (time_col )) if i not in anomaly_indices ]
102102 # Downsample non-anomalous data if it exceeds the threshold (1000)
103- if len (non_anomaly_indices ) > 1000 :
104- downsampled_non_anomaly_indices = non_anomaly_indices [::len (non_anomaly_indices )// 1000 ]
105- selected_indices = sorted (anomaly_indices + downsampled_non_anomaly_indices )
103+ if len (non_anomaly_indices ) > SUBSAMPLE_THRESHOLD :
104+ downsampled_non_anomaly_indices = non_anomaly_indices [::len (non_anomaly_indices )// SUBSAMPLE_THRESHOLD ]
105+ selected_indices = anomaly_indices + downsampled_non_anomaly_indices
106+ selected_indices .sort ()
106107 downsampled_time_col = time_col [selected_indices ]
107108
108109 columns = set (df .columns ).difference ({date_column })
0 commit comments