SK플래닛 ai활용 데이터엔지니어 과정 2기/파이썬

파이썬 - 데이터 분석의 기초

dev-lee 2026. 3. 12. 16:08

데이터를 가져와서 분석하려면 먼저 데이터의 종류에 대해 알아야 할 필요가 있다.

데이터 종류

 

정형

  • 구조화된 데이터
  • 특징
    • 관계형 데이터베이스(RDB) 기반으로 추출된 데이터
      • raw 데이터와 구조정보(스키마)가 분리되어 있음
      • SQL을 통해서 데이터 추출
        • DB에서 직접 추출
      • AWS Athena 등 이용하여 추출(raw 데이터 직접 쿼리)
      • open API를 통해 추출되는 결과물
    • RDB
      • 행기반, 열기반 제품(용도가 다름 -> DB 수업에서 체크)

 

 

비정형(종류로 판단)

  • 구조가 없는 데이터
  • 종류
    • 바이너리 데이터
      • 영상, 이미지, 오디오, 문서(doc, pdf, ...) -> 주로 딥러닝에서 다루는 데이터들
    • NoSQL 계열
      • 몽고DB, 레디스, ...
    • 텍스트 데이터
      • 로그 데이터(로그는 형식을 정의하여 구성)
 
반정형
  • 데이터 안에 구조 정보(스키마)가 들어있는 데이터
  • 데이터 = raw 데이터 + 스키마(일체형)
  • 종류
    • JSON, xml
      • 텍스트 기반(사람, 기계, 어떤 OS, 언어에서도 동일하게 해석됨) 포멧
      • open api에서 응답하는 데이터 형태
      • 통신(클라이언트 <-> 서버에서 가장 많이 사용됨
        • 2007년 기점으로 WIFI 보급 -> http기반으로 통신하는 앱이 확산 -> 서버는 백엔드 개발로 바뀌고 웹개발자가 늘어남
        • 2007년 이전 모바일 통신은 TCP/IP 기반하여 패킷 설계하여 통신 -> 서버는 C++/JAVA
    • html, ...
  • 특징
    • 정형/ 비정형 데이터에서 데이터를 들여올 때 보여지는 형태
 

 

데이터 형태

  • 데이터 분석, EDA, 피처 엔지니어링 -> 이러한 행위들을 할 때 주로 따지는 것이 데이터 형태

 

 

범주형

  • 데이터가 몇 개의 범주(카테고리)로 나눠짐(구성됨)
    • 고유값이 셀 수 있는 정도 수준
  • 집계/피벗 등의 대상이 됨
    • 숨겨진 인사이트가 존재함
  • 특징
    • ML/DL 등 AI에서 학습의 데이터가 되기 위해 반드시 인코딩 처리(수치화)가 필요함
      • 다양한 인코딩 기법 존재
        • 라벨, 순서, 빈도, 원-핫, ...

 

명목형

  • 성병, 혈액형, MBTI, ...
  • 특징
    • 서열이 없음
    • 구분용 

 

 

순서형

  • 리뷰에 대한 별점(별 1~5), ...

 

 

수치형

 

이산형

  • 운동 횟수, 공부 횟수
    • 셀 수 있고 값 사이가 무한대가 아님
  • 보통 정수 형태

 

 

연속형

  • 값과 값 사이에 무한대로 값이 존재할 수 있음 -> 부동소수로 표현
  • 키, 몸무게, 집값, ... -> ML의 회귀 문제

 

 

데이터 분석 워크플로우(5단계)

 

1. 요구사항 정의

  • 구성
    • 배경
      • 시장, 문제점 정의
    • 타겟
      • 누구를 위한 보고서/서비스/... 인지?
      • 대상에 대한 특정 분석 등 자료가 필요함
    • 목적
      • 분석
        • 의사결정 간 설득의 자료로 쓸 수 있음
        • 지표를 제공할 수 있음
        • 전략 수립의 재료로 사용될 수 있음
    • 최종 산출물 정의
      • 보고서, 대시보드, ...
 

 

2. 데이터 수집

 
  • 특징
    • 초기 데이터가 없어도 진행할 수 있는 파트
      • ML의 강화학습은 가능 (정책 및 기타 포지션 정의만 있으면 가능)
    • 이외
      • 모델(ML/DL/LLM)학습, 데이터 분석 등 데이터가 필수적임
    • 4차 산업의 핵심 자원 : 데이터
  • 수집
    • 난이도에 따라 분류(비공식적)
      • level 1
        • 키워드
          • 제공, 구매, 무료, 합법적(개인정보 등 법적 체크 및 관리 필요)
        • 무료
          • 사내 데이터
            • 공장(스마트팩트리)/IOT(센서데이터)
            • 이커머스 -> 로그/구매/고객 데이터
            • 금융 -> 트랜젝션(거래), 로그
            • OTT -> 로그
          • 공공데이터(요청하면 받을 수 있는)
          • 연구/대학 제공
        • 구매
          • 데이터 바우처 제공(데이터 거래소)
  • 수집
    • 상업용으로 이용 시 법률 검토 필요함(교육용 X)
      • level 2
        • open API를 이용하여 수집
        • 사전정보
          • 웹에 대한 이해, http 통신에 대한 지식
          • JSON/xml 포멧에 대한 이해, 처리 능력
          • 개별 회사에 대한 Key 발급이 필수
          • 키 별 하루 제한량 검토 필요
      • level 3
        • 웹 스크래핑 기법
        • level 2로 해결이 되지 않는 경우 대상
        • 절차
          • 웹 페이지 접속만 하면 OK
          • 웹 페이지 요청 -> 응답(결과물 HTML) -> 파싱(BS4를 이용) -> 데이터 추출(CSS selector/xpath 등 이용)(Extract) -> 전처리(Transform) -> 자료구조 구성 후 적제(Load) : ETL -> 주기적으로 수행(자동화, 스케쥴링)
          • 주기화
            • OS 레벨 :
              • window 작업 스케쥴러
              • 리눅스 cron
            • s/w 레벨 :
              • Airflow(도커 기반에서 구성, AWS 제품도 존재함)
              • Kinesis(AWS 클라우드 제품)
      • level 4
        • 크롤링 기법 / 매크로 프로그램
        • 조건
          • 웹 페이지에서 특정 데이터를 얻기 위해서 사람이 개입한 액션이 존재해야 함
          • 로그인, 검색, 스크롤, 클릭 등등 행위가 존재해야 함
          • Ddos 방어를 위해 클라우드 페어 등 서비스 -> 접속을 하면 10초 대기시키고 도메인을 변경한 후 서비스에 진입시킴
          • 프록시를 이용한 우회 접속
          • 고스트 모드
        • 원래 용도는 웹사이트 테스트 용도(수십개의 클라이언트를 생성하여 사이트 테스트가 목적)
        • 라이브러리
          • selenium
        • 재료
          • 웹 드라이버(벤더별 제품)

3. 데이터 전처리

 

4. 데이터 분석

5. 최종 산출물 구성

 

3,4,5에 대해서는 실습으로 공부했다.