microsoftml.rx_ensemble: 모델을 하나로 결합
사용
microsoftml.rx_ensemble(formula: str,
data: [<class 'revoscalepy.datasource.RxDataSource.RxDataSource'>,
<class 'pandas.core.frame.DataFrame'>, <class 'list'>],
trainers: typing.List[microsoftml.modules.base_learner.BaseLearner],
method: str = None, model_count: int = None,
random_seed: int = None, replace: bool = False,
samp_rate: float = None, combine_method: ['Average', 'Median',
'Vote'] = 'Median', max_calibration: int = 100000,
split_data: bool = False, ml_transforms: list = None,
ml_transform_vars: list = None, row_selection: str = None,
transforms: dict = None, transform_objects: dict = None,
transform_function: str = None,
transform_variables: list = None,
transform_packages: list = None,
transform_environment: dict = None, blocks_per_read: int = None,
report_progress: int = None, verbose: int = 1,
compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)
Description
모델 앙상블을 학습합니다.
세부 정보
rx_ensemble
은 단일 모델에서 얻을 수 있는 것보다 더 나은 예측 성능을 얻기 위해 다양한 종류의 모델을 학습시키는 함수입니다.
인수
formula
큰따옴표로 묶인 유효한 Python 구문의 기호 또는 수학적 수식입니다. 기호 수식은 "creditScore ~ yearsEmploy"
와 같은 데이터 원본의 개체를 참조할 수 있습니다.
상호 작용 용어(creditScore * yearsEmploy
) 및 식(creditScore == 1
)은 현재 지원되지 않습니다.
데이터
.xdf 파일 또는 데이터 프레임 개체를 지정하는 데이터 원본 개체 또는 문자열입니다. 또는 목록의 데이터 원본 중 하나를 사용하여 각 모델을 학습시켜야 함을 나타내는 데이터 원본 목록일 수 있습니다. 이 경우 데이터 목록의 길이는 model_count와 같아야 합니다.
trainers
해당 인수가 포함된 트레이너 목록입니다. 트레이너는 FastTrees
, FastForest
, FastLinear
, LogisticRegression
, NeuralNetwork
, OneClassSvm
을 사용하여 만듭니다.
메서드(method)
앙상블의 유형을 지정하는 문자열입니다. 변칙 검색의 경우 "anomaly"
, 이진 분류의 경우 "binary"
, 다중 클래스 분류의 경우 multiClass
, 회귀의 경우 "regression"
입니다.
random_seed
임의의 시드를 지정합니다. 기본값은 None
입니다.
model_count
학습시킬 모델의 수를 지정합니다. 이 숫자가 트레이너 목록의 길이보다 크면 트레이너 목록이 model_count
와 일치하도록 중복됩니다.
replace
대체를 사용하거나 사용하지 않고 관찰의 샘플링을 수행해야 하는지 여부를 지정하는 논리 값입니다. 기본값은 False
입니다.
samp_rate
각 트레이너에 대해 샘플링할 관찰의 비율을 지정하는 양수 값의 스칼라입니다. 기본값은 대체를 사용한 샘플링의 경우 1.0
(즉, replace=True
)이고, 대체를 사용하지 않는 샘플링의 경우 0.632
(즉, replace=False
)입니다.
split_data
가 True
이면 samp_rate
의 기본값은 1.0
(분할하기 전에 샘플링이 수행되지 않음)입니다.
split_data
겹치지 않는 파티션에서 기본 모델을 학습시킬지 여부를 지정하는 논리 값입니다.
기본값은 False
입니다.
RxSpark
컴퓨팅 컨텍스트에서만 사용할 수 있으며 다른 컨텍스트에서는 무시됩니다.
combine_method
모델을 결합하는 데 사용되는 방법을 지정합니다.
"Median"
: 개별 모델 출력의 중앙값을 계산합니다."Average"
: 개별 모델 출력의 평균을 계산합니다."Vote"
: (pos-neg)/총 모델 수를 계산합니다. 여기서 ‘pos’는 양수 출력 수이고 ‘neg’는 음수 출력 수입니다.
max_calibration
보정에 사용할 최대 예제 수를 지정합니다. 이 인수는 이진 분류 이외의 모든 작업에서 무시됩니다.
ml_transforms
학습 전에 데이터에서 수행할 MicrosoftML 변환 목록을 지정하거나 수행할 변환이 없는 경우 None을 지정합니다. 데이터에 대한 추가 전달이 필요한 변환(예: featurize_text
, categorical
)이 허용되지 않습니다.
이러한 변환은 지정된 R 변환 후에 수행됩니다.
기본값은 없음입니다.
ml_transform_vars
ml_transforms에서 사용할 변수 이름의 문자 벡터를 지정하거나, 사용할 변수 이름이 없는 경우 None을 지정합니다. 기본값은 없음입니다.
row_selection
지원되지 않음. 데이터 세트의 논리 변수 이름(따옴표) 또는 데이터 세트의 변수를 사용하는 논리 식으로 모델에서 사용할 데이터 세트의 행(관찰)을 지정합니다. 예를 들면 다음과 같습니다.
rowSelection = "old"
는old
변수의 값이True
인 관찰만 사용합니다.rowSelection = (age > 20) & (age < 65) & (log(income) > 10)
은age
변수의 값이 20에서 65 사이이고income
변수의log
값이 10보다 큰 관찰만 사용합니다.
행 선택은 데이터 변환을 처리한 후 수행됩니다(인수 transforms
또는 transform_func
참조). 모든 식과 마찬가지로 expression
함수를 사용하여 함수 호출 외부에서 row_selection
을 정의할 수 있습니다.
변환
지원되지 않음. 변수 변환의 첫 번째 반올림을 나타내는 양식의 식입니다. 모든 식과 마찬가지로 expression
함수를 사용하여 함수 호출 외부에서 transforms
(또는 row_selection
)를 정의할 수 있습니다.
transform_objects
지원되지 않음.
transforms
, transform_function
, row_selection
에서 참조할 수 있는 개체를 포함하는 명명된 목록입니다.
transform_function
변수 변환 함수입니다.
transform_variables
변환 함수에 필요한 입력 데이터 세트 변수의 문자 벡터입니다.
transform_packages
지원되지 않음. 사용 가능하게 하고 변수 변환 함수에서 사용하도록 미리 로드할 추가 Python 패키지(RxOptions.get_option("transform_packages")
에 지정된 패키지 외부)를 지정하는 문자 벡터입니다.
예를 들어 transforms
및 transform_function
인수를 통해 revoscalepy 함수에 명시적으로 정의되거나 formula
또는 row_selection
인수를 통해 암시적으로 정의됩니다.
transform_packages
인수는 None일 수도 있으며, 이는 RxOptions.get_option("transform_packages")
외부의 패키지가 미리 로드되지 않음을 나타냅니다.
transform_environment
지원되지 않음. 내부적으로 개발되어 변수 데이터 변환에 사용되는 모든 환경의 부모 역할을 하는 사용자 정의 환경입니다.
transform_environment = None
인 경우 부모 revoscalepy.baseenv
가 있는 새 “해시” 환경이 대신 사용됩니다.
blocks_per_read
데이터 원본에서 읽은 데이터의 각 청크에 대해 읽을 블록 수를 지정합니다.
report_progress
행 처리 진행률에 대한 보고 수준을 지정하는 정수 값입니다.
0
: 진행률을 보고하지 않습니다.1
: 처리된 행 수가 출력되고 업데이트됩니다.2
: 처리된 행 및 타이밍이 보고됩니다.3
: 처리된 행 및 모든 타이밍이 보고됩니다.
verbose
원하는 출력의 양을 지정하는 정수 값입니다.
0
이면 계산 중에 자세한 정보가 출력되지 않습니다.
1
에서 4
사이의 정수 값은 더 많은 양의 정보를 제공합니다.
compute_context
계산이 실행되는 컨텍스트를 설정하며, 유효한 revoscalepy.RxComputeContext
로 지정됩니다.
현재 로컬 및 revoscalepy.RxSpark 컴퓨팅 컨텍스트가 지원됩니다.
revoscalepy.RxSpark를 지정하면 모델의 학습이 분산된 방식으로 수행되고 앙상블은 로컬에서 수행됩니다. 컴퓨팅 컨텍스트는 대기 중이어야 합니다.
반환
학습된 앙상블 모델이 있는 rx_ensemble
개체입니다.