모두의 연구소 교육 과정에서 학습한 Data Transformation 실습 내용을 바탕으로,
데이터 병합, 결측치 및 이상치 처리, 집계와 피벗 테이블 활용, 로그 변환 및 원-핫 인코딩, 스케일링, PCA 를 통해 다양한 독립 변수를 활용해 연봉을 예측할 수 있는 모델을 만들기 위한 데이터를 정제하는 과정을 정리한 기록이다.
자세한 학습 진행 과정은 GitHub repository에 남겨두었다.
🛠️ 사용 환경: Python, Pandas, Numpy, Scikit-learn, Jupyter Notebook
✓ 서로 다른 CSV 데이터를 병합하고, 집계 및 변환 과정 실습
✓ 범주형 변수 인코딩, 로그 변환, 스케일링 등 머신러닝 전처리 핵심 기법 습득
✓ PCA를 통해 고차원 데이터를 시각적으로 이해하는 경험 축적
✓ 데이터 구조와 통계적 분포의 차이를 시각화하며 정제된 데이터셋 구축
| 단계 | 내용 | 주요 메서드/기법 | |
|---|---|---|---|
| 1 | Data merge | 국가별 연봉 차이에 따른 물가 지수 고려 | pd.concat(), merge(), join() |
| 2 | Aggregation & Pivot table | 경력에 따른 평균 연봉, 지역/성별별 통계 분석 | groupby(), pivot_table() |
| 3 | Log | 로그 변환으로 연봉의 분포를 정규화 | np.log(), np.exp() |
| 4 | One Hot Encoding | 범주형 데이터 (성별, 지역 등) → 숫자형 변수화 | pd.get_dummies() |
| 5 | Scaling | 변수 스케일 통일 → PCA 적용을 위한 사전 처리 | StandardScaler,RobustScaler, MinMaxScaler |
| 6 | PCA | 차원 축소 및 시각화를 통한 구조 이해 | PCA, seaborn.scatterplot() |
##3 💡 인사이트 및 결론
병합 단계에서의 키 관리가 중요하며, 형식이 다른 경우 사전 정리가 필요하다는 것을 알게 되었다.
연봉과 같은 변수는 로그 변환을 통해 정규성에 가까운 분포로 만들 수 있어 모델링에 적합하다.
범주형 변수는 원-핫 인코딩을 통해 머신러닝 모델에서 사용할 수 있는 형식으로 전처리할 수 있다.
→ Gender, Country, Race, Job Title 등의 변수는 pd.get_dummies()로 처리하여 다차원 feature로 변환하였고, 이후 PCA 적용에 필요한 수치형 형태로 변환하였다.
스케일링 없이 PCA를 적용할 경우 특정 변수가 지배적인 비중을 차지해 모델링 결과를 왜곡할 수 있다.
데이터를 모델링에 적합한 형태로 가공할 때, 단순 처리 이상의 명확한 목적 의식과 해석력이 필요하다는 점을 체감할 수 있었다.
앞으로는 스케일링이나 인코딩을 그저 수행하는 데에 그치지 않고, “이 변환이 모델의 어떤 판단에 영향을 줄 수 있을까?” 를 항상 고민하며 전처리 전략을 설계할 수 있도록 훈련해나가야겠다.