Bayesian Optimization

베이지안 최적화(Bayesian Optimization)란? 베이지안 최적화는 머신러닝에서 하이퍼파라미터 튜닝을 똑똑하게, 그리고 효율적으로 수행하기 위한 방법. 하이퍼파라미터는 모델을 학습시키기 전에 사람이 직접 설정해야 하는 값들인데, 이 값들이 모델의 성능에 큰 영향을 미침. 예를 들어 학습률(learning rate)이나 트리의 깊이 같은 것들이 하이퍼파라미터. 문제는 이 값들을 무작정 시도해보는 건 시간도 오래 걸리고 비효율적이라는 점 다른 하이퍼 파라미터 튜닝 방법 그리드 서치(Grid Search) 가능한 하이퍼파라미터 값들을 미리 정하고, 모든 조합을 하나씩 시도함 장점: 최적의 조합을 놓칠 가능성이 적음 단점: 조합이 많아지면 시간이 너무 오래 걸림 랜덤 서치(Random Search) 하이퍼파라미터 값 범위에서 무작위로 조합을 골라 테스트함 장점: 더 넓은 범위를 빠르게 탐색할 수 있음 단점: 운이 나쁘면 좋은 조합을 놓칠 수도 있음 이런 문제들 때문에 베이지안 최적화가 등장함 ...

March 17, 2025

Binary Prediction with a Rainfall Dataset

이 글은 Kaggle의 “Binary Prediction with a Rainfall Dataset” 경진대회를 다룹니다. Kaggle 링크: Binary Prediction with a Rainfall Dataset 소스 코드: GitHub Repository 1. 환경 설정 및 데이터 로드 필요한 라이브러리 임포트 1 2 3 4 5 6 7 8 9 10 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV from sklearn.preprocessing import StandardScaler from sklearn.metrics import classification_report, confusion_matrix, accuracy_score, roc_auc_score, roc_curve from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier from sklearn.linear_model import LogisticRegression import xgboost as xgb 데이터 로드 1 2 3 # 훈련 및 테스트 데이터 로드 train_data = pd.read_csv('train.csv') test_data = pd.read_csv('test.csv') 2. 데이터 탐색 (EDA) 기본 정보 확인 1 2 3 4 5 6 7 print("train data:", train_data.shape) # (2190, 13) print("train data info:\n", train_data.info()) print("train data describe:\n", train_data.describe()) print("train data isnull:\n", train_data.isnull().sum()) print("test data isnull:\n", test_data.isnull().sum()) print("train data rainfall value_counts:\n", train_data['rainfall'].value_counts()) print(f"train data rainfall value_counts(normalize):\n{train_data['rainfall'].value_counts(normalize=True)}") 데이터 구조 분석 데이터셋의 정보를 확인하면 다음과 같습니다: ...

March 12, 2025