Skip to content

Commit 65819e4

Browse files
authored
AD fixes: preprocessing steps, raise e remove (#1135)
2 parents 847cad3 + 468d90a commit 65819e4

File tree

4 files changed

+16
-10
lines changed

4 files changed

+16
-10
lines changed

Diff for: ads/opctl/operator/lowcode/anomaly/model/anomaly_dataset.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
# Copyright (c) 2023 Oracle and/or its affiliates.
55
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
66

7-
from ..operator_config import AnomalyOperatorSpec
7+
import pandas as pd
8+
9+
from ads.opctl import logger
10+
from ads.opctl.operator.lowcode.anomaly.const import OutputColumns
11+
from ads.opctl.operator.lowcode.anomaly.utils import get_frequency_of_datetime
12+
from ads.opctl.operator.lowcode.common.data import AbstractData
813
from ads.opctl.operator.lowcode.common.utils import (
914
default_signer,
1015
merge_category_columns,
1116
)
12-
from ads.opctl.operator.lowcode.common.data import AbstractData
13-
from ads.opctl.operator.lowcode.anomaly.utils import get_frequency_of_datetime
14-
from ads.opctl import logger
15-
import pandas as pd
16-
from ads.opctl.operator.lowcode.anomaly.const import OutputColumns
17+
18+
from ..operator_config import AnomalyOperatorSpec
1719

1820

1921
class AnomalyData(AbstractData):

Diff for: ads/opctl/operator/lowcode/anomaly/model/base_model.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def __init__(self, config: AnomalyOperatorConfig, datasets: AnomalyDatasets):
5353
self.config: AnomalyOperatorConfig = config
5454
self.spec: AnomalyOperatorSpec = config.spec
5555
self.datasets = datasets
56+
5657
if self.spec.validation_data is not None:
5758
self.X_valid_dict = self.datasets.valid_data.X_valid_dict
5859
self.y_valid_dict = self.datasets.valid_data.y_valid_dict
@@ -74,7 +75,6 @@ def generate_report(self):
7475
logger.warning(f"Found exception: {e}")
7576
if self.spec.datetime_column:
7677
anomaly_output = self._fallback_build_model()
77-
raise e
7878

7979
elapsed_time = time.time() - start_time
8080

Diff for: ads/opctl/operator/lowcode/anomaly/operator_config.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@
99
from typing import Dict, List
1010

1111
from ads.common.serializer import DataClassSerializable
12-
from ads.opctl.operator.common.utils import _load_yaml_from_uri
1312
from ads.opctl.operator.common.operator_config import (
13+
InputData,
1414
OperatorConfig,
1515
OutputDirectory,
16-
InputData,
1716
)
18-
from .const import SupportedModels
17+
from ads.opctl.operator.common.utils import _load_yaml_from_uri
1918
from ads.opctl.operator.lowcode.common.utils import find_output_dirname
2019

20+
from .const import SupportedModels
21+
2122

2223
@dataclass(repr=True)
2324
class ValidationData(InputData):
@@ -61,6 +62,7 @@ class AnomalyOperatorSpec(DataClassSerializable):
6162
test_data: TestData = field(default_factory=TestData)
6263
validation_data: ValidationData = field(default_factory=ValidationData)
6364
output_directory: OutputDirectory = field(default_factory=OutputDirectory)
65+
preprocessing: DataPreprocessor = field(default_factory=DataPreprocessor)
6466
report_file_name: str = None
6567
report_title: str = None
6668
report_theme: str = None

Diff for: ads/opctl/operator/lowcode/common/transformations.py

+2
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ def run(self, data):
9191
logger.info("Skipping outlier treatment because it is disabled")
9292
elif self.name == "additional_data":
9393
clean_df = self._missing_value_imputation_add(clean_df)
94+
elif self.name == "input_data" and self.preprocessing.steps.missing_value_imputation:
95+
clean_df = self._fill_na(clean_df)
9496
else:
9597
logger.info(
9698
"Skipping all preprocessing steps because preprocessing is disabled"

0 commit comments

Comments
 (0)