[비정제 데이터] Data Cleaning w.titanic

jul ee·2025년 4월 14일

데이터 성장기

목록 보기
40/139

📋 Titanic 데이터 정제 실습 (Data Cleaning)

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

Titanic 생존자 데이터를 기반으로 이를 활용하여 결측치, 이상치, 중복값, 텍스트 데이터 등 다양한 전처리 과정을 정리한 기록이다.

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

🛠️  사용 환경: Python, Pandas, Jupyter Notebook


학습 목표

✓  데이터 분석 전 필수 단계인 데이터 정제 흐름을 이해하고 실습

✓  실제 데이터셋을 기반으로 결측치, 이상치, 중복값 처리, 텍스트 및 날짜/시간 데이터 처리 방법 등을 습득

✓  Pandas 메서드에 익숙해지며 분석 전 데이터의 상태를 점검하고 정비하는 습관을 기르기 위함


분석 프로세스

단계내용사용 메서드
1데이터 구조 확인read_csv(), info(), describe()
2불필요한 컬럼 제거drop()
3결측치 처리dropna(), fillna(), median()
4이상치 탐지 및 처리apply(lambda x: 80 if x > 80 else x)
5중복값 처리duplicated(), drop_duplicates()
6데이터 형태 변환rename(), replace(), map(), apply()
7텍스트 및 날짜/시간 처리pd.to_numeric(), pd.to_datetime(), .str, .dt


💡 인사이트 및 결론

결측치는 단순히 제거하는 것보다, 데이터의 특성에 맞춰 채우는 것이 더 합리적인 방법일 수 있다.
→  예를 들어, Age는 평균보다 중앙값(median)으로 대체하는 것이 이상치 영향을 줄일 수 있었다.

결측치가 일정 이상(50~70%) 포함된 컬럼은 분석 대상에서 제거하는 것도 좋은 선택지임을 확인했다.

문자열 처리 시에는 반드시 .str 접근자를 통해 메서드를 호출해야 Pandas Series에서 작동한다는 것을 알게 되었다.

이상치가 포함되면 모델이 편향될 수 있고, 학습 결과가 왜곡될 수 있다는 것을 다시 한 번 체감했다.
→  이상치 처리 여부는 단순 기준으로 자르기보다, 모델 복잡도와 실제 목적에 따라 판단하는 것이 중요하다.

정제된 데이터를 기반으로 분석을 시작하면, 데이터에 대한 신뢰도와 정확성이 훨씬 높아진다는 걸 느꼈다.


해당 실습을 통해 데이터 정제 단계에서 생각보다 많은 판단과 작업이 필요하다는 것을 배웠다.

앞으로는 단순히 .dropna()로 처리하지 않고, 각 변수에 맞는 전략을 세우는 습관을 들이는 것이 필요하겠다.

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

0개의 댓글