cleanUrl: "usage/h2o-automl-usage"
description: "AutoML을 위한 H2O 라이브러리 사용법을 간단히 정리합니다."

설치 방법

pip로 설치 가능하다.

$ pip install -f <http://h2o-release.s3.amazonaws.com/h2o/latest_stable_Py.html> h2o

Quickstart

import h2o
from h2o.automl import H2OAutoML

# h2o cluster의 초기화가 필요하다.
# 사용하는 코어 수를 제한하고 싶다면 h2o.init(nthreads=72)와 같이 사용.
h2o.init()

# 데이터는 우선 pandas 데이터프레임으로 불러오는 편이 다루기 더 쉬울 듯?
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

model = H2OAutoML(
	max_models=10,
	seed=42,
	max_runtime_secs=360,
	sort_metric='RMSE',
)
# x: training에 사용되는 컬럼의 이름 (optional)
# y: target 컬럼 이름
# training_frame: 학습 데이터프레임 (H2OFrame 의 형태여야 한다!)
# h2o.H2OFrame(train)로 변환 가능하다.
model.train(x=x, y=y, training_frame=train)

# 학습된 모델로 예측 수행은 model.predict로 해도 되고,
preds = model.predict(test)
# 직접적으로 성능이 가장 좋은 모델인 model.leader에서 predict를 call해도 된다.
# 결과는 같을 듯? 확인해 보자.
preds = model.leader.predict(test)

# 참고로, preds 변수는 sklearn과 같이 예측 값들의 array가 아니다.
# 예측 값들만 얻고 싶으면 다음과 같이 변환해준다.
preds_df = pd.DataFrame(preds.as_data_frame())
pred_values = preds_df['predict'].values

# 추가적으로, 모델들의 성능을 비교할 수 있는 leaderboard를 제공한다.
lb = h2o.automl.get_leaderboard(model, extra_columns='ALL')

아래와 같이 학습 progress를 보여준다.

Untitled

필수 파라미터

H2OAutoML 필수 stopping 파라미터

H2OAutoML.train 필수 데이터 파라미터