Notice
Recent Posts
Recent Comments
Link
반응형
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

firstStep

[ADsP - 데이터 분석] 결측치·이상치 탐지 & 처리, 스케일링, 피처엔지니어링 본문

ADsP

[ADsP - 데이터 분석] 결측치·이상치 탐지 & 처리, 스케일링, 피처엔지니어링

자격증원톱 2025. 5. 18. 09:00
반응형

3-2 데이터 전처리
결측치·이상치 처리부터 피처엔지니어링까지, 데이터 전처리 핵심 가이드

여러분, 혹시 이런 경험 있으신가요? 분석할 데이터를 받아서 딱 열어봤는데, 셀에 아무 값도 없거나, 갑자기 말도 안 되는 숫자들이 튀어나오는 경우요. 😨 그냥 넘어가면 안 될 것 같은데, 어디서부터 손대야 할지도 모르겠고… 이거, 다들 한 번쯤은 겪어봤을 거예요. 데이터 분석이라는 건 깨끗한 데이터에서 시작돼요. 아무리 좋은 알고리즘을 써도, 데이터가 엉망이면 결과는 믿을 수 없거든요. 그래서 우리는 분석 전에 반드시 ‘전처리’라는 과정을 거치게 됩니다. 이 글에서는 ADsP 시험에서 자주 등장하는 전처리 주제, 특히 결측치 탐지 및 처리, 이상치 제거, 스케일링, 피처 엔지니어링까지 핵심 내용을 전부 정리해볼게요. 그리고 각 항목에는 [모의고사 포함]되어 있어서 복습도 바로바로 가능하답니다. 😎 이 글 하나면, ADsP 시험 준비는 물론 실무에서 엑셀이나 R을 다룰 때도 큰 도움이 될 거예요. 자, 그럼 시작해볼까요?

1. 결측치 탐지 및 처리 방법 [모의고사 포함]

데이터 분석을 하다 보면, 빈칸(NA, NULL 등)을 마주치는 일이 많습니다. 이게 바로 결측치예요. 결측치는 데이터 수집 과정에서 빠졌거나, 설문 응답이 누락되었거나, 시스템 오류 등으로 인해 생기는데요, 이를 무시하고 분석을 진행하면 결과가 왜곡될 수 있어요. 😰

결측치 탐지 방법

  • is.na() 함수 (R): 각 값이 NA인지 TRUE/FALSE로 반환
  • sum(is.na(df)): 전체 데이터프레임에서 결측치 총 개수 확인
  • summary() 함수로 NA가 포함된 열 확인

결측치 처리 방법

  1. 삭제: 데이터가 많고 결측치가 적을 때는 삭제도 괜찮아요 (na.omit())
  2. 평균/중앙값/최빈값 대체: 수치형 데이터에서 대표값으로 채우기
  3. 예측 모델 기반 대체: 다른 변수들을 이용해 회귀모델 등으로 예측
  4. 도메인 지식 기반 대체: 전문가 판단으로 입력

TIP💡: 결측치를 무조건 제거하거나 평균으로 대체하는 것보다, 데이터의 성격과 분포를 먼저 파악한 뒤 적절한 방법을 선택해야 해요.

결측치 관련 모의고사 문제 (5문항)

  1. 결측치를 탐지하기 위해 사용하는 R 함수는?
    A. is.na()  B. complete.cases()  C. na.exclude()  D. filter()
    정답: A
    → is.na()는 각 원소가 NA인지 논리값으로 반환해줍니다.
  2. 다음 중 결측치 대체 방법이 아닌 것은?
    A. 중앙값 대체 B. 회귀 예측 C. 무작위 채우기 D. 결측값 제거
    정답: C
    → 무작위 채우기는 일반적인 대체 방법이 아닙니다.
  3. na.omit() 함수는 어떤 역할을 하나요?
    A. NA를 모두 TRUE로 변환 B. NA가 포함된 행 제거 C. NA를 0으로 대체 D. NA만 필터링
    정답: B
    → na.omit()은 결측치가 포함된 행을 삭제합니다.
  4. 다음 중 예측 모델 기반 대체의 장점으로 가장 적절한 것은?
    A. 계산이 빠르다 B. 정밀도가 낮다 C. 변수 간 관계를 고려할 수 있다 D. 무작위성 감소
    정답: C
    → 모델 기반 대체는 변수 간 상관관계를 활용할 수 있어 정확도가 높습니다.
  5. 결측치가 많은 변수는 어떻게 처리하는 것이 좋을까?
    A. 분석에서 제외할 수도 있다 B. 항상 평균으로 채운다 C. 무시해도 상관없다 D. 모든 값을 NA로 바꾼다
    정답: A
    → 분석 목적에 따라 제외하는 것도 전략 중 하나입니다.

