데이터를 가져와서 분석하려면 먼저 데이터의 종류에 대해 알아야 할 필요가 있다.
데이터 종류
정형
- 구조화된 데이터
- 특징
- 관계형 데이터베이스(RDB) 기반으로 추출된 데이터
- raw 데이터와 구조정보(스키마)가 분리되어 있음
- SQL을 통해서 데이터 추출
- DB에서 직접 추출
- AWS Athena 등 이용하여 추출(raw 데이터 직접 쿼리)
- open API를 통해 추출되는 결과물
- RDB
- 행기반, 열기반 제품(용도가 다름 -> DB 수업에서 체크)
- 관계형 데이터베이스(RDB) 기반으로 추출된 데이터
비정형(종류로 판단)
- 구조가 없는 데이터
- 종류
- 바이너리 데이터
- 영상, 이미지, 오디오, 문서(doc, pdf, ...) -> 주로 딥러닝에서 다루는 데이터들
- NoSQL 계열
- 몽고DB, 레디스, ...
- 텍스트 데이터
- 로그 데이터(로그는 형식을 정의하여 구성)
- 바이너리 데이터
반정형
- 데이터 안에 구조 정보(스키마)가 들어있는 데이터
- 데이터 = raw 데이터 + 스키마(일체형)
- 종류
- JSON, xml
- 텍스트 기반(사람, 기계, 어떤 OS, 언어에서도 동일하게 해석됨) 포멧
- open api에서 응답하는 데이터 형태
- 통신(클라이언트 <-> 서버에서 가장 많이 사용됨
- 2007년 기점으로 WIFI 보급 -> http기반으로 통신하는 앱이 확산 -> 서버는 백엔드 개발로 바뀌고 웹개발자가 늘어남
- 2007년 이전 모바일 통신은 TCP/IP 기반하여 패킷 설계하여 통신 -> 서버는 C++/JAVA
- html, ...
- JSON, xml
- 특징
- 정형/ 비정형 데이터에서 데이터를 들여올 때 보여지는 형태
데이터 형태
- 데이터 분석, EDA, 피처 엔지니어링 -> 이러한 행위들을 할 때 주로 따지는 것이 데이터 형태
범주형
- 데이터가 몇 개의 범주(카테고리)로 나눠짐(구성됨)
- 고유값이 셀 수 있는 정도 수준
- 집계/피벗 등의 대상이 됨
- 숨겨진 인사이트가 존재함
- 특징
- ML/DL 등 AI에서 학습의 데이터가 되기 위해 반드시 인코딩 처리(수치화)가 필요함
- 다양한 인코딩 기법 존재
- 라벨, 순서, 빈도, 원-핫, ...
- 다양한 인코딩 기법 존재
- ML/DL 등 AI에서 학습의 데이터가 되기 위해 반드시 인코딩 처리(수치화)가 필요함
명목형
- 성병, 혈액형, MBTI, ...
- 특징
- 서열이 없음
- 구분용
순서형
- 리뷰에 대한 별점(별 1~5), ...
수치형
이산형
- 운동 횟수, 공부 횟수
- 셀 수 있고 값 사이가 무한대가 아님
- 보통 정수 형태
연속형
- 값과 값 사이에 무한대로 값이 존재할 수 있음 -> 부동소수로 표현
- 키, 몸무게, 집값, ... -> ML의 회귀 문제
데이터 분석 워크플로우(5단계)
1. 요구사항 정의
- 구성
- 배경
- 시장, 문제점 정의
- 타겟
- 누구를 위한 보고서/서비스/... 인지?
- 대상에 대한 특정 분석 등 자료가 필요함
- 목적
- 분석
- 의사결정 간 설득의 자료로 쓸 수 있음
- 지표를 제공할 수 있음
- 전략 수립의 재료로 사용될 수 있음
- 분석
- 최종 산출물 정의
- 보고서, 대시보드, ...
- 배경
2. 데이터 수집
- 특징
- 초기 데이터가 없어도 진행할 수 있는 파트
- ML의 강화학습은 가능 (정책 및 기타 포지션 정의만 있으면 가능)
- 이외
- 모델(ML/DL/LLM)학습, 데이터 분석 등 데이터가 필수적임
- 4차 산업의 핵심 자원 : 데이터
- 초기 데이터가 없어도 진행할 수 있는 파트
- 수집
- 난이도에 따라 분류(비공식적)
- level 1
- 키워드
- 제공, 구매, 무료, 합법적(개인정보 등 법적 체크 및 관리 필요)
- 무료
- 사내 데이터
- 공장(스마트팩트리)/IOT(센서데이터)
- 이커머스 -> 로그/구매/고객 데이터
- 금융 -> 트랜젝션(거래), 로그
- OTT -> 로그
- 공공데이터(요청하면 받을 수 있는)
- 연구/대학 제공
- 사내 데이터
- 구매
- 데이터 바우처 제공(데이터 거래소)
- 키워드
- level 1
- 난이도에 따라 분류(비공식적)
- 수집
- 상업용으로 이용 시 법률 검토 필요함(교육용 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 클라우드 제품)
- OS 레벨 :
- level 4
- 크롤링 기법 / 매크로 프로그램
- 조건
- 웹 페이지에서 특정 데이터를 얻기 위해서 사람이 개입한 액션이 존재해야 함
- 로그인, 검색, 스크롤, 클릭 등등 행위가 존재해야 함
- Ddos 방어를 위해 클라우드 페어 등 서비스 -> 접속을 하면 10초 대기시키고 도메인을 변경한 후 서비스에 진입시킴
- 프록시를 이용한 우회 접속
- 고스트 모드
- 원래 용도는 웹사이트 테스트 용도(수십개의 클라이언트를 생성하여 사이트 테스트가 목적)
- 라이브러리
- selenium
- 재료
- 웹 드라이버(벤더별 제품)
- level 2
- 상업용으로 이용 시 법률 검토 필요함(교육용 X)
3. 데이터 전처리
4. 데이터 분석
5. 최종 산출물 구성
3,4,5에 대해서는 실습으로 공부했다.
'SK플래닛 ai활용 데이터엔지니어 과정 2기 > 파이썬' 카테고리의 다른 글
| 파이썬 - 데이터분석 (0) | 2026.03.09 |
|---|---|
| 파이썬 - 모듈화/모듈가져오기/예외처리 (0) | 2026.03.06 |
| 파이썬-함수(2) (0) | 2026.03.06 |
| 파이썬-함수 (1) | 2026.03.05 |
| 파이썬 - 흐름제어(3) (0) | 2026.03.05 |