FeaturizationConfig 클래스
Azure Machine Learning의 자동화된 Machine Learning 실험에 대한 기능 엔지니어링 구성을 정의합니다.
AutoMLConfig 클래스의 featurization
매개 변수에 FeaturizationConfig 클래스를 사용합니다. 자세한 내용은 자동화된 ML 실험 구성을 참조하세요.
FeaturizationConfig를 만듭니다.
- 상속
-
builtins.objectFeaturizationConfig
생성자
FeaturizationConfig(blocked_transformers: List[str] | None = None, column_purposes: Dict[str, str] | None = None, transformer_params: Dict[str, List[Tuple[List[str], Dict[str, Any]]]] | None = None, drop_columns: List[str] | None = None, dataset_language: str | None = None, prediction_transform_type: str | None = None)
매개 변수
Name | Description |
---|---|
blocked_transformers
|
기능화 중에 차단할 변환기 이름 목록입니다. Default value: None
|
column_purposes
|
열 용도를 업데이트하는 데 사용되는 열 이름 및 기능 형식의 사전입니다. Default value: None
|
transformer_params
|
변환기 및 해당 사용자 지정 매개 변수의 사전입니다. Default value: None
|
drop_columns
|
기능화 프로세스에서 무시할 열 목록입니다. 이 설정은 더 이상 사용되지 않습니다. AutoML에 데이터 세트를 제공하기 전에 데이터 준비 프로세스의 일부로 데이터 세트의 열을 삭제하세요. Default value: None
|
prediction_transform_type
|
대상 열 형식을 캐스팅하는 데 사용할 대상 변환 형식의 str입니다. Default value: None
|
blocked_transformers
필수
|
기능화 중에 차단할 변환기 이름 목록입니다. |
column_purposes
필수
|
열 용도를 업데이트하는 데 사용되는 열 이름 및 기능 형식의 사전입니다. |
transformer_params
필수
|
변환기 및 해당 사용자 지정 매개 변수의 사전입니다. |
drop_columns
필수
|
기능화 프로세스에서 무시할 열 목록입니다. 이 설정은 더 이상 사용되지 않습니다. AutoML에 데이터 세트를 제공하기 전에 데이터 준비 프로세스의 일부로 데이터 세트의 열을 삭제하세요. |
dataset_language
|
데이터 세트에 포함된 언어에 대한 세 문자 ISO 639-3 코드입니다. 영어 이외의 언어는 GPU 사용 컴퓨팅을 사용하는 경우에만 지원됩니다. 데이터 세트에 여러 언어가 포함된 경우 langugage_code 'mul'을 사용해야 합니다. 다른 언어에 대한 ISO 639-3 코드를 찾으려면 을 https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes참조하세요. Default value: None
|
prediction_transform_type
필수
|
대상 열 형식을 캐스팅하는 데 사용할 대상 변환 형식의 str입니다. |
설명
기능화 사용자 지정에는 다음을 수행할 수 있는 방법이 있습니다.
열 용도를 추가하거나 제거합니다.
add_column_purpose
및remove_column_purpose
메서드를 사용하면 지정된 열의 기능 형식을 재정의할 수 있습니다(예: 열의 기능 형식이 목적을 올바르게 반영하지 않는 경우). add 메서드는 FeatureType 클래스의 FULL_SET 특성에 지정된 모든 기능 형식 추가를 지원합니다.변환기 매개 변수를 추가하거나 제거합니다.
add_transformer_params
및remove_transformer_params
메서드를 사용하면 Imputer, HashOneHotEncoder, TfIdf와 같은 사용자 지정 가능한 변환기의 매개 변수를 변경할 수 있습니다. 사용자 지정 가능한 변환기는 SupportedTransformers 클래스 CUSTOMIZABLE_TRANSFORMERS 특성에 나열됩니다.get_transformer_params
를 사용하여 사용자 지정 매개 변수를 조회합니다.블록 변환기입니다.
add_blocked_transformers
메서드를 사용하여 기능화 프로세스에 사용할 블록 변환기입니다. 변환기는 SupportedTransformers 클래스 BLOCKED_TRANSFORMERS 특성에 나열된 변환기 중 하나여야 합니다.add_drop_columns
메서드를 사용하여 기능화 및 학습을 위해 무시할 드롭 열을 추가합니다. 예를 들어 유용한 정보가 포함되지 않은 열을 삭제할 수 있습니다.예측 변환 형식을 추가하거나 제거합니다.
add_prediction_transform_type
및
remove_prediction_transform_type
메서드를 사용하여 기존 대상 열 형식을 재정의할 수 있습니다.
예측 변환 형식은 PredictionTransformTypes 특성에 나열됩니다.
다음 코드 예제는 예측을 위해 자동화된 ML에서 기능화를 사용자 지정하는 방법을 보여 줍니다. 예제 코드에서는 열을 삭제하고 변환 매개 변수를 추가하는 방법을 보여 줍니다.
featurization_config = FeaturizationConfig()
# Force the CPWVOL5 feature to be numeric type.
featurization_config.add_column_purpose("CPWVOL5", "Numeric")
# Fill missing values in the target column, Quantity, with zeros.
featurization_config.add_transformer_params(
"Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
)
# Fill missing values in the INCOME column with median value.
featurization_config.add_transformer_params(
"Imputer", ["INCOME"], {"strategy": "median"}
)
# Fill missing values in the Price column with forward fill (last value carried forward).
featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})
전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb에서 사용할 수 있습니다.
다음 예는 하드웨어 성능 데이터 세트를 사용하여 회귀 문제에서 기능화를 사용자 지정하는 것을 보여 줍니다. 예제 코드에서는 차단된 변환기가 정의되고, 열 용도가 추가되고, 변환기 매개 변수가 추가됩니다.
featurization_config = FeaturizationConfig()
featurization_config.blocked_transformers = ["LabelEncoder"]
# featurization_config.drop_columns = ['MMIN']
featurization_config.add_column_purpose("MYCT", "Numeric")
featurization_config.add_column_purpose("VendorName", "CategoricalHash")
# default strategy mean, add transformer param for for 3 columns
featurization_config.add_transformer_params("Imputer", ["CACH"], {"strategy": "median"})
featurization_config.add_transformer_params(
"Imputer", ["CHMIN"], {"strategy": "median"}
)
featurization_config.add_transformer_params(
"Imputer", ["PRP"], {"strategy": "most_frequent"}
)
# featurization_config.add_transformer_params('HashOneHotEncoder', [], {"number_of_bits": 3})
위의 코드 예제에 정의된 FeaturizationConfig는 다음 코드 예제와 같이 자동화된 ML 실험의 구성에 사용할 수 있습니다.
automl_settings = {
"enable_early_stopping": True,
"experiment_timeout_hours": 0.25,
"max_concurrent_iterations": 4,
"max_cores_per_iteration": -1,
"n_cross_validations": 5,
"primary_metric": "normalized_root_mean_squared_error",
"verbosity": logging.INFO,
}
automl_config = AutoMLConfig(
task="regression",
debug_log="automl_errors.log",
compute_target=compute_target,
featurization=featurization_config,
training_data=train_data,
label_column_name=label,
**automl_settings,
)
메서드
add_blocked_transformers |
차단할 변환기를 추가합니다. |
add_column_purpose |
지정된 열에 대한 기능 형식을 추가합니다. |
add_drop_columns |
무시할 열 이름 또는 열 이름 목록을 추가합니다. |
add_prediction_transform_type |
대상 열에 대한 예측 변환 형식을 추가합니다. PredictionTransformTypes 클래스. :type prediction_transform_type: str |
add_transformer_params |
사용자 지정 변환기 매개 변수 목록에 사용자 지정 변환기 매개 변수를 추가합니다. 열 목록이 비어 있는 경우 모든 열에 적용합니다. |
get_transformer_params |
열에 대한 변환기 사용자 지정 매개 변수를 검색합니다. |
remove_column_purpose |
지정된 열의 기능 형식을 제거합니다. 열에 지정된 기능이 없으면 검색된 기본 기능이 사용됩니다. |
remove_prediction_transform_type |
대상 열의 예측 변환 형식을 기본값으로 되돌립니다. |
remove_transformer_params |
특정 열 또는 모든 열에 대한 변환기 사용자 지정 매개 변수를 제거합니다. |
add_blocked_transformers
차단할 변환기를 추가합니다.
add_blocked_transformers(transformers: str | List[str]) -> None
매개 변수
Name | Description |
---|---|
transformers
필수
|
변환기 이름 또는 변환기 이름 목록입니다. 변환기 이름은 SupportedTransformers 클래스의 BLOCKED_TRANSFORMERS 특성에 나열된 변환기 중 하나여야 합니다. |
add_column_purpose
지정된 열에 대한 기능 형식을 추가합니다.
add_column_purpose(column_name: str, feature_type: str) -> None
매개 변수
Name | Description |
---|---|
column_name
필수
|
업데이트할 열 이름입니다. |
feature_type
필수
|
열에 사용할 기능 형식입니다. 기능 형식은 FeatureType 클래스의 FULL_SET 특성에 지정된 형식이어야 합니다. |
add_drop_columns
무시할 열 이름 또는 열 이름 목록을 추가합니다.
add_drop_columns(drop_columns: str | List[str]) -> None
매개 변수
Name | Description |
---|---|
drop_columns
필수
|
열 이름 또는 열 이름 목록입니다. |
add_prediction_transform_type
대상 열에 대한 예측 변환 형식을 추가합니다.
PredictionTransformTypes 클래스. :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
매개 변수
Name | Description |
---|---|
prediction_transform_type
필수
|
대상 열을 캐스팅하는 데 사용할 예측 변환 형식입니다. 기능 형식은 FULL_SET 특성에 지정된 형식이어야 합니다. |
add_transformer_params
사용자 지정 변환기 매개 변수 목록에 사용자 지정 변환기 매개 변수를 추가합니다.
열 목록이 비어 있는 경우 모든 열에 적용합니다.
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
매개 변수
Name | Description |
---|---|
transformer
필수
|
변환기 이름입니다. 변환기 이름은 SupportedTransformers 클래스에 나열된 CUSTOMIZABLE_TRANSFORMERS 중 하나여야 합니다. |
cols
필수
|
지정된 변환기의 입력 열입니다. 일부 변환기는 목록으로 지정된 입력으로 여러 열을 사용할 수 있습니다. |
params
필수
|
키워드 및 인수의 사전입니다. |
설명
다음 코드 예제는 예측을 위해 자동화된 ML에서 기능화를 사용자 지정하는 방법을 보여 줍니다. 예제 코드에서는 열을 삭제하고 변환 매개 변수를 추가하는 방법을 보여 줍니다.
featurization_config = FeaturizationConfig()
# Force the CPWVOL5 feature to be numeric type.
featurization_config.add_column_purpose("CPWVOL5", "Numeric")
# Fill missing values in the target column, Quantity, with zeros.
featurization_config.add_transformer_params(
"Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
)
# Fill missing values in the INCOME column with median value.
featurization_config.add_transformer_params(
"Imputer", ["INCOME"], {"strategy": "median"}
)
# Fill missing values in the Price column with forward fill (last value carried forward).
featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})
전체 샘플은 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb에서 사용할 수 있습니다.
get_transformer_params
열에 대한 변환기 사용자 지정 매개 변수를 검색합니다.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
매개 변수
Name | Description |
---|---|
transformer
필수
|
변환기 이름입니다. 변환기 이름은 SupportedTransformers 클래스에 나열된 CUSTOMIZABLE_TRANSFORMERS 중 하나여야 합니다. |
cols
필수
|
정보를 가져올 열 이름입니다. 모든 열을 지정하려면 빈 목록을 사용합니다. |
반환
형식 | Description |
---|---|
변환기 매개 변수 설정입니다. |
remove_column_purpose
지정된 열의 기능 형식을 제거합니다.
열에 지정된 기능이 없으면 검색된 기본 기능이 사용됩니다.
remove_column_purpose(column_name: str) -> None
매개 변수
Name | Description |
---|---|
column_name
필수
|
업데이트할 열 이름입니다. |
remove_prediction_transform_type
대상 열의 예측 변환 형식을 기본값으로 되돌립니다.
remove_prediction_transform_type() -> None
remove_transformer_params
특정 열 또는 모든 열에 대한 변환기 사용자 지정 매개 변수를 제거합니다.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
매개 변수
Name | Description |
---|---|
transformer
필수
|
변환기 이름입니다. 변환기 이름은 SupportedTransformers 클래스에 나열된 CUSTOMIZABLE_TRANSFORMERS 중 하나여야 합니다. |
cols
|
사용자 지정 매개 변수를 제거할 열 이름입니다. 지정된 변환기에 대한 모든 사용자 지정 매개 변수를 제거하려면 None(기본값)을 지정합니다. Default value: None
|