본문으로 건너뛰기
홈
기술
기술 전체
프로그래밍68
컴퓨터 과학63
AI48
웹 개발36
인프라33
데이터31
소프트웨어 공학18
소개
← 목록으로데이터 › 데이터 과학 › 기초

1.데이터의 이해

목차

Intro

데이터 사이언스

데이터를 기반으로 인사이트(Insight)를 도출하고, 예측 모델을 구축하며 의사결정을 지원하는 학문

  • 데이터를 정확하게 다루는 능력 → 데이터 품질 분석 결과는 신뢰성과 직결

데이터

특정 대상이나 현상을 측정하고 관찰하며 기록한 정보

  • 종류(Types)에 따라 분석 방법과 활용목적이 달라짐
    • 수치형 데이터(numerical data)의 분류
      • 연속성 데이터(continuous data)
      • 이산형 데이터(discrete data)
    • 범주형 데이터(categorical data)의 분류
      • 명복형 데이터(nominal data)
      • 순서형 데이터(ordinal data)
    • 텍스트 데이터(text data)
    • 이미지 데이터(image data)
    • 오디오 데이터(audio data)
    • 비디오 데이터(video data)

원시 데이터(row data)는 그대로 활용하기 어려움

  • 데이터를 정제 및 특성을 파악하는 과정 → 본격적인 모델링, 심층적인 인사이트에 도출

데이터 전처리(Preprocessing)

실제 데이터는 종종 불완전하고, 노이즈가 많고, 분석에 부적합한 형태로 존재

전처리 과정은 이런 문제를 해결하고 데이터의 품질을 향상시키는데 목적

  • 결측치 처리(missing value handling)
  • 이상치 탐지 및 제거(outlier detection and removal)
  • 데이터 정규화(normalization)
  • 데이터 변환(transformation)
  • 데이터 통합(integration)

데이터 시각화(Visualization)

복잡한 데이터를 직관적으로 파악하고 분석을 용이하게 해주는 수단.

탐색적 데이터 분석(EDA: Exploratory Data Analysis)

데이터를 깊이 있게 이해하고 분석 방향을 설정하는 역할로, 데이터를 요약하고 시각화하며, 데이터의 패턴, 관계, 특이점을 발견하는 과정

데이터의 정의와 종류

1. 데이터 유형(Data Type)

데이터가 가질 수 있는 값의 종류와 이에 적용 가능한 연산(Operation)을 정의하는 기본 개념

  • 구조와 저장 방식에 따른 분류
    • 정형 데이터(Structured data) : 미리 정의된 스키마에 따라 저장되는 데이터 (RDB, 스프레드시트 ,CSV)
    • 비정형 데이터(unstructured data) : 텍스트 문서, 비디오, 이미지, 오디오 등 정해진 구조가 없는 데이터. DB에 저장이 어렵고, 분석을 위해서는 자연어 처리, 컴퓨터 비전, 음성 인식 등 특수한 기술이 요구
    • 반정형 데이터(semi-structured data) : XML, JSON, 로그 파일 같이 명확한 스키마는 없지만, 태그나 키-값 구조를 통해 암묵적 구조를 가진 데이터를 의미(정형과 비정형의 중간형태로 특정 규칙을 통해 데이터를 구분하고 관리)
  • 표현 방식에 따른 분류
    • 정량적 데이터(Quantitative Data) : 수치로 표현되는 정보로, 대상의 속성을 측정하거나 개수를 세눈 방식 (연속형 데이터와, 이산형 데이터로 구분)
      • 연속형 데이터(Continous data) : 특정 범위 내 무한이 많은 값을 가질 수 있는 데이터(키, 온도 등)
      • 이산형 데이터(Discrete data) : 정해진 값만 가질 수 있는 데이터(사람 수, 제품 재고, 결제 횟수)로 특정 구간 내 유한한 값만 취한다.
    • 정성적 데이터(Qualitative Data) : 수치로 표현하기 어려운 언어적 설명이나 범주로 나타내는 데이터 (인터뷰, 설문 응답, 관찰 기록)
      • 의미 해석에 중점을 두고, 서술적 분석(descriptive analysis) 또는 해석적 분석(interpretive analysis)에 사용 (명목형 데이터와 순서형 데이터로 구분)
        • 명목형 데이터 : 성별, 혁액형, 국적, 색상 등 순서나 크기 비교가 불가능한 범주형 데이터를 의미
        • 순서형 데이터 : 학력, 만족도, 선호도 등과 같이 범주 간에 순서가 존재하는 데이터 (ex: 만족, 보통, 불만족)

