about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/__init__.py5
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/classification.py37
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/forecasting.py38
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/regression.py36
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical.py29
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical_limit_settings.py28
6 files changed, 173 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/__init__.py
new file mode 100644
index 00000000..29a4fcd3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/__init__.py
@@ -0,0 +1,5 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+__path__ = __import__("pkgutil").extend_path(__path__, __name__)  # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/classification.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/classification.py
new file mode 100644
index 00000000..f9ce7b8b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/classification.py
@@ -0,0 +1,37 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+from typing import Any, Dict
+
+from marshmallow import fields, post_load
+
+from azure.ai.ml._restclient.v2023_04_01_preview.models import ClassificationPrimaryMetrics, TaskType
+from azure.ai.ml._schema.automl.table_vertical.table_vertical import AutoMLTableVerticalSchema
+from azure.ai.ml._schema.automl.training_settings import ClassificationTrainingSettingsSchema
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum
+from azure.ai.ml._utils.utils import camel_to_snake
+from azure.ai.ml.constants._job.automl import AutoMLConstants
+
+
+class AutoMLClassificationSchema(AutoMLTableVerticalSchema):
+    task_type = StringTransformedEnum(
+        allowed_values=TaskType.CLASSIFICATION,
+        casing_transform=camel_to_snake,
+        data_key=AutoMLConstants.TASK_TYPE_YAML,
+        required=True,
+    )
+    primary_metric = StringTransformedEnum(
+        allowed_values=[o.value for o in ClassificationPrimaryMetrics],
+        casing_transform=camel_to_snake,
+        load_default=camel_to_snake(ClassificationPrimaryMetrics.AUC_WEIGHTED),
+    )
+    positive_label = fields.Str()
+    training = NestedField(ClassificationTrainingSettingsSchema(), data_key=AutoMLConstants.TRAINING_YAML)
+
+    @post_load
+    def make(self, data, **kwargs) -> Dict[str, Any]:
+        data.pop("task_type")
+        return data
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/forecasting.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/forecasting.py
new file mode 100644
index 00000000..7f302c97
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/forecasting.py
@@ -0,0 +1,38 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+from typing import Any, Dict
+
+from marshmallow import post_load
+
+from azure.ai.ml._restclient.v2023_04_01_preview.models import ForecastingPrimaryMetrics, TaskType
+from azure.ai.ml._schema.automl.forecasting_settings import ForecastingSettingsSchema
+from azure.ai.ml._schema.automl.table_vertical.table_vertical import AutoMLTableVerticalSchema
+from azure.ai.ml._schema.automl.training_settings import ForecastingTrainingSettingsSchema
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum
+from azure.ai.ml._utils.utils import camel_to_snake
+from azure.ai.ml.constants._job.automl import AutoMLConstants
+
+
+class AutoMLForecastingSchema(AutoMLTableVerticalSchema):
+    task_type = StringTransformedEnum(
+        allowed_values=TaskType.FORECASTING,
+        casing_transform=camel_to_snake,
+        data_key=AutoMLConstants.TASK_TYPE_YAML,
+        required=True,
+    )
+    primary_metric = StringTransformedEnum(
+        allowed_values=[o.value for o in ForecastingPrimaryMetrics],
+        casing_transform=camel_to_snake,
+        load_default=camel_to_snake(ForecastingPrimaryMetrics.NORMALIZED_ROOT_MEAN_SQUARED_ERROR),
+    )
+    training = NestedField(ForecastingTrainingSettingsSchema(), data_key=AutoMLConstants.TRAINING_YAML)
+    forecasting_settings = NestedField(ForecastingSettingsSchema(), data_key=AutoMLConstants.FORECASTING_YAML)
+
+    @post_load
+    def make(self, data, **kwargs) -> Dict[str, Any]:
+        data.pop("task_type")
+        return data
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/regression.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/regression.py
new file mode 100644
index 00000000..fc1e3900
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/regression.py
@@ -0,0 +1,36 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+from typing import Any, Dict
+
+from marshmallow import post_load
+
+from azure.ai.ml._restclient.v2023_04_01_preview.models import RegressionPrimaryMetrics, TaskType
+from azure.ai.ml._schema.automl.table_vertical.table_vertical import AutoMLTableVerticalSchema
+from azure.ai.ml._schema.automl.training_settings import RegressionTrainingSettingsSchema
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum
+from azure.ai.ml._utils.utils import camel_to_snake
+from azure.ai.ml.constants._job.automl import AutoMLConstants
+
+
+class AutoMLRegressionSchema(AutoMLTableVerticalSchema):
+    task_type = StringTransformedEnum(
+        allowed_values=TaskType.REGRESSION,
+        casing_transform=camel_to_snake,
+        data_key=AutoMLConstants.TASK_TYPE_YAML,
+        required=True,
+    )
+    primary_metric = StringTransformedEnum(
+        allowed_values=[o.value for o in RegressionPrimaryMetrics],
+        casing_transform=camel_to_snake,
+        load_default=camel_to_snake(RegressionPrimaryMetrics.NORMALIZED_ROOT_MEAN_SQUARED_ERROR),
+    )
+    training = NestedField(RegressionTrainingSettingsSchema(), data_key=AutoMLConstants.TRAINING_YAML)
+
+    @post_load
+    def make(self, data, **kwargs) -> Dict[str, Any]:
+        data.pop("task_type")
+        return data
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical.py
new file mode 100644
index 00000000..e98d7066
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical.py
@@ -0,0 +1,29 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+from azure.ai.ml._restclient.v2023_04_01_preview.models import NCrossValidationsMode
+from azure.ai.ml._schema.automl.automl_vertical import AutoMLVerticalSchema
+from azure.ai.ml._schema.automl.featurization_settings import TableFeaturizationSettingsSchema
+from azure.ai.ml._schema.automl.table_vertical.table_vertical_limit_settings import AutoMLTableLimitsSchema
+from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum, UnionField, fields
+from azure.ai.ml._schema.job.input_output_entry import MLTableInputSchema
+from azure.ai.ml.constants._job.automl import AutoMLConstants
+
+
+class AutoMLTableVerticalSchema(AutoMLVerticalSchema):
+    limits = NestedField(AutoMLTableLimitsSchema(), data_key=AutoMLConstants.LIMITS_YAML)
+    featurization = NestedField(TableFeaturizationSettingsSchema(), data_key=AutoMLConstants.FEATURIZATION_YAML)
+    target_column_name = fields.Str(required=True)
+    validation_data = UnionField([NestedField(MLTableInputSchema)])
+    validation_data_size = fields.Float()
+    cv_split_column_names = fields.List(fields.Str())
+    n_cross_validations = UnionField(
+        [
+            StringTransformedEnum(allowed_values=[NCrossValidationsMode.AUTO]),
+            fields.Int(),
+        ],
+    )
+    weight_column_name = fields.Str()
+    test_data = UnionField([NestedField(MLTableInputSchema)])
+    test_data_size = fields.Float()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical_limit_settings.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical_limit_settings.py
new file mode 100644
index 00000000..122774a6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_schema/automl/table_vertical/table_vertical_limit_settings.py
@@ -0,0 +1,28 @@
+# ---------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# ---------------------------------------------------------
+
+# pylint: disable=unused-argument
+
+from marshmallow import fields, post_load
+
+from azure.ai.ml._schema import ExperimentalField
+from azure.ai.ml._schema.core.schema import PatchedSchemaMeta
+from azure.ai.ml.constants._job.automl import AutoMLConstants
+
+
+class AutoMLTableLimitsSchema(metaclass=PatchedSchemaMeta):
+    enable_early_termination = fields.Bool()
+    exit_score = fields.Float()
+    max_concurrent_trials = fields.Int()
+    max_cores_per_trial = fields.Int()
+    max_nodes = ExperimentalField(fields.Int())
+    max_trials = fields.Int(data_key=AutoMLConstants.MAX_TRIALS_YAML)
+    timeout_minutes = fields.Int()  # type duration
+    trial_timeout_minutes = fields.Int()  # type duration
+
+    @post_load
+    def make(self, data, **kwargs) -> "TabularLimitSettings":
+        from azure.ai.ml.automl import TabularLimitSettings
+
+        return TabularLimitSettings(**data)