기본 콘텐츠로 건너뛰기

방송대 방통대 오픈소스기반데이터분석 4강 - 데이터 수집 - 요약 노트 시험족보 예상문제 - 올에이클래스

오픈소스기반데이터분석 4강 - 데이터 수집

오픈소스기반데이터분석 4강 - 데이터 수집

이번 강의에서는 분석에 필요한 데이터를 식별하고 품질을 유지하며 획득하는 데이터 수집의 원리를 학습한다. 정형·비정형·반정형 데이터의 차이를 구분하고, 파일·API·웹 스크래핑 등 데이터 소스에 맞는 수집 방법을 선택하는 기준을 살펴본다.

제1장 데이터 수집의 의미와 필요성

1. 데이터 수집의 정의

데이터 수집은 단순히 많은 정보를 모으는 행위가 아니다. 분석 목적에 적합한 유효한 데이터를 탐색하고, 데이터를 획득할 방법을 선택하며, 정확성을 유지할 수 있는 형식과 수집 주기를 결정하여 분석에 적합한 상태로 준비하는 전체 과정이다.

같은 현상을 분석하더라도 목적에 따라 필요한 데이터가 달라진다. 따라서 수집에 앞서 해결하려는 문제와 의사결정 목표를 분명히 해야 한다. 목적과 관계없는 데이터를 무작정 쌓으면 저장 비용과 정제 부담은 커지지만 분석 가치는 높아지지 않을 수 있다.

핵심: 데이터 수집은 목적 설정 → 유효한 데이터 탐색 → 적절한 수집 방법 선택 → 형식과 주기 결정 → 품질 유지의 흐름으로 이해한다.

2. 데이터 수집이 필요한 이유

데이터의 수집 및 활용 능력은 개인, 기업, 국가의 경쟁력과 연결된다. 비즈니스에서는 고객과 시장을 이해하고, 연구에서는 가설을 검증하며, 일상생활과 IT 서비스에서는 사용자에게 적절한 기능과 정보를 제공하기 위해 데이터 분석 결과를 활용한다.

분석 결과의 신뢰성은 입력 데이터에 좌우된다. 잘못된 데이터나 목적에 맞지 않는 데이터로 정교한 알고리즘을 실행해도 올바른 의사결정으로 이어지기 어렵다. 따라서 분석 이전의 데이터 수집 단계는 분석 과정의 기초이자 전략적 활동이다.

3. 데이터 수집의 어려움

수집 과정에서는 데이터 양, 다양성, 정확성과 일관성의 문제가 발생한다. 데이터가 지나치게 많으면 저장·전송·처리 비용이 증가하고, 너무 적으면 현상을 충분히 설명하기 어렵다. 다양한 출처와 형식의 데이터는 통합하기 어렵고, 값이 누락되거나 서로 모순되면 분석 결과를 신뢰하기 어렵다.

어려움의미수집 시 고려점
데이터 양부족하면 대표성이 낮고 과도하면 처리 부담이 커짐분석 목적에 필요한 범위와 주기를 정한다.
데이터 다양성출처·형식·구조가 서로 다름통합과 변환이 가능한 수집 방식을 선택한다.
정확성과 일관성오류, 누락, 중복, 서로 다른 표현이 존재함검증 규칙과 품질 관리 절차를 마련한다.

제2장 좋은 데이터와 품질 기준

1. 양보다 품질이 중요한 이유

신뢰할 수 있는 분석 결과를 얻으려면 충분한 데이터의 양뿐 아니라 품질이 중요하다. 표본이 많더라도 값이 잘못되었거나 필요한 항목이 비어 있고 시점이 너무 오래되었다면 분석 결과가 왜곡될 수 있다. 좋은 데이터는 분석 목적에 맞으면서도 정확하고 완전하며 일관된 상태를 유지해야 한다.

2. ISO 8000의 데이터 품질 요소

강의록은 데이터 품질을 평가하는 기준으로 ISO 8000을 소개하고, 좋은 데이터의 조건을 정확성, 완전성, 일관성, 유효성, 적시성, 상호운영성으로 정리한다.

