Schemat YAML specyfikacji zestawu funkcji interfejsu wiersza polecenia (wersja 2)
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 2 (bieżąca)
Uwaga
Składnia YAML szczegółowo w tym dokumencie jest oparta na schemacie JSON dla najnowszej wersji rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Ta składnia jest gwarantowana tylko do pracy z najnowszą wersją rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Schematy dla starszych wersji rozszerzeń można znaleźć pod adresem https://azuremlschemasprod.azureedge.net/.
Składnia YAML
Klucz | Type | Opis | Dozwolone wartości | Domyślna wartość |
---|---|---|---|---|
$schema | string | Schemat YAML. Jeśli używasz rozszerzenia programu VS Code usługi Azure Machine Learning do tworzenia pliku YAML, w tym $schema w górnej części pliku, umożliwia wywoływanie schematu i uzupełniania zasobów. | ||
source | obiekt | Wymagany. Źródło danych dla zestawu funkcji. | ||
source.type | string | Wymagany. Typ źródła danych. | mltable, csv, parquet, deltaTable | |
source.path | string | Wymagany. Ścieżka źródła danych. Może to być ścieżka do pojedynczego pliku, folderu lub ścieżki z symbolami wieloznacznymi. Obsługiwane są tylko usługi Azure Storage i schemat ABFS. | ||
source.timestamp_column | obiekt | Wymagany. Kolumna sygnatury czasowej w danych źródłowych. | ||
source.timestamp_column.name | string | Wymagany. Nazwa kolumny sygnatury czasowej w danych źródłowych. | ||
source.timestamp_column.format | string | Format kolumny sygnatury czasowej. Jeśli nie zostanie podana, użyj platformy Spark, aby wywnioskować wartość znacznika czasu. | ||
source.source_delay | obiekt | Opóźnienie danych źródłowych. | ||
source.source_delay.days | integer | Liczba dni opóźnienia danych źródłowych. | ||
source.source_delay.hours | integer | Liczba godzin opóźnienia danych źródłowych. | ||
source.source_delay.min | integer | Liczba minut opóźnienia danych źródłowych. | ||
feature_transformation_code | obiekt | Folder, w którym znajduje się definicja kodu przekształcenia. | ||
feature_transformation_code.path | string | Ścieżka względna w folderze specyfikacji zestawu funkcji, aby znaleźć folder kodu przekształcania. | ||
feature_transformation_code.transformer_class | string | Jest to klasa przekształcania uczenia maszynowego platformy Spark w formacie {module_name}.{transformer_class_name} . System oczekuje znalezienia {module_name}.py pliku w folderze feature_transformation_code.path . Element {transformer_class_name} jest zdefiniowany w tym pliku python. |
||
features | lista obiektów | Wymagany. Funkcje tego zestawu funkcji. | ||
features.name | string | Wymagany. Nazwa funkcji. | ||
features.type | string | Wymagany. Typ danych funkcji. | string, integer, long, float, double, binary, datetime, boolean | |
index_columns | lista obiektów | Wymagany. Kolumny indeksu dla funkcji. Dane źródłowe powinny zawierać te kolumny. | ||
index_columns.name | string | Wymagany. Nazwa kolumny indeksu. | ||
index_columns.type | string | Wymagany. Typ danych kolumny indeksu. | string, integer, long, float, double, binary, datetime, boolean | |
source_lookback | obiekt | Okno czasu wyszukiwania wstecz dla danych źródłowych. | ||
source_lookback.days | integer | Liczba dni w źródle spojrzenia wstecz. | ||
source_lookback.hours | integer | Liczba godzin wyszukiwania źródłowego. | ||
source_lookback.min | integer | Liczba minut w źródle wstecz. | ||
temporal_join_lookback | obiekt | Okno czasu wyszukiwania z powrotem podczas sprzężenia do punktu czasu. | ||
temporal_join_lookback.days | integer | Liczba dni wyszukiwania sprzężenia czasowego. | ||
temporal_join_lookback.hours | integer | Liczba godzin wyszukiwania sprzężenia czasowego. | ||
temporal_join_lookback.min | integer | Liczba minut wyszukiwania sprzężenia czasowego. |
Przykłady
Przykłady są dostępne w repozytorium GitHub przykłady. Poniżej przedstawiono kilka typowych przykładów.
Przykład YAML bez kodu przekształcenia
$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
Przykład YAML z kodem przekształcenia
$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
Powyższe specyfikacje zestawu funkcji można również utworzyć przy użyciu zestawu azureml-feautrestore
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,
)