Skip to main content

데이터 수집과 전처리

데이터란 무엇인가?

  • 관찰, 측정, 실험 등을 통해 수집된 사실이나 값 (Raw Facts & Figures)
    • 예: 이름, 나이, 온도, 판매량, 클릭 기록, 사진, 글
  • 특징:
    • 그 자체로는 의미를 갖기 어려움 (예: 숫자 '30')
    • 맥락(Context)이 부여될 때 비로소 정보(Information)가 됨 (예: '온도 30도', '나이 30세')
    • 지식(Knowledge)과 지혜(Wisdom)의 근간

데이터의 유형

  • 정형 데이터 (Structured Data)
    • 미리 정의된 형식, 고정된 필드에 저장됨. 테이블(행과 열) 구조가 대표적
    • 예: 관계형 데이터베이스의 표, 엑셀 시트
  • 반정형 데이터 (Semi-structured Data)
    • 데이터 내에 스키마(구조) 정보 포함, 정형 데이터처럼 엄격하지 않음
    • 예: JSON, XML, HTML, 웹 로그 파일
  • 비정형 데이터 (Unstructured Data)
    • 정해진 구조나 형식이 없음 (데이터의 약 80% 차지)
    • 예: 텍스트 문서(이메일, 보고서), 이미지, 동영상, 오디오, 소셜 미디어 게시글

데이터 출처

  • 내부 데이터 (Internal Data): 조직 내 활동을 통해 생성 및 관리
    • 예: 판매 시스템(POS), 고객 관계 관리(CRM), 전사적 자원 관리(ERP), 웹사이트/앱 로그, 생산 설비 센서 로그, 내부 문서
  • 외부 데이터 (External Data): 조직 외부에서 획득
    • 공개 데이터 (Open Data): 정부, 공공기관, 연구소 등에서 개방 (예: 공공데이터포털, 통계청 KOSIS, 서울 열린데이터 광장)
    • 구매 데이터 (Purchased Data): 시장 조사 기관, 신용 정보 회사 등 전문 업체에서 구매
    • 소셜 미디어 데이터: 트위터, 페이스북, 인스타그램 등 사용자 생성 콘텐츠 (API 또는 크롤링 활용)
    • 웹 데이터: 웹사이트 정보 (뉴스 기사, 상품 정보 등). 크롤링/스크래핑 시 법적/윤리적 문제 주의 (Robots.txt, 이용 약관 확인)
    • API (Application Programming Interface) 제공 데이터: 날씨 정보, 주식 시세, 지도 정보 등 서비스 제공자가 정해진 규칙에 따라 제공
    • IoT 기기 데이터: 외부 센서, 웨어러블 기기 등

데이터 저장 및 관리 시스템

  • 데이터베이스 (Database - DB): 관련된 데이터들의 구조화된 모음
    • 데이터를 효율적으로 저장, 검색, 관리하기 위해 설계됨.
  • 데이터베이스 관리 시스템 (DBMS - Database Management System):
    • 데이터베이스를 생성, 관리, 운영하는 소프트웨어.
    • 데이터 무결성, 보안, 동시성 제어 등 기능 제공.
  • DBMS의 종류:
    • 관계형 DBMS (RDBMS): 테이블 기반 (예: MySQL, PostgreSQL, Oracle, MS SQL Server)
      • SQL (Structured Query Language): RDBMS에서 데이터를 정의(DDL), 조작(DML), 제어(DCL)하기 위한 표준 질의 언어.
    • NoSQL DBMS: 비관계형, 유연한 구조 (예: MongoDB, Cassandra, Redis)

데이터 저장 및 관리 시스템

  • 데이터 웨어하우스 (Data Warehouse - DW):
    • 의사결정 지원을 위해, 다양한 소스의 데이터를 주제 중심으로 통합하여 저장하는 분석용 데이터베이스.
    • 과거 데이터 포함, 읽기/분석에 최적화. (예: Snowflake, BigQuery, Redshift)
  • 데이터 마트 (Data Mart):
    • DW의 특정 주제나 부서에 초점을 맞춘 작은 규모의 서브셋. 특정 사용자 그룹의 요구사항 충족.
  • 데이터 레이크 (Data Lake):
    • 모든 형태(정형, 반정형, 비정형)의 원시(Raw) 데이터를 원래 형식 그대로 저장하는 중앙 집중식 저장소.
    • 높은 유연성, 다양한 분석 시도 가능. 데이터 거버넌스 및 품질 관리가 중요. (예: Hadoop HDFS, AWS S3 기반)