품질 요소의미확인 질문
정확성데이터가 실제 사실이나 측정값을 올바르게 나타냄값에 오류가 없는가?
완전성분석에 필요한 값이 빠짐없이 포함됨필수 항목이 누락되지 않았는가?
일관성출처나 시점이 달라도 표현과 값이 모순되지 않음같은 개념이 동일한 방식으로 표현되는가?
유효성정해진 형식과 허용 범위, 업무 규칙에 맞음날짜·코드·범위 규칙을 만족하는가?
적시성필요한 시점에 최신 데이터가 제공됨의사결정 시점에 사용할 만큼 최신인가?
상호운영성서로 다른 시스템에서 교환하고 함께 활용할 수 있음다른 도구와 시스템에서도 해석 가능한가?

한 가지 품질 조건만 충족한다고 좋은 데이터가 되는 것은 아니다. 예를 들어 정확하지만 너무 오래된 데이터는 적시성이 낮고, 최신 데이터라도 필수 항목이 빠져 있다면 완전성이 낮다.

제3장 정형 데이터

1. 정형 데이터의 정의

정형 데이터는 미리 정의된 스키마에 따라 행과 열로 구성된 테이블 형태로 저장되는 데이터이다. 각 열의 이름과 자료형이 정해져 있고 각 행이 같은 구조를 따르므로 데이터베이스에 저장하고 검색하기 쉽다.

2. 정형 데이터의 특징

  • 구조화: 미리 정의된 스키마에 따라 필드와 자료형이 정해진다.
  • 정량적 표현: 숫자 또는 문자로 표현되는 값을 규칙적으로 저장한다.
  • 관계형 데이터베이스에 적합: 효율적인 저장, 검색, 관리가 가능하다.
  • 분석 용이: 데이터 추출, 변환, 분석을 체계적으로 수행할 수 있다.

판매 거래 내역, 회원 정보, 센서 측정값처럼 항목이 분명하고 동일한 구조로 반복되는 데이터가 대표적이다. 열 구조가 명확하므로 조건 검색, 집계, 통계 분석에 적합하다.

3. 정형 데이터의 한계

스키마가 고정되어 있어 예상하지 못한 데이터 유형을 수용하기 어렵다. 이미지, 영상, 자유로운 문장, 복잡한 소셜 미디어 정보처럼 형태가 일정하지 않은 내용을 테이블에 효과적으로 저장하기도 어렵다. 구조가 명확하다는 장점이 변화에 대한 유연성을 제한할 수 있다.

제4장 비정형 데이터와 반정형 데이터

1. 비정형 데이터

비정형 데이터는 미리 정의된 구조나 스키마 없이 자유로운 형태와 다양한 내용을 담는 데이터이다. 문서, 이메일 본문, 이미지, 음성, 동영상처럼 데이터 요소 사이의 관계가 명시적으로 고정되어 있지 않다.

  • 비구조화: 데이터 요소 간 관계가 미리 정의되지 않는다.
  • 다양한 형태: 문서, 이메일, 이미지, 오디오, 영상 등 형태가 폭넓다.
  • 저장과 관리의 어려움: 특수한 저장소나 분산 파일 시스템이 필요할 수 있다.
  • 분석의 어려움: 자연어 처리, 영상 처리 등 고도의 분석 기술이 필요하다.

강의록에서는 비정형 데이터가 전체 데이터의 약 80%를 차지하는 것으로 추정된다고 설명한다. 정형 데이터보다 분석하기 어렵지만 다양한 정보와 맥락을 포함한다는 가치가 있다.

2. 반정형 데이터

반정형 데이터는 어느 정도 구조화된 요소를 포함하지만 정형 데이터처럼 엄격한 스키마나 고정 형식을 따르지 않는 데이터이다. 태그, 키-값 쌍, 계층 구조를 사용해 데이터 내부의 의미와 관계를 표현한다.

  • 일정 수준의 구조화: 태그, 키-값, 계층 구조가 존재한다.
  • 다양한 형태: JSON, 로그 파일, 이메일 등이 포함된다.
  • 유연성: 스키마 변경이 비교적 쉽고 확장성이 높다.
  • 관리 방법: NoSQL 데이터베이스 등을 활용할 수 있다.

반정형 데이터는 정형 데이터보다 풍부한 정보와 복잡한 관계를 표현할 수 있지만, 분석 전에 내부 구조를 파악하고 필요한 값을 추출·정제하는 과정이 추가로 필요하다.

3. 세 데이터 유형 비교

