이 글은 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)}") 데이터 구조 분석 데이터셋의 정보를 확인하면 다음과 같습니다:
...