📌 TIL (Today I Learned) - 보스턴 주택 가격 데이터셋 분석 및 모델링 🏠📈
1. 📊 데이터셋 이해 및 탐색
- 데이터셋: 보스턴 주택 가격 데이터셋 🏘️
- 특징:
- CRIM: 범죄율 🚨
- ZN: 25,000 평방피트 초과 거주 지역 비율 🏘️
- INDUS: 비소매 상업 지역 비율 🏭
- CHAS: 찰스 강 인접 여부 🏞️ (더미 변수)
- NOX: 질소 산화물 농도 🧪
- RM: 주택당 평균 방 수 🚪
- AGE: 1940년 이전 건축된 주택 비율 🕰️
- DIS: 보스턴 고용 센터까지의 가중 거리 📍
- RAD: 고속도로 접근성 지수 🛣️
- TAX: 재산세율 🧾
- PTRATIO: 학생-교사 비율 🧑🏫
- B: 흑인 인구 비율 관련 변수 🧑🏿
- LSTAT: 하위 계층 인구 비율 🧑🤝🧑
- MEDV: 중간 주택 가격 💰 (타겟 변수)
- 데이터 탐색:
- 결측치 확인:
isnull().sum()🔎 - 결측치 처리: 중앙값 대체 ⚙️
- 통계 정보 확인:
describe()📊 - 데이터 분포 시각화:
histplot📈 - 이상치 확인:
boxplot📦 - 상관관계 분석:
corr()&heatmap🌡️
- 결측치 확인:
2. 🛠️ 데이터 전처리
- 이상치 처리:
- IQR 활용,
clip함수로 이상치 값 조정 ✂️
- IQR 활용,
- 특징 선택:
- 8개 특징 선택 (LSTAT, RM, PTRATIO, INDUS, TAX, NOX, CRIM, AGE) 🎯
- 데이터 스케일링:
- MinMaxScaler로 0~1 사이 스케일링 ⚖️
- 데이터 분할:
- 훈련/테스트 세트 분할 (80:20),
random_state=42🗂️
- 훈련/테스트 세트 분할 (80:20),
3. 🤖 모델링 및 평가
- 선형 회귀 모델:
LinearRegression사용 📏- 평가 지표: MAE, MSE, R² 💯
- 의사결정 트리 회귀 모델:
DecisionTreeRegressor사용 🌳- 평가 지표: MAE, MSE, R² 💯
- 랜덤 포레스트 회귀 모델:
RandomForestRegressor사용 🌲- 평가 지표: MAE, MSE, R² 💯
- 모델 성능 시각화:
- 실제 값 vs 예측 값 산점도 🧮
- 성능 지표 막대 그래프 (MSE, MAE, R²) 📊
4. 📚 추가 학습 내용 및 결과
- 성능 비교: 모델별 실제값-예측값 비교, 시각적 분석 🧐
- 이상치 처리 중요성: 훈련 데이터에만 적용 (테스트 데이터는 모델 학습 X) 🛡️
- 데이터 시각화 중요성: 데이터 특성 이해, 전처리 방향 결정 👁️
- 성능 지표 해석:
- MAE: 평균 오차 크기 (작을수록 좋음) 📉
- MSE: 오차 제곱 평균 (작을수록 좋음) 📉
- R²: 모델 설명력 (1에 가까울수록 좋음) 📈
5. 📝 피드백 및 추가 학습 계획
- 피드백:
- 이상치 처리: 다양한 방법 탐색 (z-score, RobustScaler) 🔎
- 특징 선택: EDA, feature importance 활용 🎯
- 모델 성능 개선: 하이퍼파라미터 튜닝, 교차 검증 ⚙️
- 결과 분석: 예측 실패 원인 분석 🧐
- 추가 학습 계획:
- 다양한 회귀 모델 학습 (SVM, Gradient Boosting) 📚
- 모델 튜닝 및 검증 (하이퍼파라미터, 교차 검증) ⚙️
- 피처 엔지니어링 (변수 조합, 변환) ✨
- 모델 해석력 (강점, 약점 분석) 🧐
✨ 느낀점
- 통계 지표, 시각화, 모델링 통합 학습 💪
- 다양한 전처리 방법 적용 및 결과 변화 관찰 👀
- 회귀 모델 평가 시 다양한 지표 고려 중요성 인지 🤔
- 모델 선택 이유 명확히 해야 함을 인지 💯
'Python > Machine Learning' 카테고리의 다른 글
| 챕터 2 과제정리 2 (3) | 2024.12.31 |
|---|---|
| K-Fold 와 Stratified K-Fold 교차검증 (1) | 2024.12.30 |
| [TIL] 머신러닝 파이프 라인 개념 (1) | 2024.12.24 |
| [TIL] 데이터 전처리 인코딩, 스케일링 (1) | 2024.12.23 |
| 탐색적 데이터 분석(EDA) (4) | 2024.12.19 |