결측치 처리는 ADsP 시험에서도 자주 출제되는 항목이에요. 결측치 처리, NA 탐지, na.omit 함수 같은 키워드 꼭 기억해두세요!

2. 이상치 탐지 및 처리 기법 [모의고사 포함]

분석을 하다 보면 어딘가 ‘튀는’ 값들을 만날 때가 있어요. 예를 들어, 다른 사람들의 키는 다 150~190cm인데 갑자기 300cm가 있다면요? 이런 값들을 이상치(Outlier)라고 해요. 그냥 보기만 해도 “뭔가 이상한데…” 싶은 값들이죠. 😅 이상치는 단순 실수일 수도 있고, 아주 특별한 상황일 수도 있어요. 그래서 무조건 제거하기보다, 왜 그런 값이 나왔는지 먼저 살펴보고 처리해야 해요.

이상치 탐지 방법

  • IQR 방법: 1사분위(Q1), 3사분위(Q3) 이용 → 범위 밖의 값은 이상치로 간주
  • Z-Score: 평균에서 얼마나 떨어졌는지 → |z| > 3이면 이상치
  • 박스플롯: 시각적으로 이상치 확인 가능

이상치 처리 방법

  1. 삭제: 분석에 방해되는 이상치는 제거 (ex. 입력 오류)
  2. 값 대체: 평균/중앙값 등으로 대체
  3. 로그 변환: 극단값을 완화할 수 있음
  4. 별도 분류: 이상값을 따로 그룹화해 분석할 수도 있음

※ 이상치를 ‘무조건 제거’하기보단, 데이터의 의미와 목적에 따라 처리 전략을 다르게 세워야 해요!

이상치 탐지 관련 모의고사 문제 (5문항)

  1. IQR 방법에서 이상치 기준은?
    A. Q1 ± 1.5×IQR  B. Q2 ± 2×IQR  C. Q3 ± 3×IQR  D. 평균 ± 표준편차
    정답: A
    → Q1-1.5×IQR 미만 또는 Q3+1.5×IQR 초과는 이상치로 봅니다.
  2. Z-Score 기준 이상치는 보통 몇 이상인가요?
    A. |z| > 1 B. |z| > 2 C. |z| > 3 D. |z| > 5
    정답: C
    → 일반적으로 |z| > 3이면 이상치로 간주합니다.
  3. 이상치를 시각화하는 대표적인 그래프는?
    A. 히스토그램 B. 산점도 C. 박스플롯 D. 파이차트
    정답: C
    → 박스플롯은 이상치를 점으로 나타내 주는 시각화 도구입니다.
  4. 로그 변환의 효과는?
    A. 이상치를 제거한다 B. 이상치를 강화한다 C. 이상치를 완화한다 D. 값을 복원한다
    정답: C
    → 로그 변환은 극단값을 완화해 데이터 분포를 안정시킵니다.
  5. 이상치 처리 시 중요한 고려 사항은?
    A. 수치 간단화 B. 제거 속도 C. 의미 있는 데이터 여부 D. 메모리 효율성
    정답: C
    → 이상치가 분석에 어떤 의미를 가지는지 먼저 고려해야 합니다.

