Compartilhar via


Esquema YAML da especificação do conjunto de recursos da CLI (v2)

APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)

Observação

A sintaxe YAML detalhada neste documento baseia-se no esquema JSON da última versão da extensão de ML da CLI v2. Essa sintaxe só tem a garantia de funcionar com a última versão da extensão de ML da CLI v2. Encontre os esquemas para as versões mais antigas da extensão em https://azuremlschemasprod.azureedge.net/.

Sintaxe YAML

Chave Type Descrição Valores permitidos Valor padrão
$schema string O esquema YAML. Se você usar a extensão do Azure Machine Learning para VS Code para criar o arquivo YAML, a inclusão de $schema no início do arquivo permitirá que você ative os preenchimentos de esquema e recursos.
source objeto Obrigatórios. Fonte de dados para o conjunto de recursos.
source.type string Obrigatórios. Tipo da fonte de dados. mltable, csv, parquet, deltaTable
source.path string Obrigatórios. Nome da fonte de dados Pode ser um caminho para um único arquivo, uma pasta ou um caminho com curinga. Há suporte apenas para o armazenamento do Azure e o esquema do ABFS.
source.timestamp_column objeto Obrigatórios. Coluna de carimbo de data/hora nos dados de origem.
source.timestamp_column.name string Obrigatórios. O nome da coluna de carimbo de data/hora nos dados de origem.
source.timestamp_column.format string O formato da coluna de carimbo de data/hora. Se não for fornecido, use o Spark para inferir o valor do carimbo de data/hora.
source.source_delay objeto O atraso de dados de origem.
source.source_delay.days inteiro O número de dias do atraso de dados de origem.
source.source_delay.hours inteiro O número de horas do atraso de dados de origem.
source.source_delay.minutes inteiro O número de minutos do atraso de dados de origem.
feature_transformation_code objeto A pasta em que a definição de código de transformação está localizada.
feature_transformation_code.path string O caminho relativo dentro da pasta de especificação do conjunto de recursos para localizar a pasta de código do transformador.
feature_transformation_code.transformer_class string Essa é uma classe de transformador de aprendizado de máquina do Spark no formato {module_name}.{transformer_class_name}. O sistema espera encontrar um {module_name}.py arquivo no feature_transformation_code.path. O {transformer_class_name} é definido neste arquivo python.
recursos lista de objetos Obrigatórios. Os recursos desse conjunto de recursos.
features.name string Obrigatórios. O nome do recurso.
features.type string Obrigatórios. O tipo de dados do recurso. string, integer, long, float, double, binary, datetime, boolean
index_columns lista de objetos Obrigatórios. As colunas de índice para os recursos. Os dados de origem devem conter essas colunas.
index_columns.name string Obrigatórios. O nome da coluna de índice.
index_columns.type string Obrigatórios. O tipo de dados da coluna de índice. string, integer, long, float, double, binary, datetime, boolean
source_lookback objeto A janela de tempo de olhar para trás para os dados de origem.
source_lookback.days inteiro O número de dias da fonte olhar para trás.
source_lookback.hours inteiro O número de horas da origem olha para trás.
source_lookback.minutes inteiro O número de minutos do olhar de origem para trás.
temporal_join_lookback objeto A janela de tempo de olhar para trás ao fazer junção pontual.
temporal_join_lookback.days inteiro O número de dias do lookback de junção temporal.
temporal_join_lookback.hours inteiro O número de horas do lookback de junção temporal.
temporal_join_lookback.minutes inteiro O número de minutos do lookback de junção temporal.

Exemplos

Os exemplos estão disponíveis no repositório de exemplos do GitHub. Alguns exemplos comuns são:

Exemplo YALM sem código de transformação

$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

Exemplo YALM com código de transformação

$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

A especificação do conjunto de recursos acima também pode ser criada usando azureml-feautrestore o SDK.

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,
)

Próximas etapas