본문 바로가기
Post 빅데이터분석

[빅데이터] 8. 데이터 전처리 & 텍스트 전처리

by IT포스트잇 2024. 9. 23.

<전처리가 중요한 이유>

데이터 전처리와 텍스트 전처리는 분석의 정확성과 효율성을 높이는 필수 단계로서
데이터를 정제하고 결측값, 이상값을 처리하지 않으면 분석 결과의 신뢰도가 크게 떨어지는 결과를 낳는다.

텍스트 전처리는 자연어 처리에서 텍스트의 의미를 잘 파악하게 도와주며,
핵심 정보를 정확하게 추출하는 데 중요한 작업이다.
적절한 전처리 과정을 거치면 데이터의 품질이 향상되어 분석의 속도 또한 빨라진다.



<< 데이터 전처리 >>

  • 정의: 데이터를 분석에 적합한 형태로 만드는 과정.
  • 특징:
    • 전처리 결과는 분석에 직접적인 영향을 미치므로 반복적으로 수행해야 함.
    • 이상 데이터(이상값, 결측값, 노이즈 등)는 제거 및 처리 필요.
    • 전처리 단계: 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석 변수 처리.



[ 데이터 정제 ]

  • 정의: 결측값을 채우거나 이상값을 제거하여 데이터의 신뢰도를 높이는 작업.
  • 정제 절차:
    1. 오류 원인 분석: 데이터 오류의 원인을 파악.
      • 결측값: 필수 데이터 누락(중심 경향값 또는 분포 기반 처리).
      • 노이즈: 입력 오류나 잘못된 데이터(평균값 대체).
      • 이상값: 데이터 범위에서 많이 벗어난 값(하한값/상한값 대체).
    2. 정제 대상 선정: 모든 데이터가 대상이 될 수 있으며, 특히 비정형 데이터는 중요. 중복 데이터는 의미가 있을 수 있으므로 무조건 제거하지 않음.
    3. 정제 방법 결정: 정제 규칙을 이용해 위반되는 데이터를 점검. 삭제, 대체, 예측값 삽입, 축소, 통합 등의 방법을 사용.
  • 데이터 일관성 유지를 위한 정제 기법:
    • 변환: 데이터를 표준화(예: 남/여 → M/F, YYYYMMDD → YY/MM/DD).
    • 파싱: 데이터를 최소 단위로 분할(예: 주민번호 → 생년월일, 성별).
    • 보강: 추가 정보를 반영(예: 성별에 따른 추가 정보 반영).



[ 데이터 세분화 ]

  • 정의: 데이터를 기준에 따라 나누고, 유사한 데이터를 그룹화하는 작업.
  • 방법:
    • 계층적 방법: 군집 수를 미리 정하지 않고 단계적으로 군집을 형성.
      • 응집분석법: 유사한 소집단을 단계적으로 합치는 방법.
      • 분할분석법: 전체 집단을 시작으로 유사성이 떨어지는 객체를 분리하는 방법.
    • 비계층적 방법: 소집단 개수를 미리 정한 후 배정.
      • 인공신경망 모델: 통계적 학습 모델을 이용.
      • K-평균 군집: 소집단 중심 좌표와 각 객체 간의 거리를 산출해 군집화.



[ 데이터 결측값 처리 ]

  • 정의: 결측값은 입력이 누락된 값으로, NA, 99999, Null 등으로 표현됨.

결측값 종류

  1. 완전 무작위 결측 (MCAR): X와 Y가 무관한 경우 발생. (예: 응답자와 무응답자 간 차이 없이 결측 발생)
  2. 무작위 결측 (MAR): 특정 변수와 관련되어 결측 발생. (예: 남성이 우울증 조사에 기재할 확률이 낮은 경우)
  3. 비무작위 결측 (MNAR): 결측 자체에 이유가 있는 경우. (예: 고소득자가 소득에 관한 응답을 기피하는 경우)

결측값 처리 방법

  1. 단순 대치법: 결측값을 대체할 값으로 처리.
    • 완전 분석법: 불완전한 자료는 무시하고 완전한 자료만 사용.
    • 평균 대치법: 자료의 평균값으로 결측값을 대체.
    • 단순확률 대치법: 적절한 확률값을 부여해 결측값 대체.
    • 회귀 대치법: 결측값을 포함한 변수와 다른 독립변수로 회귀 분석하여 대체.
  2. 다중 대치법: 단순 대치법을 m번 반복해 가상 자료를 생성 후 분석.
    • 대치 단계: m개의 대치 데이터 세트를 생성.
    • 분석 단계: 생성된 데이터 세트를 분석해 추정값과 표준 오차 계산.
    • 결합 단계: 추정값과 표준 오차를 결합해 최종 결측값 생성.



[ 데이터 이상값 처리 ]

  • 정의: 관측된 데이터 범위에서 벗어난 값으로, 입력 오류나 처리 오류로 인해 발생하며, 평균에 영향을 미침.

데이터 이상값 발생 원인

  • 표본추출 오류: 샘플링 과정에서 오류 발생
      (예: 특정 지역의 병원을 대상으로 전 국민의 건강 상태를 추정.)
  • 고의적인 이상값: 자기 보고식 측정에서 의도적인 잘못된 입력 
      (예: 설문 조사에서 체중을 묻는 질문에 일부 응답자가 자신의 체중을 과소 기입.)

  • 입력 오류: 데이터 입력 실수
      (예: 500원을 입력해야 하는데 5000원을 입력.)

  • 실험 오류: 실험 조건이 동일하지 않은 경우
      (예: 두 그룹의 반응 시간을 측정할 때 한 그룹에게는 실험 시작 신호를 제공하지 않음.)

  • 측정 오류: 측정 장비의 문제
      (예: 비정상적으로 낮은 온도를 기록하는 고장난 온도계 사용.)

  • 처리 오류: 데이터 추출 또는 조합 과정에서 발생한 오류
      (예: 여러 파일에서 데이터를 합치는 과정에서 일부 행이 누락됨.)

  • 자연 오류: 인위적인 이유 없이 자연스럽게 발생한 오류
      (예: 자연재해로 인해 일부 센서 데이터가 이상치를 기록.)

이상값 처리 방법

  • 검출 방법: 통계기법, 시각화, 군집/분류 기법을 활용해 검출.
  • 처리 방법:
    • 삭제: 이상값을 제외하고 분석.
    • 대체법: 하한값/상한값으로 대체.
    • 변환: 자연 로그를 취해 값을 줄여 처리.



[ 텍스트 전처리 ]

주요 전처리 기법

  1. 토큰화: 문장을 최소 의미 단위로 나누는 작업.
    (예: "I love data" → ["I", "love", "data"].)

  2. 품사 태깅: 각 형태소에 품사를 부여하는 기법.
    (예: "I ate quickly" → [인칭대명사, 동사 과거형, 부사].)

  3. 표제어 추출: 단어들의 기본형을 추출.
    (예: am, are, is → be.)

  4. 어간 추출: 접사를 제거하여 어간을 추출하는 기법.
    (예: 먹다, 먹었다, 먹는 → 먹.)

  5. 불용어 처리: 의미가 없는 조사나 접미사를 제거하는 작업.
    (예: "그는 학교에 갔다" → ["그", "학교", "갔다"].)