2. 데이터 속성(Data Attribute)

데이터 분석과 모델링에서 핵심적인 개념으로, 데이터를 구성하는 개별 요소들의 성질과 특성을 나타냄

  • 데이터 이해 → 데이터 가공 → 머신러닝 학습
  • 속성은 크게 변수, 특징 특성으로 분류

한 데이터셋에서 유형을 판단하기

쇼핑몰 주문 데이터를 분석한다고 가정하자. order_id는 숫자로 보이더라도 더하고 평균 내는 양이 아니라 식별자다. quantity는 이산형 수치, price는 수치형 금액, purchased_at은 시각, channel은 명목형 범주, 별점 1~5는 순서형 범주로 볼 수 있다. 같은 정수 타입으로 저장된 order_id와 quantity에 같은 평균 연산을 적용하면 의미 없는 결과가 나온다. 데이터 타입은 파일의 물리적 타입과 분석에서의 의미상 타입을 함께 확인해야 한다.

필드저장 예분석에서의 의미흔한 실수
order_id1042식별자평균·표준편차 계산
quantity3이산형 수량음수·소수 수량을 무검증 수용
channelweb명목형 범주코드 번호에 크기 순서 부여
satisfaction1~5순서형 응답등간격 차이가 반드시 같다고 가정
purchased_at날짜·시각시간 축시간대가 다른 기록을 섞음

원문의 “원시 데이터(row data)”는 영어로는 raw data가 맞다. CSV의 한 줄(row)과 혼동하지 않도록 구분한다. 비정형 데이터도 데이터베이스에 저장할 수 있다. 다만 텍스트·이미지 같은 원자료를 분석 가능한 특징으로 바꾸는 과정이 별도로 필요할 수 있다는 뜻이다.

질문에서 검증까지 한 바퀴

“어떤 고객이 재구매할까?”라는 질문을 예로 들면, 먼저 예측 시점과 재구매의 기준을 정해야 한다. 한 달 안에 다시 구매하는지, 동일 상품을 사는지에 따라 정답 레이블이 달라진다. 이후 데이터 수집 범위와 누락·중복을 확인하고, 과거 정보만으로 특징을 만든다. 모델을 만들기 전에 단순한 기준선(예: 전체 고객의 재구매율)을 계산해야 복잡한 모델이 실제로 개선됐는지 알 수 있다.

flowchart LR
  Q[업무 질문·평가 기준] --> D[데이터 수집과 품질 점검]
  D --> S[학습·검증 분리]
  S --> P[전처리와 탐색]
  P --> M[기준선·모델 학습]
  M --> E[평가와 오류 분석]
  E --> O[운영 관찰·재학습 판단]

결측치가 있다고 무조건 삭제하면 특정 고객군만 빠져 편향이 생길 수 있다. 결측의 비율과 발생 이유를 확인하고, 대체값 사용 또는 별도 범주 처리가 목표에 맞는지 비교한다. 이상치도 실제 고액 주문인지 입력 오류인지 구분해야 한다. 숫자 스케일링은 거리 기반 모델에 유용할 수 있지만 모든 모델에 동일하게 필요한 것은 아니다.

데이터 누수 막기

전체 데이터에서 평균과 표준편차를 먼저 계산해 정규화한 뒤 학습·검증 세트로 나누면 검증 데이터의 정보가 학습 과정에 들어간다. 결측값 대체 기준, 범주 인코딩, 특징 선택도 같은 문제를 만들 수 있다. 먼저 학습·검증을 분리하고, 전처리 규칙은 학습 데이터에서만 학습한 뒤 검증 데이터에 적용한다. 시간 순서가 있는 주문 데이터라면 미래 기록이 과거 예측에 섞이지 않도록 시간 기준 분할이 필요할 수 있다.

예를 들어 전체 데이터의 정확도가 95%여도 재구매 고객이 5%라면 모두 “재구매 안 함”으로 예측해도 정확도는 95%다. 이런 경우 재구매 고객에 대한 정밀도·재현율, 누락 비용, 고객군별 오류를 함께 본다. 시각화는 분포·결측·시간 변화와 모델 오류를 이해하는 도구이지 그래프 하나로 인과관계를 입증하지는 않는다. 데이터에서 발견한 상관관계를 정책으로 옮기기 전에는 수집 방식과 교란 요인을 확인한다.

참고: scikit-learn 일반적인 함정과 권장 사례, 전처리 가이드.