[ML 기초]
1. 데이터 수집: (챕터 1-1)
- 어디서 가져오나? 회사 안에 이미 데이터 마트나 웨어하우스가 있다면 SQL이나 Python으로 추출
- 외부 수집 기술: 직접 CSV/Excel을 다운받거나, 공공데이터포털 같은 곳에서 API를 호출하거나, 최후의 수단으로 웹 페이지를 긁어오는 크롤링을 활용.
- 꿀팁: 데이터 분석가는 이미 쌓인 데이터를 잘 요리하는 역할이 큼.
2. EDA(탐색적 분석):(챕터 1-2, 1-3).
- Boxplot: 데이터의 '사분위수'를 보여주는데, 이상치를 한눈에 보여줌.
- Histogram: 데이터가 어디에 바글바글 모여있는지(분포) 확인하기 좋음.
- Scatter Plot: 두 변수가 서로 친한지(상관관계) 점을 찍어봄.
- 실습 핵심: tips.describe(include='all') 한 줄이면 수치형뿐만 아니라 범주형 데이터의 특징까지 싹 훑을 수 있다
3. 이상치(Outlier): (챕터 1-4)
평균을 갉아먹는 '튀는 값'들을 처리하는 법.
- ESD(Extreme Studentized Deviation): 평균에서 표준편차의 3배 이상 떨어진 값을 범인으로 간주
- IQR(Inter Quantile Range): 상자 그림(Boxplot)의 원리를 이용
- 해결법: 무조건 지우기보다는 로그 변환을 통해 진정시키거나 다른 값으로 바꿀 수도 있다.
4. 결측치(Missing Value): (챕터 1-5)
데이터에 구멍(NaN)이 있으면 모델이 학습을 거부.
- 수치형: 보통 평균(Mean)으로 채우지만, 이상치가 너무 많을 땐 중앙값(Median)이 더 정확
- 범주형: 가장 많이 등장하는 최빈값(Mode)으로 채움.
- 도구: 파이썬의 fillna()나 SimpleImputer를 쓰면 마법처럼 구멍이 메워짐.
5. 인코딩(Encoding): (챕터 1-6)
컴퓨터는 '빨강', '1등급' 같은 말을 못 알아듣는다. 오직 0과 1뿐!
- 레이블 인코딩(Label Encoding): 글자를 숫자(0, 1, 2...)로 바꿈. 간단하지만, 모델이 2가 0보다 크니까 더 중요하네라고 착각할 수 있다는 게 치명적 단점!
- 원-핫 인코딩(One-Hot Encoding): 각 범주를 새로운 컬럼으로 만들고 해당되면 1, 아니면 0을 줌. 모델이 헷갈릴 일이 없어서 가장 많이 쓰임.
- 실습 도구: LabelEncoder와 OneHotEncoder를 활용해 데이터를 변신.
[머신러닝 기초 실시간 세션]
1. 데이터 수집 (Chapter 1-1)
- 데이터 소스 파악: 회사 내부에 OLTP DB나 로그 데이터가 있는지 먼저 확인함.
- 수집 경로:
- 내부 데이터: SQL이나 Python을 써서 데이터 마트에서 직접 추출함.
- 외부 데이터: API를 호출하거나 웹 크롤링(Crawling)을 통해 데이터를 생성함. CSV/Excel 파일 다운로드도 흔한 방법임.
- 구조: 데이터 레이크(Raw) -> 데이터 웨어하우스(정제) -> 데이터 마트(목적별 가공) 순으로 흐름.
2. EDA(탐색적 데이터 분석) (Chapter 1-2, 1-3)
- 기술통계: tips.describe(include='all')로 전체적인 수치와 범주형 데이터 분포를 한눈에 파악함.
- 시각화 (Seaborn 활용):
- Boxplot: 사분위수를 통해 데이터 분포를 보고, 특히 이상치를 잡아내는 데 최고임.
- Histogram: 연속형 데이터가 어느 구간에 집중되어 있는지 빈도를 확인함.
- Scatter Plot: 두 수치형 변수 사이의 상관관계를 점으로 찍어서 확인 함.
3. 이상치(Outlier) (Chapter 1-4)
범위에서 심하게 벗어난 값은 모델 학습을 방해함.
- ESD 방식: 평균에서 표준편차 3배 이상 떨어진 값을 찾음. (정규분포일 때 유용함)
- IQR 방식: Q1(25%)과 Q3(75%) 사이 거리인 IQR을 기준으로 범위를 정함. 박스플롯의 수염 바깥쪽 값들을 이상치로 봄.
- 처리 팁: 무조건 지우기보다 데이터가 비대칭이면 Log 변환 등을 통해 완화하기도 함.
4. 결측치(Missing Value) (Chapter 1-5)
데이터가 비어 있으면(NaN) 모델이 돌아가지 않음.
- 수치형 대치:
- 평균(Mean): 가장 일반적이지만 이상치에 취약함.
- 중앙값(Median): 이상치가 많을 때 더 대표성이 있음. (예: 특정 고소득자가 평균 연봉을 확 올리는 경우 중앙값이 유리함)
- 범주형 대치: 가장 자주 등장하는 최빈값(Mode)을 넣어줌.
- 실행: fillna() 함수나 SimpleImputer 알고리즘을 사용해 깔끔하게 메움.
5. 인코딩(Encoding) (Chapter 1-6)
컴퓨터는 숫자로만 대화함. '글자'를 '숫자'로 바꾸는 과정임.
- 레이블 인코딩(Label Encoding): 범주를 0, 1, 2 등 숫자로 바꿈. 순서가 있는 데이터에 적합하지만, 모델이 숫자의 크기를 중요도로 오해할 위험이 있음.
- 원-핫 인코딩(One-Hot Encoding): 각 항목을 컬럼으로 만들고 해당하면 1, 아니면 0을 줌. 모델이 오해할 틈이 없어서 실무에서 가장 선호함.
- 메소드: fit으로 학습하고 transform으로 변환함. 한 번에 하려면 fit_transform을 씀.
'내일배움캠프(QA,QC_5기)' 카테고리의 다른 글
| [내일배움캠프] QA/QC_5기 ( 33일차 ) (0) | 2026.04.22 |
|---|---|
| [내일배움캠프] QA/QC_5기 ( 32일차 ) (0) | 2026.04.21 |
| [내일배움캠프] QA/QC_5기 ( 30일차 ) (0) | 2026.04.17 |
| [내일배움캠프] QA/QC_5기 ( 29일차 ) (0) | 2026.04.16 |
| [내일배움캠프] QA/QC_5기 ( 28일차 ) (0) | 2026.04.15 |