서론
이미 검색창에 AutoML이라고 검색하면, 잘 만들어진 AutoML들이 많다.
많은 좋은 프로그래밍들을 보고 의도와 구현 방식을 배우는 것이 목표이다
AutoSklearnClassifier Source
원본은 아래 공식 홈페이지에서 확인할 수 있습니다.
https://automl.github.io/auto-sklearn/master/api.html#classification
[AutoML] 구현을 향해, Autosklearn-parameters - 3편
각 메서드들에서 사용될 파라미터의 기능을 먼저 파악하면 어떤 기능을 사용할지 알 수 있음.
문서 설명으로 100%이해는 못하며, 추리 정도만 할 예정
Parameters
time_left_for_this_task : int
- 최적의 모델을 찾는 시간 설정
- 시간이 길수록 적절한 모델을 찾는 확률이 상승
per_run_time_limit : int
- 여러 알고리즘을 하나 학습할떄 걸리는 시간 설정
- 시간 초과시 모델 학습이 종료
initial_configurations_via_metalearning : int, optional (default=25)
- 이전에 학습 데이터셋에서 잘 작동한 파라미터 구성으로 알고리즘을 초기화함
ensemble_size : int, optional (default=50)
- 모델 라이브러리에서 앙상블을 선택하고 작성한 앙상블에 추가된 모델수
- 0으로 설정하는 것은 앙상블이 아니므로 적합하지 않음
- 여러 알고리즘을 앙상블 하도록 추가하는 기능이 있나? 정도로 추측 가능
ensemble_nbest : int, optional(default=50)
- 앙상블 하는 경우 ensemble_nbest모델 만을 고려함
max_models_on_disc: int, optional (default=50)
- 디스크에 보관되는 최대 모델 수
- 앙상블에 사용할 수 있는 모델수에 대한 상한을 설정
- 1보다 큰 정수이며, None인 경우 모든 모델을 디스크에 저장
memory_limit : int, optional(3072)
- 알고리즘 학습 시 사용되는 메모리 제한
- 메모리 제한을 초과할 시 학습을 중지
- None이면 메모리 제한이 설정되지 않음
- memory_limit은 각 작업당이기 때문에 다중 알고리즘 학습 시 총사용량은 n_jobs * memory_limit임
include : Optional [Dict [str, List [str]]] = None
- 없는 경우 모든 사용 가능한 알고리즘이 사용
- 사용하고자 하는 단계를 지정할 수 있음
예시
include = {
'classifier': ["random_forest"],
'feature_preprocessor': ["no_preprocessing"]
}
exclude : Optional [Dict [str, List [str]]] = None
- include와 반대로, 제외하고자 하는 단계를 지정
- 없는 경우는 역시 모든 사용 가능한 알고리즘이 사용
exclude = {
'classifier': ["random_forest"],
'feature_preprocessor': ["no_preprocessing"]
}
resampling_strategy
- 과적합에 대응하는 방법
- ex) 교차 검증
resampling_strategy_arguments : dict, optional if ‘holdout’ (train_size default=0.67)
- resampling_strategy에 사용되는 추가적인 인자
dask_client : dask.distributed.Client, optional
- 사용자가 만든 dask 클라이언트를 사용해 sklearn을 연결할 수 있음
dask?
파이썬에서 멀티 코어로 병렬 처리할 수 있는 패키지
disable_evaluator_output : bool or list, optional (False)
- True인 경우 : 모형 및 예측 출력을 비활성화함
- True인 경우 : predict() 메서드를 사용할 수 없음
- 'y_optimization' : 앙상블을 만들 때 사용되는 검증 세트에 대한 예측을 저장하지 않음
- model : 모델을 저장하지 않음
- 모델도 저장하지 않고 예측도 비활성화하는 이유는 학습에 대해서만 빠른 테스트만 하기 위함인가??라는 추측을 할 수 있고 현재 단계에선 잘 모르겠음
logging_config : dict, optional (None)
- 로거 구성을 지정하는 사전 객체
- None인 경우, 기본으로 logging.yaml이 생성
metadata_directory : str, optional (None)
- 메타데이터 디렉터리 경로
metric : Scorer, optional (None)
- autosklearn.metrics의 make_scorer() 메서드에서 만든 평가지표
scoring_functions : List [Scorer], optional(None)
- 각 파이프 라인에서 계산된 메트릭스 결과
load_models : bool, optional(True)
- 알고리즘 학습하고 모델 로드할지 여부
'코드읽기 > auto-sklearn' 카테고리의 다른 글
[AutoML] 구현을 향해, AutoSklearnClassifeir.fit(2) - 5편 (0) | 2022.05.14 |
---|---|
[AutoML] 구현을 향해, AutoSklearnClassifier-fit - 4편 (0) | 2022.05.08 |
[AutoML] 구현을 향해, sklearn-BaseEstimator? 2편 (0) | 2022.04.30 |
[AutoML]구현을 향해, AutoML? 그거 별거 없는거 아닌가? 1편 (0) | 2022.04.16 |