구분구조대표 형태분석 특성
정형고정 스키마의 행과 열관계형 DB 테이블, CSV검색·집계·분석이 비교적 쉬움
반정형태그·키-값·계층 구조JSON, XML, 로그, 이메일구조 파악과 정제 과정이 필요함
비정형미리 정해진 구조가 없음문서, 이미지, 음성, 영상내용별 고급 분석 기술이 필요함

제5장 데이터 수집 방법 선택

1. 선택 기준

데이터 수집 방법은 데이터 소스의 형태, 접근 권한, 데이터 양, 실시간성 요구를 함께 고려해 선택한다. 파일, 데이터베이스, API, 웹 스크래핑 등 여러 기술이 있으며 어느 한 방법이 항상 가장 좋은 것은 아니다.

선택 원칙: 데이터가 어디에 있는가, 접근이 허용되는가, 얼마나 많은가, 얼마나 자주 갱신되는가, 실시간 응답이 필요한가를 먼저 판단한다.

2. 파일 기반 데이터 수집

파일 기반 수집은 데이터 분석에서 가장 기본적으로 사용되는 방법 중 하나이다. 로컬 환경이나 네트워크에 있는 CSV, Excel, JSON, XML 등의 파일을 직접 읽어 처리하며, 일회성 분석이나 일정한 시점마다 실행하는 배치 처리에 적합하다.

Python의 pandas 라이브러리는 다양한 파일에서 데이터를 효율적으로 읽고 데이터프레임 형태로 처리하는 기능을 제공한다. 파일 형식마다 표현 능력과 처리 비용이 다르므로 데이터 구조와 활용 목적에 맞는 형식을 선택해야 한다.

제6장 파일 형식별 장단점

분류형식장점단점주요 용도
정형CSV범용성이 높고 구조가 단순하며 다양한 프로그램·SQL과 호환됨복잡한 구조와 바이너리 저장이 어렵고 자료형 정보가 없음일회성 분석, 배치 처리
정형Excel시각적 편집, 수식, 차트 지원프로그래밍 처리가 복잡하고 용량이 비교적 큼비즈니스 리포트, 데이터 편집
반정형JSON계층 구조 표현, 웹 API 표준, 높은 가독성바이너리 저장이 어렵고 중첩 구조가 복잡하며 CSV보다 용량이 큼웹 API, 설정 파일, NoSQL
반정형XML구조화된 데이터 표현과 스키마 검증 지원파싱 오버헤드가 있고 JSON보다 표현이 복잡함웹 서비스, 설정 파일
반정형HTML브라우저 호환성과 링크 구조 제공필요한 데이터 추출이 복잡하고 노이즈가 많음웹 스크래핑, 웹 페이지
비정형TXT구조가 단순하고 호환성이 높으며 용량이 효율적임구조와 메타데이터가 없어 분석이 어려움로그 파일, 자유 텍스트
비정형LOG시간순 기록, 디버깅 정보, 시스템 추적에 유용정규표현식이 필요하고 구조가 불일치하며 노이즈가 많음시스템 모니터링, 오류 분석

표의 분류는 저장 형태와 활용 관점에서 이해해야 한다. 같은 로그라도 일정한 필드 규칙이 있으면 반정형 특성이 강하고, 자유로운 메시지 위주라면 비정형 특성이 강할 수 있다. 중요한 것은 형식 이름만 외우는 것이 아니라 구조와 처리 방법의 관계를 파악하는 것이다.

제7장 API를 통한 데이터 수집

1. API의 의미

API는 Application Programming Interface의 약자로, 소프트웨어 사이의 상호작용을 가능하게 하는 인터페이스이다. 미리 정의된 규칙과 명령의 집합을 제공하므로 프로그램이 다른 서비스의 데이터와 기능에 접근할 수 있다.

API를 활용하면 개방형 데이터에 접근하고 데이터 수집을 자동화할 수 있다. 웹 페이지 화면을 직접 분석하는 방식보다 제공자가 정한 구조로 데이터를 받기 때문에 안정적이고 체계적인 수집이 가능하다.

2. REST API 모델

REST API에서 클라이언트는 서버에 특정 데이터를 요청하고, 서버는 요청을 처리해 JSON, XML, HTML 같은 형식으로 응답한다. 요청에는 GET, POST, PUT, DELETE 등의 HTTP 방식을 사용할 수 있다.

수집 프로그램은 요청 주소와 매개변수를 구성하고 HTTP 응답 상태를 확인한 뒤 반환된 데이터를 파싱한다. 반복 실행하면 수동 복사 없이도 서비스나 플랫폼의 데이터를 지속적으로 모을 수 있다.

