[비정제 데이터] Data Transformation w.salary

jul ee·2025년 4월 15일

데이터 성장기

목록 보기
48/139

📋 Salary 데이터 변환 실습 (Data Transformation)

모두의 연구소 교육 과정에서 학습한 Data Transformation 실습 내용을 바탕으로,

데이터 병합, 결측치 및 이상치 처리, 집계와 피벗 테이블 활용, 로그 변환 및 원-핫 인코딩, 스케일링, PCA 를 통해 다양한 독립 변수를 활용해 연봉을 예측할 수 있는 모델을 만들기 위한 데이터를 정제하는 과정을 정리한 기록이다.

자세한 학습 진행 과정은 GitHub repository에 남겨두었다.

🛠️ 사용 환경:  Python, Pandas, Numpy, Scikit-learn, Jupyter Notebook


학습 목표

✓  서로 다른 CSV 데이터를 병합하고, 집계 및 변환 과정 실습

✓  범주형 변수 인코딩, 로그 변환, 스케일링 등 머신러닝 전처리 핵심 기법 습득

✓  PCA를 통해 고차원 데이터를 시각적으로 이해하는 경험 축적

✓  데이터 구조와 통계적 분포의 차이를 시각화하며 정제된 데이터셋 구축


분석 프로세스

단계내용주요 메서드/기법
1Data merge국가별 연봉 차이에 따른 물가 지수 고려pd.concat(), merge(), join()
2Aggregation & Pivot table경력에 따른 평균 연봉, 지역/성별별 통계 분석groupby(), pivot_table()
3Log로그 변환으로 연봉의 분포를 정규화np.log(), np.exp()
4One Hot Encoding범주형 데이터 (성별, 지역 등) → 숫자형 변수화pd.get_dummies()
5Scaling변수 스케일 통일 → PCA 적용을 위한 사전 처리StandardScaler,RobustScaler, MinMaxScaler
6PCA차원 축소 및 시각화를 통한 구조 이해PCA, seaborn.scatterplot()


##3 💡 인사이트 및 결론

병합 단계에서의 키 관리가 중요하며, 형식이 다른 경우 사전 정리가 필요하다는 것을 알게 되었다.

연봉과 같은 변수는 로그 변환을 통해 정규성에 가까운 분포로 만들 수 있어 모델링에 적합하다.

범주형 변수는 원-핫 인코딩을 통해 머신러닝 모델에서 사용할 수 있는 형식으로 전처리할 수 있다.

→  Gender, Country, Race, Job Title 등의 변수는 pd.get_dummies()로 처리하여 다차원 feature로 변환하였고, 이후 PCA 적용에 필요한 수치형 형태로 변환하였다.

스케일링 없이 PCA를 적용할 경우 특정 변수가 지배적인 비중을 차지해 모델링 결과를 왜곡할 수 있다.


데이터를 모델링에 적합한 형태로 가공할 때, 단순 처리 이상의 명확한 목적 의식과 해석력이 필요하다는 점을 체감할 수 있었다.

앞으로는 스케일링이나 인코딩을 그저 수행하는 데에 그치지 않고, “이 변환이 모델의 어떤 판단에 영향을 줄 수 있을까?” 를 항상 고민하며 전처리 전략을 설계할 수 있도록 훈련해나가야겠다.

profile
AI에 관심을 가지고, 데이터로 가치를 만들어 나가는 과정을 기록합니다.

0개의 댓글