다음을 통해 공유


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

다음 단계