이상치 처리에 대한 감각은 데이터 분포를 자주 시각화하면서 익힐 수 있어요. 꼭 기억하세요: IQR, Z-Score, 박스플롯은 ADsP 단골 문제예요! ✍️

3. 데이터 스케일링의 필요성과 방법 [모의고사 포함]

숫자 크기가 너무 다르면, 분석 모델이 그 차이에 지나치게 민감해질 수 있어요. 예를 들어, ‘나이’는 0~100 사이고, ‘연봉’은 수천만 단위라면, 두 변수의 중요도가 왜곡될 수 있죠. 이럴 때 꼭 필요한 게 바로 데이터 스케일링이에요. 📏

스케일링이란 변수들의 크기 단위를 통일시켜주는 작업이에요. 그래야 분석이나 머신러닝에서 정확한 결과를 낼 수 있거든요. 특히 거리 기반 알고리즘(KNN, SVM 등)은 스케일에 매우 민감합니다.

주요 스케일링 기법

  • 정규화 (Normalization): 0과 1 사이로 변환 (Min-Max Scaling)
  • 표준화 (Standardization): 평균 0, 표준편차 1로 변환 (Z-Score Scaling)
  • 로버스트 스케일링: 중위수(IQR)를 기준으로 이상치에 덜 민감하게 스케일링

📌 TIP: 정규화는 범위가 정해진 데이터에 적합하고, 표준화는 정규분포에 가까운 데이터에 적합해요!

스케일링 관련 모의고사 문제 (5문항)

  1. Min-Max 정규화의 결과 범위는?
    A. 0~1 B. -1~1 C. 평균 0 D. 표준편차 1
    정답: A
    → Min-Max 정규화는 최소값을 0, 최대값을 1로 맞춰줍니다.
  2. 표준화는 어떤 통계값을 기준으로 계산하나요?
    A. 중앙값, IQR B. 평균, 표준편차 C. 최댓값, 최솟값 D. 범위, 평균
    정답: B
    → 표준화는 (값 - 평균)/표준편차 로 계산됩니다.
  3. 로버스트 스케일링은 어떤 데이터에 적합한가요?
    A. 정규분포 데이터 B. 결측치 많은 데이터 C. 이상치 많은 데이터 D. 정수형 데이터
    정답: C
    → 로버스트 스케일링은 이상치에 덜 민감하게 변환합니다.
  4. 거리 기반 알고리즘에서 스케일링이 중요한 이유는?
    A. 속도를 빠르게 하기 위해 B. 거리 계산에 영향을 주기 때문에 C. 변수 제거를 위해 D. 메모리 절약을 위해
    정답: B
    → 스케일이 다르면 거리 계산 결과가 왜곡돼요!
  5. 다음 중 스케일링이 필요하지 않은 경우는?
    A. KNN B. 회귀분석 C. 의사결정나무 D. PCA
    정답: C
    → 트리 계열 모델은 스케일링 영향을 받지 않습니다.

데이터 정규화, 표준화, 로버스트 스케일링은 헷갈리기 쉬운 개념이에요. 꼭 구분해서 정리하고, 모델과 데이터의 특성에 맞게 선택하세요! 💡

4. 피처 엔지니어링 기본 개념과 사례 [모의고사 포함]

분석에서 ‘좋은 모델’을 만드는 데 중요한 건 뭘까요? 바로 좋은 데이터, 특히 좋은 피처(Feature)입니다. 기계학습이건 통계분석이건, 알고리즘보다 더 중요한 게 ‘입력변수’예요. 그래서 등장한 개념이 바로 피처 엔지니어링입니다. 🛠️

피처 엔지니어링이란 기존 데이터를 가공해서 분석에 적합한 새로운 변수를 만들어내는 작업이에요. 사실 이 과정이야말로 분석가의 노하우와 인사이트가 가장 많이 드러나는 부분이기도 해요!

