04-030. 정형데이터 분석
정형데이터 분석
데이터를 표 형태로 사용할 수 있게 구조화해서 저장해두었는지 아닌지에 따라 데이터를 정형데이터, 비정형데이터, 반정형데이터로 구분한다. 데이터 분석을 하려면 데이터를 모두 정형데이터로 바꿔야 하는데 세상의 모든 데이터가 정형데이터로 관리되고 있지 않으며 데이터의 많은 부분은 비정형상태이다. 비정형데이터를 정형데이터 작업에 많은 컴퓨터 계산이 필요하고 시간도 오래걸린다.
이 책에서는 비정형 데이터와 반정형 데이터를 다루는 방법을 다루지는 않지만 여기에서 정형데이터와 비정형데이터, 반정형데이터의 차이에 대해서 간단히 설명한다.
정형데이터(Structured Data)란?
정형데이터는 **행(row)과 열(column)**로 구성된 표 형태의 데이터로 각 데이터의 구조와 형식이 미리 정해져 있는 데이터를 말한다. 표 형태의 데이터는 테뷸라 데이터(Tabular data) 라고도 한다. 주로 데이터베이스(관계형 DB, RDBMS)에서 테이블(table), 뷰(view)같은 것이고 엑셀 파일, CSV 파일과 같은 것이다.
-
특징
-
데이터의 스키마(구조)가 명확하게 정의되어 있다.
-
각 열(필드)의 데이터 타입(숫자, 문자 등)이 정해져 있다.
-
검색, 집계, 분석이 용이하다.
-
예시: 고객명단, 매출기록, 설문조사 결과, 재고목록 등
예시
다음은 정형데이터(테이블 데이터, Tabular data)의 예시다.
고객ID | 이름 | 나이 | 가입일 | 구매금액 |
---|---|---|---|---|
1001 | 김철수 | 35 | 2022-01-15 | 120,000 |
1002 | 이영희 | 28 | 2022-03-22 | 85,000 |
1003 | 박민수 | 42 | 2021-11-08 | 230,000 |
엑셀 파일
위와 같은 표 형태로 저장된 데이터
CSV 파일:
고객ID,이름,나이,가입일,구매금액
1001,김철수,35,2022-01-15,120000
1002,이영희,28,2022-03-22,85000
1003,박민수,42,2021-11-08,230000
관계형 데이터베이스(RDBMS) 테이블:
고객 정보를 저장하는 테이블(고객ID, 이름, 나이, 가입일, 구매금액 등 컬럼으로 구성)
이처럼 정형데이터는 각 열(필드)의 의미와 데이터 타입이 명확하게 정해져 있어, 데이터 검색, 집계가 쉽다. 일반적인 데이터 분석은 대부분 정형데이터를 대상으로 한다.
비정형데이터(Unstructured Data)란?
비정형데이터는 정해진 구조나 형식이 없는 데이터를말하는데 정형데이터와 반대로 표 형태로 쉽게 정리할 수 없는 데이터를 말한다. 주로 텍스트, 이미지, 오디오, 동영상, 로그파일 등이 이에 해당한다.
특징
- 데이터의 구조가 일정하지 않다.
- 데이터의 길이, 내용, 형식이 다양하다.
- 분석 및 처리에 추가적인 전처리(텍스트 마이닝, 이미지 분석 등)가 필요하다.
- 예시: 이메일 본문, SNS 글, 뉴스 기사, 사진, 음성녹음, 동영상 등
예시
- "무궁화꽃이 피었습니다" (텍스트)
- 사진 파일(jpg, png, gif 등)
- 유튜브 동영상(mp4 등)
반정형데이터(Semi-structured Data)란?
정형과 비정형의 중간 형태로, 일부 구조는 있지만 완전히 표로 정리되어 있지 않은 데이터를 말한다.
대표적으로 JSON, XML, HTML, 로그파일 등이 있다.
특징
- 태그, 구분자 등으로 데이터의 일부 구조가 정의되어 있다.
- 완전히 표로 변환하기 전 단계의 데이터이다.
예시
- 웹서버 로그
- JSON 포맷의 데이터
- 이메일(제목/본문/첨부파일 등)
정형/비정형 데이터의 활용
정형데이터는 다루는 방법이 잘 연구되고 정돈되었기 때문에 비교적 쉽지만 비정형데이터는 데이터 프로세싱을 한 후에 정형화 또는 반정형화하지 않으면 사용하기 어렵다. 비정형데이터를 정형화하는 방법은 데이터마이닝을 비롯한 기계학습, 인공지능에서 가장 고민을 많이해 온 것이다.
정형데이터는 통계분석, 데이터베이스, 머신러닝 모델링 등에 바로 활용하기 쉽다.
비정형데이터는 자연어처리(NLP), 이미지 분석, 음성 인식 등 특수한 분석기법이 필요하다.
2000년대 중반부터 비정형데이터의 양이 폭발적으로 증가하면서, 이를 분석해 인사이트를 얻는 기술(텍스트 마이닝, 딥러닝 등)이 더 활발하게 사용되고있다. 특히 텍스트 데이터를 정형화하거나 사용할 수 있게 전처리하는 것은 검색 서비스, 인터넷 매체 등에서 깊이 고민되어왔다. 아직까지도 잘 되는 것은 아니지만 생성형AI의 출현으로 비정형데이터를 정형하하는 단계를 인공지능 학습에 바로 넣거나 하는 방법을 더 많이 쓴다.
정형/비정형 데이터 처리
정형데이터는 SQL 문법으로 데이터를 전처리하고 추출하며 다운로드 받은 파일을 엑셀에 올려서 사용하거나 Python에서는 Pandas의 데이터프레임으로 만들어서 다룬다.
요약
- 정형데이터: 표로 정리된 데이터 (엑셀, DB 등)
- 비정형데이터: 구조가 없는 데이터 (텍스트, 이미지, 동영상 등)
- 반정형데이터: 일부 구조가 있는 데이터 (JSON, XML 등)
데이터 분석에서는 데이터의 형태에 따라 적절한 전처리와 분석 방법을 선택하는 것이 중요하다.