Coverage for addmo/s1_data_tuning_auto/config/data_tuning_auto_config.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2025-08-31 13:05 +0000

1import os 

2from pydantic import BaseModel, Field, PrivateAttr 

3from addmo.util.load_save_utils import root_dir 

4 

5class DataTuningAutoSetup(BaseModel): 

6 # Global Variables 

7 name_of_raw_data: str = Field( 

8 "test_raw_data", 

9 description="Set name of the folder where the experiments shall be saved.", 

10 ) 

11 name_of_tuning: str = Field( 

12 "data_tuning_experiment_auto", description="Set name of the experiments series." 

13 ) 

14 abs_path_to_data: str = Field( 

15 os.path.join(root_dir(),'addmo_examples','raw_input_data','InputData.xlsx'), 

16 description="Path to the file that has the system_data.", 

17 ) 

18 name_of_target: str = Field( 

19 "FreshAir Temperature", description="Name of the target variable." 

20 ) 

21 

22 # FeatureConstruction Variables 

23 create_differences: bool = Field( 

24 False, 

25 description="Feature difference creation (building the derivative of the features).", 

26 ) 

27 create_manual_target_lag: bool = Field( 

28 True, description="Manual construction of target lags." 

29 ) 

30 target_lag: list[int] = Field([1, 2], description="Array of lags for the target.") 

31 

32 minimum_target_lag: int = Field( 

33 1, description="Minimal target lag which shall be considered." 

34 ) 

35 create_manual_feature_lags: bool = Field( 

36 False, description="Manual construction of feature lags." 

37 ) 

38 feature_lags: dict[str, list[int]] = Field( 

39 {"FreshAir Temperature": [1, 2], "Total active power": [1, 2]}, 

40 description="Feature_lags in format {var_name: [lags]}", 

41 ) 

42 # FeatureSelection Variables 

43 manual_feature_selection: bool = Field( 

44 False, description="Manual selection of Features by their Column name." 

45 ) 

46 selected_features: list[str] = Field( 

47 ["FreshAir Temperature", "Total active power"], 

48 description="Variable names of the features to keep.", 

49 ) 

50 

51 sequential_direction: str = Field( 

52 "forward", 

53 description="'forward' or 'backward' direction for sequential feature selection.", 

54 ) 

55 

56 filter_recursive_by_count: bool = Field( 

57 False, 

58 description="Enable recursive feature elimination." 

59 ) 

60 recursive_embedded_number_features_to_select: int = Field( 

61 18, 

62 description="Number of features to select in recursive feature elimination." 

63 ) 

64 filter_recursive_by_score: bool = Field( 

65 False, 

66 description="Enable wrapper sequential feature selection." 

67 ) 

68 min_increase_for_wrapper: float = Field( 

69 0.01, 

70 description="Minimum performance gain for wrapper-based feature selection." 

71 ) 

72 

73 

74