피처 엔지니어링 주요 기법

  • 파생변수 생성: 날짜에서 '요일', 금액에서 '할인율' 등 새로운 정보 만들기
  • 이산화(Binning): 연속형 변수를 구간별로 나눠 범주형 변수로 변환
  • 더미 변수화: 범주형 변수를 0/1로 바꾸는 One-hot Encoding
  • 스케일 변환: 로그, 루트, 지수 등 함수 적용으로 분포 변경

피처 엔지니어링 실전 예시

예를 들어, ‘주문일’이라는 변수가 있다면 다음처럼 확장할 수 있어요:

  • 요일 파생: 평일/주말 여부 분석
  • 월별 파생: 계절, 이벤트 효과 분석

💡 데이터는 가공할수록 빛이 나요. 피처 엔지니어링은 데이터에 ‘의미’를 입히는 과정이에요!

피처 엔지니어링 모의고사 문제 (5문항)

  1. 피처 엔지니어링의 주된 목적은?
    A. 분석 속도 향상 B. 데이터 정렬 C. 분석 성능 향상 D. 모델 삭제
    정답: C
    → 좋은 피처는 모델 성능을 끌어올리는 핵심입니다!
  2. One-hot Encoding은 어떤 데이터에 적용되나요?
    A. 연속형 변수 B. 결측치 C. 범주형 변수 D. 시간 데이터
    정답: C
    → 범주형을 0/1로 나눠서 분석하기 쉽게 만듭니다.
  3. 이산화(Binning)는 어떤 경우 유리한가요?
    A. 범주 수 줄이기 B. 이상치 제거 C. 데이터 병합 D. 변수 제거
    정답: A
    → 이산화는 연속값을 구간별로 나눠 단순화시킵니다.
  4. 로그 변환의 효과는?
    A. 변수 제거 B. 변수 분리 C. 분포를 정규화함 D. 변수 병합
    정답: C
    → 로그 변환은 비대칭 분포를 정규분포에 가깝게 만듭니다.
  5. 피처 엔지니어링 결과가 부정적일 수 있는 경우는?
    A. 너무 많은 파생변수 생성 B. 스케일링 오류 C. 결측치 증가 D. 분석 시간 단축
    정답: A
    → 너무 많은 피처는 오히려 과적합 위험을 높입니다.

피처 엔지니어링은 데이터 분석의 ‘숨은 실력’을 보여주는 기술이에요. 시험에서도 자주 등장하니 One-hot Encoding, 이산화, 로그 변환 꼭 기억하세요!

5. 전처리를 위한 도구: 엑셀, R, Python 비교 [모의고사 포함]

데이터 전처리는 어떤 도구로 하느냐에 따라 방식이 꽤 달라집니다. 가장 많이 쓰이는 도구는 엑셀, R, Python인데요, 각각의 특징과 장단점을 알면 더 똑똑하게 선택할 수 있어요. 🙌 ADsP 시험에서도 전처리 도구 비교 문제는 자주 등장합니다!

엑셀(Excel)

  • 직관적 UI, 마우스 클릭으로 손쉬운 조작
  • 피벗 테이블, 정렬, 필터 등 기본 기능 강력
  • 대용량 데이터 처리 한계 존재 (수십만 행 이상)

R

  • 통계분석 특화 언어, 전처리용 패키지 풍부 (e.g. dplyr, tidyr)
  • 데이터프레임 처리에 최적화
  • 시각화 기능도 우수 (ggplot2)

Python

  • 범용 프로그래밍 언어, 데이터 분석/AI까지 확장 가능
  • pandas, numpy, sklearn 등 라이브러리 다양
  • 대용량 데이터 처리에 강함