3. API 프로토콜 비교

구분HTTP/HTTPSWebSocketGraphQL
동작 방식요청 후 응답양방향 자유 통신질의로 필요한 데이터만 선택
연결 방식요청마다 새 연결을 사용하는 비연결 지향핸드셰이크 뒤 지속 연결단일 엔드포인트에 명시적 질의 전송
장점간단하고 호환성이 높음이벤트 기반 실시간 전송에 유리과도한 전송을 줄이고 질의가 유연함
단점실시간성이 부족하고 요청이 많아질 수 있음구현이 복잡하고 지원 환경이 제한될 수 있음학습이 필요하고 캐싱 처리가 어려움
활용REST API, Open API, 웹 통신주식 시세, 채팅, 알림, 게임복잡한 앱의 데이터 요청 최적화

제8장 웹 스크래핑

1. 웹 스크래핑의 정의

웹 스크래핑은 프로그램으로 웹 사이트에서 필요한 데이터를 자동으로 추출하고 수집하는 기술이다. 페이지의 HTML 구조를 분석하고 원하는 요소를 찾아 텍스트나 속성값을 가져온다.

2. 웹 크롤링과의 차이

웹 크롤링은 자동화된 방식으로 웹 페이지를 방문하고 링크를 따라 이동하면서 웹의 구조와 문서를 탐색하는 활동이다. 웹 스크래핑은 특정 페이지에서 필요한 정보를 추출하는 데 초점이 있다. 실제 수집 시스템에서는 크롤링으로 대상 페이지를 찾고 스크래핑으로 값을 추출하는 방식으로 함께 사용될 수 있다.

구분웹 크롤링웹 스크래핑
주된 목적링크를 따라 웹 페이지와 구조를 탐색페이지에서 필요한 데이터 추출
중심 작업URL 발견과 방문 범위 관리HTML 요소 분석과 값 변환
관계수집 대상을 찾아 제공할 수 있음찾은 페이지에서 실제 정보를 가져옴

3. 수집 시 고려사항과 도구

  • 웹 페이지 구조 분석: 필요한 데이터가 어떤 태그와 속성에 있는지 파악한다.
  • 데이터 추출 방법: 선택자, XPath 등 페이지 구조에 맞는 방법을 정한다.
  • 웹 사이트 정책 준수: 서비스 이용 규칙과 접근 정책을 확인한다.
  • 정적·동적 페이지 구분: HTML 응답에 데이터가 있는지, 실행 후 동적으로 생성되는지 판단한다.

Python에서는 requests, BeautifulSoup, Selenium, lxml 등의 라이브러리를 활용할 수 있다. 페이지 성격과 데이터 생성 방식에 따라 적합한 도구가 달라진다.

시험 포인트: API는 서비스가 정한 인터페이스로 구조화된 응답을 받는 방식이고, 웹 스크래핑은 웹 페이지의 구조를 분석해 데이터를 추출하는 방식이다.

핵심 개념 정리

  • 데이터 수집은 분석 목적에 맞는 데이터를 식별하고 적절한 방법으로 획득하여 분석 가능한 형태로 준비하는 과정이다.
  • 좋은 데이터의 조건에는 정확성, 완전성, 일관성, 유효성, 적시성, 상호운영성이 있다.
  • 정형 데이터는 고정된 행·열 구조, 비정형 데이터는 자유로운 형태, 반정형 데이터는 태그·키-값 등의 유연한 구조를 가진다.
  • 수집 방법은 데이터 소스, 접근 권한, 데이터 양, 갱신 주기와 실시간성 요구에 따라 선택한다.
  • 파일 기반 수집은 일회성 분석과 배치 처리에 적합하며 파일 형식마다 표현력과 처리 비용이 다르다.
  • API는 정의된 규칙으로 서버에 요청해 JSON·XML 등의 응답을 받으며 자동화된 수집에 활용된다.
  • 웹 스크래핑은 웹 페이지에서 필요한 값을 추출하고, 웹 크롤링은 링크를 따라 웹 구조를 탐색한다.

최종 정리: 좋은 데이터 분석은 좋은 수집 설계에서 시작한다. 먼저 목적과 품질 기준을 세우고 데이터의 구조를 판별한 뒤, 파일·API·웹 스크래핑 가운데 소스와 실시간성에 맞는 방법을 선택해야 한다. 수집 이후의 정제와 분석까지 고려해 형식, 주기, 접근 정책을 함께 설계하는 것이 중요하다.

