본문으로 건너뛰기

003 Google Colab에서 FLAML 시작하기

키워드: Colab, 시작하기

개요​

Google Colab은 무료로 사용할 수 있는 클라우드 기반 Jupyter 노트북 환경입니다. FLAML의 큰 장점 중 하나는 Google Colab에서 완벽하게 지원된다는 것입니다. 별도의 설치나 환경 설정 없이 브라우저에서 바로 FLAML을 실습할 수 있습니다.

이 글에서는 Google Colab에서 FLAML을 설정하고 첫 번째 모델을 학습하는 방법을 알아보겠습니다.

실습 환경​

  • 플랫폼: Google Colab (colab.research.google.com)
  • 필요 계정: Google 계정
  • 비용: 무료 (GPU 사용 시 제한 있음)

Google Colab 시작하기​

1단계: Colab 접속​

  1. 브라우저에서 colab.research.google.com 접속
  2. Google 계정으로 로그인
  3. "새 노트북" 클릭

2단계: FLAML 설치​

Colab 셀에서 다음 명령어를 실행합니다:

!pip install flaml[automl] -q

-q 옵션은 설치 로그를 최소화합니다.

설치 확인​

import flaml
print(f"FLAML 버전: {flaml.__version__}")

출력 예시​

FLAML 버전: 2.1.0

Colab에서 첫 번째 FLAML 모델​

전체 코드​

# 1. 패키지 설치 (최초 1회)
!pip install flaml[automl] -q

# 2. 라이브러리 임포트
from flaml import AutoML
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report

# 3. 데이터 준비 (유방암 진단 데이터)
data = load_breast_cancer()
X, y = data.data, data.target

# 003 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

print(f"학습 데이터: {X_train.shape}")
print(f"테스트 데이터: {X_test.shape}")

# 4. FLAML AutoML 실행
automl = AutoML()
automl.fit(
X_train, y_train,
task="classification",
time_budget=30, # 30초 동안 탐색
metric="accuracy",
verbose=1
)

# 5. 결과 확인
print("\n" + "="*50)
print("FLAML 학습 결과")
print("="*50)
print(f"최적 모델: {automl.best_estimator}")
print(f"최적 하이퍼파라미터: {automl.best_config}")
print(f"검증 정확도: {1 - automl.best_loss:.4f}")

# 6. 테스트 세트 평가
predictions = automl.predict(X_test)
test_accuracy = accuracy_score(y_test, predictions)
print(f"테스트 정확도: {test_accuracy:.4f}")

# 7. 상세 분류 리포트
print("\n분류 리포트:")
print(classification_report(y_test, predictions,
target_names=['악성', '양성']))

실행 결과​

학습 데이터: (455, 30)
테스트 데이터: (114, 30)

[flaml.automl.logger: INFO] Iteration 1, ...
[flaml.automl.logger: INFO] Iteration 2, ...
...

==================================================
FLAML 학습 결과
==================================================
최적 모델: lgbm
최적 하이퍼파라미터: {'n_estimators': 11, 'num_leaves': 4, ...}
검증 정확도: 0.9714
테스트 정확도: 0.9737

분류 리포트:
precision recall f1-score support

악성 0.98 0.95 0.96 43
양성 0.97 0.99 0.98 71

accuracy 0.97 114
macro avg 0.97 0.97 0.97 114
weighted avg 0.97 0.97 0.97 114

Colab 활용 팁​

팁 1: GPU 런타임 사용​

FLAML은 CPU만으로도 빠르지만, 대규모 데이터에서는 GPU가 도움됩니다:

  1. 메뉴에서 "런타임" → "런타임 유형 변경" 클릭
  2. 하드웨어 가속기를 "GPU"로 선택
  3. "저장" 클릭
# 003 GPU 확인
import torch
print(f"GPU 사용 가능: {torch.cuda.is_available()}")

팁 2: 구글 드라이브 연동​

데이터 파일을 구글 드라이브에서 불러오기:

from google.colab import drive
drive.mount('/content/drive')

# 003 드라이브의 파일 읽기
import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/data.csv')

팁 3: 결과 저장​

학습된 모델을 저장하고 다운로드:

import pickle

# 003 모델 저장
with open('flaml_model.pkl', 'wb') as f:
pickle.dump(automl, f)

# 003 Colab에서 다운로드
from google.colab import files
files.download('flaml_model.pkl')

팁 4: 세션 유지​

Colab은 일정 시간 후 세션이 끊깁니다. 긴 학습 시 주의:

# 003 진행 상황을 중간중간 저장
automl.fit(
X_train, y_train,
task="classification",
time_budget=300,
log_file_name="flaml_log.log" # 로그 파일 저장
)

Colab vs 로컬 환경​

항목Google Colab로컬 환경
설치매번 필요한 번만
무료 GPU제공 (제한적)별도 구매 필요
메모리12GB (무료)PC 사양에 따름
세션 유지최대 12시간무제한
파일 저장드라이브 연동 필요로컬에 직접 저장
적합한 용도학습, 실험프로덕션, 대규모 학습

실습: 다양한 데이터세트로 연습​

회귀 문제 예제​

from sklearn.datasets import load_diabetes

# 003 당뇨병 데이터 (회귀)
X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

automl = AutoML()
automl.fit(
X_train, y_train,
task="regression", # 회귀 태스크
time_budget=30,
metric="r2"
)

print(f"최적 모델: {automl.best_estimator}")
print(f"R² 점수: {1 - automl.best_loss:.4f}")

다중 분류 예제​

from sklearn.datasets import load_wine

# 003 와인 품질 데이터 (다중 분류)
X, y = load_wine(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

automl = AutoML()
automl.fit(
X_train, y_train,
task="classification",
time_budget=30,
metric="accuracy"
)

print(f"최적 모델: {automl.best_estimator}")
print(f"정확도: {1 - automl.best_loss:.4f}")

Colab 노트북 템플릿​

매번 사용할 수 있는 템플릿 코드:

#@title FLAML 기본 템플릿 {display-mode: "form"}

# 003 설치
!pip install flaml[automl] -q

# 003 임포트
from flaml import AutoML
import pandas as pd
from sklearn.model_selection import train_test_split

#@markdown ### 설정
task = "classification" #@param ["classification", "regression"]
time_budget = 60 #@param {type:"slider", min:10, max:300, step:10}

# 003 데이터 로드 (여기에 본인 데이터 경로 입력)
# 003 df = pd.read_csv('your_data.csv')
# 003 X = df.drop('target', axis=1)
# 003 y = df['target']

# 003 학습 실행
automl = AutoML()
# 003 automl.fit(X_train, y_train, task=task, time_budget=time_budget)

정리​

  • Google Colab에서 FLAML을 무료로 사용할 수 있습니다.
  • !pip install flaml[automl]로 간단히 설치됩니다.
  • 브라우저만 있으면 어디서든 FLAML을 실습할 수 있습니다.
  • 구글 드라이브 연동으로 데이터와 모델을 저장/관리할 수 있습니다.
  • 세션 제한(12시간)이 있으므로 중간 저장을 권장합니다.

다음 글 예고​

다음 글에서는 FLAML vs 다른 AutoML 도구 비교에 대해 알아보겠습니다. PyCaret, Auto-sklearn, H2O 등과의 차이점과 각 도구의 장단점을 비교합니다.


FLAML AutoML 마스터 시리즈 #003