전처리 도구 비교 모의고사 (5문항)

  1. 엑셀의 단점으로 적절한 것은?
    A. 데이터 시각화 미지원 B. 대용량 처리 한계 C. 통계 분석 불가능 D. 오픈소스 아님
    정답: B
    → 수십만 행 이상의 데이터에는 성능 저하가 발생할 수 있어요.
  2. R에서 전처리 대표 패키지는?
    A. pandas B. ggplot2 C. dplyr D. seaborn
    정답: C
    → dplyr은 R에서 전처리의 핵심 패키지입니다.
  3. Python의 장점으로 올바른 것은?
    A. GUI 기반 분석에 특화됨 B. 대용량 처리 미약함 C. AI 활용 범위 넓음 D. 통계 전용 언어
    정답: C
    → Python은 AI, 머신러닝, 웹까지 폭넓게 사용됩니다.
  4. 다음 중 범주형 데이터를 쉽게 처리할 수 있는 도구는?
    A. pandas B. Excel C. R D. 모두 가능
    정답: D
    → 범주형 데이터는 어떤 도구에서도 처리할 수 있어요.
  5. 다음 중 R에 해당하지 않는 라이브러리는?
    A. tidyr B. dplyr C. pandas D. ggplot2
    정답: C
    → pandas는 Python 라이브러리입니다.

전처리 도구는 목적과 데이터 규모에 따라 선택해야 해요. 시험에서는 엑셀 특징, R 전처리 패키지, Python 확장성 등을 중심으로 비교하세요!

6. 전처리 종합 정리 & 실전 퀴즈 [모의고사 포함]

지금까지 우리는 데이터 전처리의 핵심 주제들을 하나씩 정리해봤어요. 결측치, 이상치, 스케일링, 피처 엔지니어링, 도구 비교까지! 이제 머릿속에 하나의 그림이 그려지셨을 거예요. 😊 이 파트에서는 전체 내용을 한눈에 정리하고, 마무리로 실전형 모의고사를 통해 실력을 점검해볼 거예요.

핵심 요약 정리

  • 결측치 처리: 삭제, 평균 대체, 예측모델 활용 등 데이터 유형에 맞게 처리
  • 이상치 탐지: IQR, Z-score, 박스플롯 등 다양한 방법 활용
  • 스케일링: 정규화, 표준화, 로버스트 변환 → 거리기반 모델에 필수
  • 피처 엔지니어링: 파생변수, 이산화, 더미변수화 등으로 데이터의 의미 극대화
  • 도구 비교: Excel(간편), R(통계 특화), Python(확장성) → 상황에 맞게 선택

실전 종합 모의고사 (5문항)

  1. 결측치가 존재할 때 가장 먼저 해야 할 작업은?
    A. 평균으로 대체 B. 분석에서 제외 C. 분포와 패턴 파악 D. 모두 삭제
    정답: C
    → 결측치는 먼저 ‘왜 발생했는지’ 분석하고 나서 처리해야 합니다.
  2. 다음 중 이상치 탐지 방법이 아닌 것은?
    A. Z-Score B. IQR C. One-hot Encoding D. Boxplot
    정답: C
    → One-hot Encoding은 범주형 변수 처리 방법이지, 이상치 탐지와는 관련 없습니다.
  3. 표준화는 어떤 상황에서 주로 사용되나요?
    A. 범주형 처리 시 B. 트리 기반 모델에서 C. 정규분포 가정 모델에서 D. 데이터 병합 시
    정답: C
    → 표준화는 평균 0, 표준편차 1을 기준으로 하는 분석에 사용됩니다.
  4. 다음 중 피처 엔지니어링에 해당하는 것은?
    A. 데이터 삭제 B. 피벗 테이블 생성 C. 로그 변환 D. 패키지 설치
    정답: C
    → 로그 변환은 변수 가공의 일환으로 피처 엔지니어링에 포함됩니다.
  5. 다음 중 Python 전처리에 해당하는 패키지는?
    A. tidyr B. dplyr C. pandas D. tableau
    정답: C
    → pandas는 Python에서 데이터 전처리를 위한 대표적인 라이브러리입니다.

전처리는 단순히 데이터를 ‘정리’하는 단계가 아니라, 분석 결과의 정확도를 결정하는 가장 핵심 단계입니다. 이번 단원을 잘 정리하고, 실전 문제도 반복 학습하면 ADsP 시험에서도 분명 좋은 결과를 얻을 수 있을 거예요!

반응형