데이터 전처리

  • 현실 세계의 데이터는 불완전하고 지저분하다!
  • "쓰레기를 넣으면 쓰레기가 나온다 (Garbage In, Garbage Out)"
  • 낮은 품질의 데이터는 분석 결과의 신뢰도를 떨어뜨리고, 잘못된 의사결정이나 모델 성능 저하를 야기함.
  • 전처리의 목표:
    • 데이터 품질 향상: 정확성, 완전성, 일관성 확보
    • 분석/모델링 효율성 및 성능 개선: 알고리즘 요구사항 충족, 계산 효율 증대

주요 데이터 문제

  • 결측치 (Missing Values): 값이 누락되거나 기록되지 않음. (예: 설문 응답 누락)
  • 이상치 (Outliers): 다른 값들과 현저히 다른 극단적인 값. (예: 측정 오류, 비정상 이벤트)
  • 노이즈 / 오류 (Noise / Errors): 데이터 값에 포함된 오류 또는 부정확한 정보. (예: 오타, 잘못된 단위)
  • 불일치 (Inconsistency): 같은 정보가 다른 형식이나 값으로 표현됨. (예: '서울' vs '서울특별시', 'M' vs '남성')
  • 중복 (Duplication): 동일한 데이터가 여러 번 기록됨.
  • 형식 비호환성 (Format Incompatibility): 데이터 형식이 분석 도구나 머신러닝 알고리즘 요구사항과 맞지 않음. (예: 숫자여야 하는데 문자열로 입력됨)

주요 데이터 전처리 기법: 데이터 정제

  • "더러운" 데이터를 "깨끗하게" 만드는 과정
  • 결측치 처리:
    • 삭제: 해당 행(Row) 또는 열(Column) 제거
    • 대치: 평균, 중앙값, 최빈값 등 통계치로 대체 / 예측 모델(회귀, KNN 등) 활용 / 고정값 사용
  • 이상치 처리:
    • 탐지: 통계적 방법(IQR, Z-score), 시각화(Box plot), 도메인 지식 활용
    • 처리: 제거, 조정(값을 바꾸거나 상/하한선 적용), 별도 분석
  • 노이즈 제거: Binning, 군집화, 회귀 등 활용

주요 데이터 전처리 기법: 데이터 변환

  • 데이터를 분석/모델링에 적합한 형태로 변경
  • 스케일링 (Scaling): 변수 값의 범위 조정
    • 정규화 (Normalization): 0~1 사이로 조정 (Min-Max Scaling)
    • 표준화 (Standardization): 평균 0, 표준편차 1로 조정 (Z-score Scaling)
  • 인코딩 (Encoding): 범주형 데이터를 수치형 데이터로 변환
    • Label Encoding: 카테고리에 순서대로 숫자 부여 (순서형 변수에 적합)
    • One-Hot Encoding: 카테고리별 이진(0/1) 열 생성 (명목형 변수에 적합)
  • 데이터 분포 변환: 로그 변환, 제곱근 변환 등 (왜도/첨도 조정)

주요 데이터 전처리 기법: 데이터 통합 및 축소

  • 데이터 통합 (Data Integration): 여러 데이터 소스나 테이블 결합
  • 데이터 축소 (Data Reduction): 데이터 크기나 복잡성 감소 (효율성 증대)
    • 차원 축소: 변수(Feature) 개수 줄이기 (예: 주성분 분석(PCA), 특이값 분해(SVD))
    • 특성 선택: 중요한 변수만 선택 (예: Filter, Wrapper, Embedded methods)
    • 샘플링: 데이터 건수 줄이기 (무작위 샘플링, 층화 샘플링 등)

퀴즈