🔍 목표: 부동산 거래 데이터를 이용한 거래 금액 예측 회귀모델 구축
이 프로젝트는 다음과 같은 단계로 진행됩니다:
데이터 로드 및 탐색
EDA(탐색적 데이터 분석)
결측치 처리 및 전처리
회귀 모델 구축 및 평가
import pandas as pd
import numpy as np
train = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/딥다이브/transaction_price_data_train.csv')
test = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/딥다이브/transaction_price_data_test.csv')
train.csv: 학습용 데이터셋
test.csv: 예측용 데이터셋
데이터의 기본 구조는 head(), info(), describe() 등으로 확인합니다.
✅ 결측치 확인
train.isnull().sum()
컬럼별 결측값 분포를 확인하여 전처리 전략 수립
예: 건물유형, 층수, 전용면적 등의 결측치 처리 필요
결측치가 많은 컬럼은 삭제 또는 대체(평균, 최빈값 등)
범주형 변수 인코딩
수치형 변수 스케일링
예측 대상이 거래 금액이므로 회귀 모델을 사용합니다.
모델 예시
📊 회귀 평가 지표
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
print("MAE:", mean_absolute_error(y_test, y_pred))
print("MSE:", mean_squared_error(y_test, y_pred))
print("RMSE:", mean_squared_error(y_test, y_pred, squared=False))
print("R2 Score:", r2_score(y_test, y_pred))
| 단계 | 내용 |
|---|---|
| 데이터 불러오기 | Pandas로 train/test 로드 |
| EDA | 결측치 탐색 및 변수 구조 확인 |
| 전처리 | 결측값, 인코딩, 정규화, 이상치 처리 등 |
| 모델링 | 회귀 기반 모델링 및 평가 (MAE, RMSE, R2 등) |
머신러닝에서 회귀 모델을 평가할 때는 분류 모델과 달리 오차(예측값 - 실제값)의 크기를 기반으로 성능을 측정합니다.
평균절대오차
오차의 절댓값 평균
평균제곱오차
오차를 제곱한 후 평균
평균제곱근오차
MSE에 루트를 씌워 단위를 원래대로 복원
✅ MAE는 이상치에 덜 민감, RMSE는 이상치에 민감
전체 변동성 중 예측 가능한 비율을 설명
🔸 R² = 1: 완벽한 예측
🔸 R² = 0: 모델이 아무런 설명력 없음
🔸 R² < 0: 평균으로 예측하는 것보다 못함
| 지표 | 민감도 | 해석 쉬움 | 이상치 영향 |
|---|---|---|---|
| MAE | 낮음 | 매우 쉬움 | 적음 |
| MSE | 높음 | 보통 | 큼 |
| RMSE | 높음 | 쉬움 | 큼 |
| R² | 없음 | 상대적 평가 | 없음 |