Compartir a través de


Esquema YAML de especificación de conjunto de características de la CLI (v2)

SE APLICA A:Extensión de ML de la CLI de Azure v2 (actual)

Nota:

La sintaxis de YAML que se detalla en este documento se basa en el esquema JSON de la versión más reciente de la extensión ML de la CLI v2. Se garantiza que esta sintaxis solo funciona con la versión más reciente de la extensión ML de la CLI v2. Dispone de los esquemas de las versiones de anteriores de la extensión en https://azuremlschemasprod.azureedge.net/.

Sintaxis de YAML

Clave Tipo Descripción Valores permitidos Valor predeterminado
$schema cuerda / cadena Esquema de YAML. Si usa la extensión de VS Code de Azure Machine Learning para crear el archivo YAML, la inclusión del elemento $schema en la parte superior del archivo le permite invocar las finalizaciones de los recursos y el esquema.
fuente objeto Necesario. Origen de datos del conjunto de características.
source.type cuerda / cadena Necesario. Tipo de origen de datos. mltable, csv, parquet, deltaTable
source.path cuerda / cadena Necesario. Ruta de acceso del origen de datos. Puede ser una ruta de acceso a un único archivo, una carpeta o una ruta de acceso con caracteres comodín. Solo se admiten el esquema de ABFS y el almacenamiento de Azure.
source.timestamp_column objeto Necesario. Columna de marca de tiempo de los datos de origen.
source.timestamp_column.name cuerda / cadena Necesario. Nombre de la columna de marca de tiempo de los datos de origen.
source.timestamp_column.format cuerda / cadena Formato de la columna de marca de tiempo. Si no se proporciona, utilice Spark para inferir el valor de la marca de tiempo.
source.source_delay objeto Retraso de los datos de origen.
source.source_delay.days entero Número de días del retraso de los datos de origen.
source.source_delay.hours entero Número de horas del retraso de los datos de origen.
source.source_delay.minutes entero Número de minutos del retraso de los datos de origen.
feature_transformation_code objeto Carpeta en la que se encuentra la definición del código de transformación.
feature_transformation_code.path cuerda / cadena Ruta de acceso relativa dentro de la carpeta de especificación de conjunto de características para buscar la carpeta del código del transformador.
feature_transformation_code.transformer_class cuerda / cadena Se trata de una clase de transformador de aprendizaje automático de Spark con el formato {module_name}.{transformer_class_name}. El sistema espera encontrar un archivo {module_name}.py en feature_transformation_code.path. El elemento {transformer_class_name} se define en este archivo de Python.
Características Lista de objetos Necesario. Características de este conjunto de características.
features.name cuerda / cadena Necesario. Nombre de la característica.
features.type cuerda / cadena Necesario. Tipo de datos de la característica. string, integer, long, float, double, binary, datetime, boolean
index_columns Lista de objetos Necesario. Columnas de índice de las características. Los datos de origen deben contener estas columnas.
index_columns.name cuerda / cadena Necesario. Nombre de la columna de índice.
index_columns.type cuerda / cadena Necesario. Tipo de datos de la columna de índice. string, integer, long, float, double, binary, datetime, boolean
source_lookback objeto Ventana de tiempo de retrospectiva de los datos de origen.
source_lookback.days entero Número de días de retrospectiva de los datos de origen.
source_lookback.hours entero Número de horas de retrospectiva de los datos de origen.
source_lookback.minutes entero Número de minutos de retrospectiva de los datos de origen.
temporal_join_lookback objeto Ventana de tiempo de retrospectiva al realizar la combinación a un momento dado.
temporal_join_lookback.days entero Número de días de retrospectiva de la combinación temporal.
temporal_join_lookback.hours entero Número de horas de retrospectiva de la combinación temporal.
temporal_join_lookback.minutes entero Número de minutos de retrospectiva de la combinación temporal.

Ejemplos

Hay ejemplos disponibles en el repositorio de GitHub de ejemplos. A continuación, se muestran algunos ejemplos comunes.

Ejemplo de YAML sin código de transformación

$schema: http://azureml/sdk-2-0/FeatureSetSpec.json
source:
  type: deltatable
  path: abfs://{container}@{storage}.dfs.core.windows.net/top_folder/transactions
  timestamp_column: # name of the column representing the timestamp.
    name: timestamp
features: # schema and properties of features generated by the feature_transformation_code
  - name: accountCountry
    type: string
    description: country of the account
  - name: numPaymentRejects1dPerUser
    type: double
    description: upper limit of number of payment rejects per day on the account
  - name: accountAge
    type: double
    description: age of the account
index_columns:
  - name: accountID
    type: string

Ejemplo de YAML con código de transformación

$schema: http://azureml/sdk-2-0/FeatureSetSpec.json

source:
  type: parquet
  path: abfs://file_system@account_name.dfs.core.windows.net/datasources/transactions-source/*.parquet
  timestamp_column: # name of the column representing the timestamp.
    name: timestamp
  source_delay:
    days: 0
    hours: 3
    minutes: 0
feature_transformation_code:
  path: ./code
  transformer_class: transaction_transform.TrsactionFeatureTransformer
features:
  - name: transaction_7d_count
    type: long
  - name: transaction_amount_7d_sum
    type: double
  - name: transaction_amount_7d_avg
    type: double
  - name: transaction_3d_count
    type: long
  - name: transaction_amount_3d_sum
    type: double
  - name: transaction_amount_3d_avg
    type: double
index_columns:
  - name: accountID
    type: string
source_lookback:
  days: 7
  hours: 0
  minutes: 0
temporal_join_lookback:
  days: 1
  hours: 0
  minutes: 0

La especificación de conjunto de características anterior también se puede crear mediante el SDK azureml-feautrestore.

transactions_featureset_code_path = "<local path to the code folder>"

transactions_featureset_spec = create_feature_set_spec(
    source = FeatureSource(
        type = SourceType.parquet,
        path = "wasbs://data@azuremlexampledata.blob.core.windows.net/feature-store-prp/datasources/transactions-source/*.parquet",
        timestamp_column = TimestampColumn(name = "timestamp"),
        source_delay = DateTimeOffset(days = 0, hours = 3, minutes = 0)
    ),
    transformation_code = TransformationCode(
        path = transactions_featureset_code_path,
        transformer_class = "transaction_transform.TransactionFeatureTransformer"
    ),
    index_columns = [
        Column(name = "accountID", type = ColumnType.string)
    ],
    source_lookback = DateTimeOffset(days = 7, hours = 0, minutes = 0),
    temporal_join_lookback = DateTimeOffset(days = 1, hours = 0, minutes = 0),
    infer_schema = True,
)

Pasos siguientes