Megosztás a következőn keresztül:


CLI (v2) szolgáltatáskészlet specifikációja YAML-séma

A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)

Feljegyzés

A dokumentumban részletezett YAML-szintaxis az ML CLI v2 bővítmény legújabb verziójának JSON-sémáján alapul. Ez a szintaxis garantáltan csak az ML CLI v2 bővítmény legújabb verziójával működik. A régebbi bővítményverziók sémáit a következő helyen https://azuremlschemasprod.azureedge.net/találja: .

YAML-szintaxis

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
$schema húr A YAML-séma. Ha az Azure Machine Learning VS Code-bővítményt használja a YAML-fájl létrehozásához, beleértve a fájl tetején található $schema lehetővé teszi a séma és az erőforrás-kiegészítések meghívását.
forrás object Szükséges. Adatforrás a funkciókészlethez.
source.type húr Szükséges. Az adatforrás típusa. mltable, csv, parquet, deltaTable
source.path húr Szükséges. Az adatforrás elérési útja. Ez lehet egyetlen fájl, mappa vagy helyettesítő karaktert tartalmazó elérési út. Csak az Azure Storage és az ABFS séma támogatott.
source.timestamp_column object Szükséges. Időbélyeg oszlop a forrásadatokban.
source.timestamp_column.name húr Szükséges. Az időbélyeg oszlop neve a forrásadatokban.
source.timestamp_column.format húr Az időbélyeg-oszlop formátuma. Ha nincs megadva, a Spark használatával következtethet az időbélyeg értékére.
source.source_delay object A forrásadatok késése.
source.source_delay.days egész szám A forrásadat-késés napjainak száma.
source.source_delay.óra egész szám A forrásadat-késés órák száma.
source.source_delay.perc egész szám A forrásadat-késés perceinek száma.
feature_transformation_code object Az a mappa, ahol az átalakítási kód definíciója található.
feature_transformation_code.path húr A relatív elérési út a funkciókészlet spec mappájában található a transzformátor kódmappájának megkereséséhez.
feature_transformation_code.transformer_class húr Ez egy Spark gépi tanulási transzformátorosztály a következő formátumban {module_name}.{transformer_class_name}: . A rendszer arra számít, hogy talál egy {module_name}.py fájlt a feature_transformation_code.path. Ez {transformer_class_name} ebben a Python-fájlban van definiálva.
features objektumlista Szükséges. A funkciókészlet funkciói.
features.name húr Szükséges. A szolgáltatás neve.
features.type húr Szükséges. A funkció adattípusa. sztring, egész szám, hosszú, lebegőpontos, kettős, bináris, datetime, logikai
index_columns objektumlista Szükséges. A funkciók indexoszlopai. A forrásadatoknak tartalmazniuk kell ezeket az oszlopokat.
index_columns.name húr Szükséges. Az indexoszlop neve.
index_columns.type húr Szükséges. Az indexoszlop adattípusa. sztring, egész szám, hosszú, lebegőpontos, kettős, bináris, datetime, logikai
source_lookback object A forrásadatok visszatekintési időablaka.
source_lookback.days egész szám A forrás napjainak száma visszatekintve.
source_lookback.óra egész szám A forrás órák száma visszatekintve.
source_lookback.perc egész szám A forrás perceinek száma.
temporal_join_lookback object A visszatekintés időablaka az időponthoz kötött illesztés során.
temporal_join_lookback.days egész szám Az időbeli illesztés visszatekintésének napjainak száma.
temporal_join_lookback.óra egész szám A temporális illesztés visszatekintésének óraszáma.
temporal_join_lookback.perc egész szám A temporális illesztés visszatekintésének percszáma.

Példák

A példák a GitHub-adattárban érhetők el. Néhány gyakori példa alább látható.

YAML-példa átalakításkód nélkül

$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

YAML-példa transzformációs kóddal

$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 fenti funkciókészlet specifikációja SDK használatával azureml-feautrestore is létrehozható.

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

Következő lépések