]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(qav3): fit label mean and std
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 10 Feb 2025 20:21:40 +0000 (21:21 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 10 Feb 2025 20:21:40 +0000 (21:21 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/LightGBMRegressorQuickAdapterV35.py
quickadapter/user_data/freqaimodels/XGBoostRegressorQuickAdapterV35.py

index c1af399e24a8b1e46739cfe0218dbba7abaaa87e..cdf4a349e035a49aedc1b2f8a298bb914294fc2b 100644 (file)
@@ -199,10 +199,15 @@ class LightGBMRegressorQuickAdapterV35(BaseRegressionModel):
             ]
 
         dk.data["labels_mean"], dk.data["labels_std"] = {}, {}
-        for ft in dk.label_list:
-            # f = spy.stats.norm.fit(pred_df_full[ft])
-            dk.data["labels_std"][ft] = 0  # f[1]
-            dk.data["labels_mean"][ft] = 0  # f[0]
+        for label in dk.label_list + dk.unique_class_list:
+            if pred_df_full[label].dtype == object:
+                continue
+            if not warmed_up:
+                f = [0, 0]
+            else:
+                f = spy.stats.norm.fit(pred_df_full[label])
+            dk.data["labels_mean"][label] = f[0]
+            dk.data["labels_std"][label] = f[1]
 
         # fit the DI_threshold
         if not warmed_up:
index f2c28f845c8bb1837f184645e28eeeb45eebf0ca..9b8d629a15566b1f896ea1a803e8c706454da10b 100644 (file)
@@ -199,10 +199,15 @@ class XGBoostRegressorQuickAdapterV35(BaseRegressionModel):
             ]
 
         dk.data["labels_mean"], dk.data["labels_std"] = {}, {}
-        for ft in dk.label_list:
-            # f = spy.stats.norm.fit(pred_df_full[ft])
-            dk.data["labels_std"][ft] = 0  # f[1]
-            dk.data["labels_mean"][ft] = 0  # f[0]
+        for label in dk.label_list + dk.unique_class_list:
+            if pred_df_full[label].dtype == object:
+                continue
+            if not warmed_up:
+                f = [0, 0]
+            else:
+                f = spy.stats.norm.fit(pred_df_full[label])
+            dk.data["labels_mean"][label] = f[0]
+            dk.data["labels_std"][label] = f[1]
 
         # fit the DI_threshold
         if not warmed_up: