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