CLI(v2) 기능 집합 사양 YAML 스키마
적용 대상: Azure CLI ml 확장 v2(현재)
참고 항목
이 문서에 자세히 설명된 YAML 구문은 최신 버전의 ML CLI v2 확장에 대한 JSON 스키마를 기반으로 합니다. 이 구문은 최신 버전의 ML CLI v2 확장에서만 작동하도록 보장됩니다. https://azuremlschemasprod.azureedge.net/에서 이전 확장 버전에 대한 스키마를 찾을 수 있습니다.
YAML 구문
키 | 형식 | 설명 | 허용된 값 | Default value |
---|---|---|---|---|
$schema | string | YAML 스키마입니다. Azure Machine Learning VS Code 확장을 사용하여 YAML 파일을 제작하는 경우 파일 맨 위에 $schema를 포함하여 스키마 및 리소스 완료를 호출할 수 있습니다. | ||
source | 개체 | 필수입니다. 기능 집합의 데이터 원본입니다. | ||
source.type | string | 필수입니다. 데이터 원본의 형식입니다. | mltable, csv, parquet, deltaTable | |
source.path | string | 필수입니다. 데이터 원본의 경로입니다. 단일 파일 경로, 폴더 또는 와일드카드가 포함된 경로일 수 있습니다. Azure Storage 및 ABFS 스키마만 지원됩니다. | ||
source.timestamp_column | 개체 | 필수입니다. 원본 데이터의 타임스탬프 열입니다. | ||
source.timestamp_column.name | string | 필수입니다. 원본 데이터의 타임스탬프 열 이름입니다. | ||
source.timestamp_column.format | string | 타임스탬프 열 형식입니다. 제공되지 않은 경우 Spark를 사용하여 타임스탬프 값을 유추합니다. | ||
source.source_delay | 개체 | 원본 데이터 지연입니다. | ||
source.source_delay.days | 정수 | 원본 데이터가 지연된 일수입니다. | ||
source.source_delay.hours | 정수 | 원본 데이터 대기 시간입니다. | ||
source.source_delay.minutes | 정수 | 원본 데이터가 지연되는 시간(분)입니다. | ||
feature_transformation_code | 개체 | 변환 코드 정의가 위치한 폴더입니다. | ||
feature_transformation_code.path | string | 변환기 코드 폴더를 찾기 위한 기능 집합 사양 폴더 내의 상대 경로입니다. | ||
feature_transformation_code.transformer_class | string | 이는 {module_name}.{transformer_class_name} 형식의 Spark 기계 학습 변환기 클래스입니다. 시스템은 feature_transformation_code.path 아래에서 {module_name}.py 파일을 찾을 것으로 예상합니다. {transformer_class_name} 은 이 Python 파일에 정의되어 있습니다. |
||
features | 개체 목록 | 필수입니다. 이 기능 집합의 기능입니다. | ||
features.name | string | 필수입니다. 기능 이름 | ||
features.type | string | 필수입니다. 기능 데이터 형식입니다. | string, integer, long, float, double, binary, datetime, boolean | |
index_columns | 개체 목록 | 필수입니다. 기능에 대한 인덱스 열입니다. 원본 데이터에는 다음 열이 포함되어야 합니다. | ||
index_columns.name | string | 필수입니다. 인덱스 열 이름입니다. | ||
index_columns.type | string | 필수입니다. 인덱스 열 데이터 형식입니다. | string, integer, long, float, double, binary, datetime, boolean | |
source_lookback | 개체 | 원본 데이터의 되돌아보기 기간입니다. | ||
source_lookback.days | 정수 | 원본 되돌아보기 일수입니다. | ||
source_lookback.hours | 정수 | 원본을 되돌아보기 시간입니다. | ||
source_lookback.minutes | 정수 | 원본을 되돌아보기 시간(분)입니다. | ||
temporal_join_lookback | 개체 | 특정 시점 조인을 수행할 때 되돌아보기 기간입니다. | ||
temporal_join_lookback.days | 정수 | 임시 조인 조회 일수입니다. | ||
temporal_join_lookback.hours | 정수 | 임시 조인 조회의 시간입니다. | ||
temporal_join_lookback.minutes | 정수 | 임시 조인 조회의 시간(분)입니다. |
예제
예제는 예제 GitHub 리포지토리에서 사용할 수 있습니다. 몇 가지 일반적인 예가 아래에 나와 있습니다.
변환 코드가 없는 YAML 예
$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 예
$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
위의 기능 집합 사양은 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,
)