Source code for ads.feature_store.statistics_config

#!/usr/bin/env python
# -*- coding: utf-8; -*-

# Copyright (c) 2023 Oracle and/or its affiliates.
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/

from copy import deepcopy
from typing import Dict, List

from ads.jobs.builders.base import Builder


[docs] class StatisticsConfig(Builder): """Sets the Statistics Config Details. Methods ------- with_enabled(self, enabled: bool) -> "StatisticsConfig" Sets True/False for enabled with_columns(self, columns: List[str]) -> "StatisticsConfig" Sets the column names for the statistics config """ CONST_ENABLED = "isEnabled" CONST_COLUMNS = "columns" attribute_map = { CONST_ENABLED: "is_enabled", CONST_COLUMNS: "columns", } def __init__(self, is_enabled: bool = True, columns: List[str] = None) -> None: super().__init__() if columns is None: columns = [] self.with_is_enabled(is_enabled) if columns: self.with_columns(columns) @property def is_enabled(self) -> bool: return self.get_spec(self.CONST_ENABLED) @is_enabled.setter def is_enabled(self, is_enabled: bool): self.with_is_enabled(is_enabled)
[docs] def with_is_enabled(self, is_enabled: bool) -> "StatisticsConfig": """Sets True/False for enabled Parameters ---------- is_enabled: bool enable or disable the statistics computation Returns ------- StatisticsConfig The StatisticsConfig instance (self) """ return self.set_spec(self.CONST_ENABLED, is_enabled)
@property def columns(self) -> List[str]: return self.get_spec(self.CONST_COLUMNS) @columns.setter def columns(self, columns: List[str]): self.with_columns(columns)
[docs] def with_columns(self, columns: List[str]) -> "StatisticsConfig": """Sets the columns for which the stats to be calculated . Parameters ---------- columns: List[str] columns for which the stats to be calculated. Returns ------- StatisticsConfig The StatisticsConfig instance (self) """ return self.set_spec(self.CONST_COLUMNS, columns)
@property def kind(self) -> str: """The kind of the object as showing in a YAML.""" return "statistics_config"
[docs] def to_dict(self) -> Dict: """Serializes rule to a dictionary. Returns ------- dict The rule resource serialized as a dictionary. """ spec = deepcopy(self._spec) return spec