|
4 | 4 | # Copyright (c) 2023, 2024 Oracle and/or its affiliates. |
5 | 5 | # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ |
6 | 6 |
|
| 7 | +import fsspec |
| 8 | +import numpy as np |
7 | 9 | import os |
| 10 | +import pandas as pd |
8 | 11 | import tempfile |
9 | 12 | import time |
10 | 13 | from abc import ABC, abstractmethod |
11 | | -from typing import Tuple |
12 | | - |
13 | | -import fsspec |
14 | | -import pandas as pd |
15 | | -import numpy as np |
16 | 14 | from sklearn import linear_model |
| 15 | +from typing import Tuple |
17 | 16 |
|
| 17 | +from ads.common.object_storage_details import ObjectStorageDetails |
18 | 18 | from ads.opctl import logger |
19 | | - |
20 | | -from ..operator_config import AnomalyOperatorConfig, AnomalyOperatorSpec |
21 | | -from .anomaly_dataset import AnomalyDatasets, AnomalyOutput, TestData |
22 | 19 | from ads.opctl.operator.lowcode.anomaly.const import OutputColumns, SupportedMetrics |
23 | | -from ..const import SupportedModels |
| 20 | +from ads.opctl.operator.lowcode.anomaly.utils import _build_metrics_df, default_signer |
24 | 21 | from ads.opctl.operator.lowcode.common.utils import ( |
25 | 22 | human_time_friendly, |
26 | 23 | enable_print, |
27 | 24 | disable_print, |
28 | 25 | write_data, |
29 | | - merge_category_columns, |
30 | | - find_output_dirname, |
31 | 26 | ) |
32 | | -from ads.opctl.operator.lowcode.anomaly.utils import _build_metrics_df, default_signer |
33 | | -from ads.common.object_storage_details import ObjectStorageDetails |
| 27 | +from .anomaly_dataset import AnomalyDatasets, AnomalyOutput, TestData |
| 28 | +from ..const import SupportedModels |
| 29 | +from ..operator_config import AnomalyOperatorConfig, AnomalyOperatorSpec |
34 | 30 |
|
35 | 31 |
|
36 | 32 | class AnomalyOperatorBaseModel(ABC): |
@@ -246,7 +242,7 @@ def _save_report( |
246 | 242 | """Saves resulting reports to the given folder.""" |
247 | 243 | import report_creator as rc |
248 | 244 |
|
249 | | - unique_output_dir = find_output_dirname(self.spec.output_directory) |
| 245 | + unique_output_dir = self.spec.output_directory.url |
250 | 246 |
|
251 | 247 | if ObjectStorageDetails.is_oci_path(unique_output_dir): |
252 | 248 | storage_options = default_signer() |
@@ -320,11 +316,11 @@ def _fallback_build_model(self): |
320 | 316 | # Iterate over the full_data_dict items |
321 | 317 | for target, df in self.datasets.full_data_dict.items(): |
322 | 318 | est = linear_model.SGDOneClassSVM(random_state=42) |
323 | | - est.fit(df[target].values.reshape(-1, 1)) |
| 319 | + est.fit(df[self.spec.target_column].fillna(0).values.reshape(-1, 1)) |
324 | 320 | y_pred = np.vectorize(self.outlier_map.get)( |
325 | | - est.predict(df[target].values.reshape(-1, 1)) |
| 321 | + est.predict(df[self.spec.target_column].fillna(0).values.reshape(-1, 1)) |
326 | 322 | ) |
327 | | - scores = est.score_samples(df[target].values.reshape(-1, 1)) |
| 323 | + scores = est.score_samples(df[self.spec.target_column].fillna(0).values.reshape(-1, 1)) |
328 | 324 |
|
329 | 325 | anomaly = pd.DataFrame( |
330 | 326 | {date_column: df[date_column], OutputColumns.ANOMALY_COL: y_pred} |
|
0 commit comments