예상문제 20선

1. 데이터 수집의 의미로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
데이터 수집은 단순 축적이 아니라 목적에 맞는 데이터를 식별하고 품질과 분석 활용성을 고려해 획득·준비하는 과정이다.

2. 서로 다른 출처에서도 같은 개념과 값의 표현이 모순되지 않는 품질 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
일관성은 출처나 시점이 달라도 동일한 개념의 데이터가 서로 충돌하지 않는 성질이다.

3. 분석에 필요한 필수 항목이 빠짐없이 포함되어 있는지를 나타내는 품질 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
완전성은 분석에 필요한 데이터 항목과 값이 누락되지 않고 갖추어진 정도를 뜻한다.

4. 미리 정의된 스키마에 따라 행과 열로 저장되는 데이터는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
정형 데이터는 고정된 필드와 자료형을 가진 테이블 구조를 따르므로 저장과 분석이 체계적이다.

5. 정형 데이터의 한계로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
고정된 스키마는 분석과 관리를 쉽게 하지만 새로운 형태나 복잡한 비정형 정보를 담는 유연성은 낮다.

6. 비정형 데이터의 예로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
이미지와 음성은 고정된 행·열 스키마 없이 내용을 담는 대표적인 비정형 데이터이다.

7. 반정형 데이터의 특징으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
반정형 데이터는 일정한 구조 표시를 갖지만 정형 데이터처럼 엄격하고 고정된 스키마에는 묶이지 않는다.

8. 다음 중 반정형 데이터의 대표 형식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
JSON은 키-값과 중첩 계층을 이용해 구조를 표현하는 대표적인 반정형 형식이다.

9. 데이터 수집 방법을 선택할 때 고려해야 할 요소로 가장 거리가 먼 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
수집 방식은 소스, 권한, 양, 갱신 주기와 실시간성 같은 데이터 요구에 따라 결정한다.

10. 파일 기반 데이터 수집이 특히 적합한 상황은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
파일 기반 수집은 로컬·네트워크 파일을 직접 읽는 방식으로 일회성 분석과 배치 처리에 잘 맞는다.

11. CSV 형식의 장점으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
CSV는 단순한 표 구조와 높은 호환성이 장점이지만 복잡한 구조와 자료형 정보 표현에는 한계가 있다.

12. 수식과 차트를 지원하고 사람이 시각적으로 편집하기 쉬운 파일 형식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
Excel은 시각적 편집과 수식·차트를 지원해 비즈니스 리포트와 데이터 편집에 유용하다.

13. JSON 형식에 관한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
JSON은 계층적·중첩 구조와 웹 API 활용에 강하지만 구조가 깊어질수록 파싱과 이해가 복잡해진다.

14. API의 주된 역할은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
API는 미리 정한 규칙과 명령으로 서로 다른 소프트웨어가 상호작용하도록 하는 인터페이스이다.

15. REST API의 일반적인 동작으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
REST API는 HTTP 요청과 응답 모델을 사용하며 서버는 요청 결과를 구조화된 형식으로 반환한다.

16. 지속 연결을 이용한 양방향 실시간 통신에 가장 적합한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
WebSocket은 핸드셰이크 뒤 연결을 유지하며 서버와 클라이언트가 양방향으로 실시간 데이터를 교환한다.

17. 필요한 필드만 질의하여 과도한 데이터 전송을 줄이는 데 유리한 방식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
GraphQL은 클라이언트가 필요한 데이터 구조를 질의에 명시해 선택적으로 응답받을 수 있다.

18. 웹 스크래핑과 웹 크롤링의 비교로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
크롤링은 웹 문서와 링크의 탐색에, 스크래핑은 특정 문서에서 데이터 값을 추출하는 데 초점을 둔다.

19. 웹 스크래핑을 설계할 때 반드시 고려해야 할 사항은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
안정적인 스크래핑을 위해 페이지 구조와 데이터 생성 방식을 파악하고 웹 사이트의 접근 정책을 준수해야 한다.

20. 웹 스크래핑에 활용할 수 있는 Python 라이브러리 조합은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
강의록은 웹 요청, HTML 분석, 동적 페이지 자동화 등에 활용되는 해당 Python 라이브러리들을 제시한다.

댓글