
▪ H2O AutoML은 오픈소스 머신러닝 플랫폼으로, 다양한 알고리즘을 자동으로 학습하고 튜닝할 수 있음
▪ 가능한 적은 파라미터로 설계되어 있어, 사용자는 자신의 데이터셋을 지정하고, 예측할 열을 식별하며, 필요에 따라 학습 시간제한이나 학습할 모델 수의 제한을 설정하기만 하면 됨
▪ Java 기반으로 동작하며, Python 인터페이스를 통해 쉽게 사용할 수 있음
→ Java Runtime Environment (JRE) 또는 Java Development Kit (JDK)가 설치되어 있어야 함
→ Java 8 이상 필요.
→ Python 3.7 이상 권장.
▪ Windows 기준
→ Oracle Java JDK 또는 OpenJDK에서 Java 다운로드 및 설치. (본인은 11버전 설치)
https://www.oracle.com/java/technologies/downloads/#java11
→ 설치 후 환경 변수 JAVA_HOME을 설정
pip install -f http://h2o-release.s3.amazonaws.com/h2o/latest_stable_Py.html h2o
▪ h2o.init() 함수를 사용하여 H2O 클러스터를 초기화
✍ h2o.init() 파라미터
▪ max_mem_size : 사용할 최대 메모리 크기 (예: "16G"는 16GB).
▪ nthreads : 사용할 CPU 스레드 수 (기본값: 모든 스레드).
▪ H2OFrame을 사용하여 데이터를 H2O 형식으로 변환
▪ H2O AutoML을 실행하려면 타겟 변수(레이블)와 피처를 지정해야 함
y = "target_column" # 예측할 타겟 변수
x = data.columns # 모든 피처
x.remove(y) # 타겟 변수는 제외
▪ H2OAutoML 객체를 생성하고 train() 함수를 사용하여 모델을 학습시킴
✍ H2OAutoML() 파라미터
▪ max_runtime_secs : AutoML이 실행되는 최대 시간 (기본값 3600초)
▪ max_models : 학습할 최대 모델 수 (기본값은 Null)
✍ train() 파라미터
▪ x : 학습 변수의 이름(또는 인덱스)
▪ y : 타겟 변수의 이름(또는 인덱스) -(필수)
▪ training_frame : train 데이터셋 (필수)
▪ leaderboard_frame : 모델의 점수를 매기고 순위를 매기는 데 사용할 데이터프레임을 지정할 수 있음
aml = H2OAutoML(max_runtime_secs=3600)
aml.train(x = x, y = y, training_frame=h2o_train, leaderboard_frame=h2o_valid)
▪ leader.model_id : 최고 성능의 모델 이름 확인
▪ leader.varimp() : 모델의 주요 변수 확인
▪ model_performance() : H2O AutoML에서 최적 모델의 성능을 평가하는 데 사용
▪ leaderboard를 통해 모델 성능을 비교하고, predict() 함수를 사용하여 예측을 수행
▪ h2o.save_model()과 h2o.load_model() 함수를 사용하여 모델을 저장하고 불러옴