Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 자격증
- 항해99
- aws
- 파이썬프로그래밍기초
- 파이썬
- 99클럽
- Git
- 오픈소스기반데이터분석
- 엘리스sw트랙
- CSS
- 코드잇
- 프로그래머스
- 꿀단집
- 코딩테스트준비
- 데이터베이스시스템
- 코딩테스트
- JavaScript
- TiL
- 개발자취업
- HTML
- mongoDB
- nestjs
- Python
- redis
- node.js
- 중간이들
- 방송대컴퓨터과학과
- 방송대
- 유노코딩
- Cookie
Archives
- Today
- Total
배꼽파지 않도록 잘 개발해요
방송대 오픈소스기반데이터분석 - 4강. 데이터의 수집 본문
1. 데이터 수집이란
1) 데이터 수집
필요성
- 현대 사회 경쟁력 확보 핵심 자원
- 맞춤형 서비스, 마케팅, 연구, 헬스케어 등 다양한 활용
- 단순 기록이 아니라 가치 창출의 출발점
정의
- 단순히 데이터를 모으는 행위를 넘어, 수집된 데이터를
분석에 적합한 형태로 준비하는 과정
2) 데이터 수집의 어려움
- 정확성 문제: 형식적 오류, 의미적 오류
- 데이터 사일로(data silo) 현상: 기업이나 조직 내에서 부서별로 데이터를 각자 관리하면서 서로 데이터를 공유하지 않고 고립된 상태
- 수집 과정 자체의 복잡성
3) 좋은 데이터의 조건
- 신뢰할 수 있는 결과를 도출하기 위해서는 충분한 데이터의 양 뿐만 아니라 품질이 중요
- ISO 8000: 정확성, 완전성, 일관성, 유효성, 적시성, 상호운영성
정확성 | 데이터가 실제 현실을 얼마나 정확하게 반영하고 있는지를 평가하는 기준 |
완전성 | 필요한 정보가 온전히 포함되어 있는지를 의미 |
일관성 | 데이터 표준을 명확히 정의하고, 여러 시스템 간의 데이터 동기화를 자동화하여 정보가 동일하게 유지되도록 관리하는 것이 중요함. (중복/불일치 방지) |
유효성 | 데이터가 분석 목적에 적합한지 평가하는 기준으로, 수집된 데이터가 적절한 맥락에서 활용될 수 있어야 함. (분석 목적에 적합) |
적시성 | 데이터가 최신 상태를 유지하고 있는지, 필요한 시점에 활용할 수 있는지 여부 (최신성 유지) |
상호운용성 | 데이터가 다양한 플랫폼, 시스템, 소프트웨어에서 원활하게 공유되고 활용될 수 있는지를 의미 (시스템 간 호환) |
2. 데이터의 유형
- 정형 데이터, 비정형 데이터, 반정형 데이터
정형 데이터 | · 미리 정의된 스키마(형식 有) · 정확성, 구조화- 관계형 데이터베이스 호환 |
나이, 가격, 날짜판매량, 성별, 지역 |
비정형 데이터 | · 구조 없음 · 자유로운 형식 · 맥락과 의미 중복 · 저장 및 관리의 어려움, 분석의 어려움 |
소셜 미디어 텍스트의료 영상, 음성 파일동영상 |
반정형 데이터 | · 부분적 구조(태그, 키-값, 계층 구조) · 자기기술적 특징 · 유연한 형식 · 계층적/중첩 구조 가능 |
JSON, XML웹 로그, 이메일API 응답 데이터 |
3. 데이터 수집 방법
1) 파일
- 데이터 분석의 가장 기본적으로 사용되는 방법 중 하나
- CSV, Excel, JSON, XML, HTML, TXT, LOG 등
- 일회성 분석·배치 처리에 적합
- Pandas로 손쉽게 읽고 처리 가능
분류 | 형식 | 장점 | 단점 | 주요 용도 |
정형 | CSV | 높은 범용성 다양한 프로그램 호환 간단한 구조 SQL 호환 |
복잡한 구조 표현 어려움 바이너리 데이터 저장 불가 데이터 타입 정보 없음 |
일회성 분석 배치 처리 |
정형 | Excel | 시각적 편집 가능 수식 및 차트 지원 |
프로그래밍 처리 복잡 용량이 큰 편 |
비즈니스 리포트 데이터 편집 |
반정형 | JSON | 계층적 구조 표현 웹 API 표준 가독성 우수 |
바이너리 데이터 저장 불가 중첩 구조 시 복잡 CSV 대비 용량 큼 |
웹 API 설정 파일 NoSQL |
반정형 | XML | 구조화된 데이터 표현 스키마 검증 |
파싱 오버헤드 JSON 대비 복잡 |
웹 서비스 설정 파일 |
반정형 | HTML | 브라우저 호환 링크 구조 |
데이터 추출 복잡 노이즈 많음 |
웹 스크래핑 웹페이지 |
비정형 | TXT | 단순한 구조 높은 호환성 용량 효율적 |
구조화 안됨 메타데이터 없음 분석 어려움 |
로그 파일 자유 텍스트 |
비정형 | LOG | 시간순 기록 디버깅 정보 시스템 추적 |
정규표현식 필요 구조 불일치 노이즈 많음 |
시스템 모니터링 에러 분석 |
2) API
- 소프트웨어 간의 상호작용을 가능하게 하는 인터페이스
- 미리 정의된 규칙과 명령어 집합
- 개방형 데이터 접근
- 자동화된 데이터 수집 가능
- REST API 모델: 클라이언트는 서버에 특정 데이터를 요청하고, 서버는 이에 응하여 JSON, XML과 같은 형식의 데이터를 반환
API 프로토콜의 종류
구분 | HTTP / HTTPS | WebSocket | GraphQL |
동작방식 | 요청(request) → 응답(response) | 양방향 통신 (자유로운 데이터 교환) | 쿼리 기반 요청, 필요한 데이터만 선택적 응답 |
연결방식 | 비연결 지향 (요청마다 새로운 연결) | 지속 연결 (handshake 이후 연결 유지) | 단일 엔드포인트 연결, 요청마다 명시적 질의 전송 |
장점 | 간단하고 호환성 높음 | 실시간 데이터 전송에 유리 (이벤트 기반) | 과도한 데이터 전송 방지, 유연한 질의 구조 제공 |
단점 | 실시간성 부족, 과도한 요청 발생 가능 | 구현 복잡도 높고, HTTP에 비해 지원 환경 제한됨 | 학습 필요, 캐싱 처리 어려움 |
활용 예시 | REST API, Open API, 웹 페이지 통신 | 주식 시세, 채팅 앱, 실시간 알림, 게임 서버 등 | 복잡한 앱의 데이터 요청 최적화 (ex. 페이스북, 쇼핑몰) |
3) 웹 스크래핑
- 프로그램을 통해 웹 사이트에서 데이터를 자동으로 추출하고 수집하는 기술
- 자동화된 방식으로 웹 페이지를 방문하고 링크를 따라 이동하면서 웹의 구조를 탐색하는 웹 크롤링과 구별
- 웹 스크래핑 시 고려사항
- 웹 페이지 구조 분석
- 데이터 추출 방법
- 웹 사이트 정책 준수
- 정적 페이지와 동적 페이지
- requests, BeautifulSoup, Selenium, lxml 등 다양한 파이썬 라이브러리를 활용
headless 모드
- 주로 자동화 작업이나 서버 환경에서 필요
- 눈에 보이지 않더라도 내부적으로는 실제 웹브라우저가 작동하여 페이지에 접속하고 데이터를 가져오거나 버튼을 클릭하는 등의 작업을 수행
728x90
'방송대 컴퓨터과학과 > 오픈소스기반데이터분석' 카테고리의 다른 글
방송대 오픈소스기반데이터분석 - 3강. 데이터 분석을 위한 파이썬 프로그래밍 2 (0) | 2025.09.18 |
---|---|
방송대 오픈소스기반데이터분석 - 2강. 데이터 분석을 위한 파이썬 프로그래밍 1 (0) | 2025.09.18 |
방송대 오픈소스기반데이터분석 - 1강. 데이터 분석과 오픈소스 (0) | 2025.09.17 |