Big Data

  • 너무 크고 복잡해서 관계형 데이터베이스 관리 시스템(RDBMS; Relational Database Management Systems)와 같이 전통적인 데이터 관리 기법으로는 다루기 어려운 데이터


Data Science

  • 대량의 데이터를 분석해 지식을 추출하는 방법을 포함하며, 오늘날 쏟아지는 대량의 데이터를 다룰 수 있는 통계의 확장판
  • 컴퓨터 과학부터 통계학의 단골 메뉴까지 망라하는 기법을 활용


Big Data와 Data Science와의 관계

  • 원유와 정유 공장의 관계와 유사하며, 데이터 사이언스와 빅데이터는 통계적이고 전통적인 데이터 관리로부터 발전했으나 이제는 별도의 영역으로 간주


Big Data의 특징

http://www.gereports.kr/wp-content/uploads/2016/12/3v-820x327.png

출처 : http://www.gereports.kr/enabling-value-from-your-data/


  • 빅데이터의 특징은 V로 시작하는 세 단어로 표현되곤 한다.
    • Volume : 얼마나 많은 데이터가 있는가?
    • Variety : 데이터의 종류가 얼마나 많은가?
    • Velocity : 새로운 데이터가 얼마나 빨리 생성되는가?
  • 위의 3가지에 Veracity(정확성)을 추가해 4개의 항목으로 표현
  • 이러한 속성들이 바로 전통적인 데이터 관리 도구와 빅데이터를 구분
  • 빅데이터는 데이터의 수집과 선별, 저장, 검색, 공유, 전송, 시각화와 같은 하나하나의 과정이 쉽지 않음
  • 빅데이터에서 통찰을 얻는 것 또한 특별한 기술


1.1  Benefits and uses of data science and big data

  • 거의 모든 산업 분야별 기업체에서는 고객, 업무, 직원, 상품에 대한 통찰을 얻기 위해 데이터 사이언스와 빅데이터를 활용
  • 많은 기업에서 데이터 과학을 사용해 고객에게 더 좋은 경험을 하게 하고 교차 판매(다른 물품도 사게하는 일)나 상향 판매(더 비싼 물품을 사게하는 일), 개인화를 추구
  • 사용 예
    • 구글 애드센스(Google AdSense): 인터넷 사용자로부터 데이터를 수집해 인터넷을 이용하는 사람에게 적절한 광고 메시지를 전달
    • 맥스포인트(MaxPoint): 실시간 맞춤형 광고
    • 인사 전문가: 후보 검증을 위해 피플 애널리틱스(people analytics)와 텍스트 마이닝을 사용하여 직원의 사기를 점검하고 동료 간의 비공식적 네트워크를 연구
    • 금융 기관 : 데이터 과학을 사용해 주식 시장을 예측하고 대출의 위험을 평가하며 신규 고객을 유치하는 방법을 학습


1.2  Facets of data

  • 데이터 사이언스 및 빅데이터는 여러 유형의 데이터를 사용하는데 서로 다른 도구와 기법을 사용해야 함

데이터의 유형

  • 구조적 데이터(structured data)
  • 비구조적 데이터(unstructed data)
  • 자연어(natural language)
  • 장비에서 생성된 데이터(machine-generated data)
  • 그래프 기반 데이터(graph-based data)
  • 오디오, 비디오 및 이미지
  • 스트리밍 데이터(streaming data)


Structured Data

  • 정형 데이터라도 하며 데이터 모델에 의존적이며 레코드 내의 고정된 필드에 저장되어 있는 데이터
  • 데이터베이스의 테이블이나 엑셀 파일에 저장하기 쉬운 편
  • 데이터베이스에 있는 데이터를 관리하고 조회하는 데는 SQL(Structured Queary Language, 구조화된 질의 언어)을 사용
  • 구조적 데이터라 할지라도 가계도와 같은 계층적 데이터는 전통적인 관계형 데이터베이스에 저장하기 어려움
  • 사람들과 기계들 때문에 우리가 보는 세계는 구조적 데이터로만 이루어지지 않으며, 데이터는 비구조적인 경우가 더 많음


Unstructured Data

  • 이메일과 같이 데이터 모델에 잘 맞지 않는 데이터
  • 이메일에는 발신자, 제목, 본문과 같은 구조적 요소가 포함되어 있지만 특정 직원에 대한 불만 사항을 쓴 사람의 수를 알아내는 것은 쉽지 않음
  • 어떤 사람을 지칭하는 데만 해도 여러 방법이 존재할 뿐만 아니라 수천 가지 언어와 사투리로 인해 문제가 더욱 복잡해짐


Natural Language

  • 자연어는 비구조적 데이터의 특수한 유형
  • 자연어 처리를 위해서는 특수한 데이터 사이언스 기법과 언어학에 대한 지식이 필요하기 때문에 처리가 어려움
  • 자연어 처리 커뮤니티에서는 개체 인식, 주제 파악, 요약문 작성, 텍스트 완성, 감정 분석에서 성공을 거두었지만,
  • 한 분야에 맞게 학습시킨 모델을 다른 분야에 적용하는 것이 불가능


Machine-generated Data

  • 컴퓨터, 프로세서, 애플리케이션, 기타 기계가 사람의 개입없이 자동으로 생성한 정보
  • 기계 데이터인 경우에 많은 양의 데이터가 빠른 속도로 쌓이므로 확정성 있는 도구에 상당 부분 의존해 분석해야 함
  • 웹 서버 로그, 호출 상세 기록, 네트워크 이벤트 로그, 원격 검침 정보 등과 같이  기계 데이터는 고전적인 테이블 구조로 된 데이터베이스 잘 들어 맞음
  • 상호 관계가 복잡하거나 '네트워크를 이루른' 데이터에서는 개체(entity) 간의 관계가 중요하므로 다른 식으로 접근해야 함


Graph-based 또는 network data

  • 그래프 또는 네트워크 데이터는 객체 사이의 관계나 인접한 정도에 초첨을 맞춘 데이터
  • 그래프 구조에서는 꼭짓점(node)과 꼭짓점과 꼭짓점을 잇는 선분(edge), 속성(property)을 가지고 그래프 데이터를 표현하고 저장
  • 그래프 데이터는 소셜 네트워크를 표현하는 데 적합해 어떤 사람의 영향력을 평가하거나 사람들 사이의 최단 경로를 수치화하는데 사용
  • 그래프 데이터베이스는 그래프 기반 데이터를 저장하는데 사용하며 SPARQL과 같은 특수한 질의 언어를 사용해 조회


1.3  The data science process

  • 데이터 사이언스의 진행 과정은 일반적으로 그림 1과 같이 여섯 단계로 이루어진다.


그림 1  데이터 사이언스의 진행 과정


1. Setting the research goal

  • 데이터 사이언스 프로젝트를 요청받으면 가정 먼저 할 이은 프로젝트 사명서를 준비하는 것
  • 사명서에 포함될 내용
    • 무엇을 조사할 것인가?
    • 그 결과를 가지고 회사가 어떻게 이익을 낼 것인가?
    • 어떤 데이터와 자원이 필요한가?
    • 일정
    • 산출물 등


2. Retrieving data

  • 사명서에 명시된 데이터를 수집하는데
  • 이 단계에서 다음을 확인
    • 프로그램에서 사용할 데이터가 존재하는가?
    • 데이터의 품질은 어느 정도인가?
    • 데이터에 접근할 수 있는가?


3. Data preparation

  • 데이터를 수집하는 과정에서 오류가 발생하는 일이 잦기 때문에 데이터의 품질을 높여 다음 단계에서 쓸 수 있도록 해야 함
  • 데이터 준비 단계는 다음 3단계로 구성
    • Data cleaning
      • 데이터 출처로부터의 거짓 데이터를 제거하며 데이터 출처 사이의 불일치를 해소하는 정제 과정
    • Data intergration
      • 여러 데이터 출처로부터 얻은 정보를 조합함으로써 데이터 출처를 보충하는 통합 과정
    • Data transformation
      • 데이터를 모델에 적합한 형태로 변환하는 과정


4. Data exploration

  • 데이터를 깊이 이해하기 위해 다음의 내용을 이해하려고 노력해야 함
    • 변수들의 상호작용
    • 데이터의 분포
    • 이상점의 존재
  • 데이터를 탐색하기 위해 기술 통계학(descriptive statistics), 시각화 기법, 단순한 모델을 주로 사용하며 이를 탐색적 데이터 분석(exploratory data analysis, EDA)이라고 함


5. Data modeling

  • 이전 단계로부터 얻은 모델, 도메인 지식, 데이터에 관한 통찰을 가지고 연구 과제에 대한 답을 찾음
  • 통계학, 머신러닝, 운영과학(operational reseach)과 같은 분야의 기법을 사용
  • 모델을 구축하는 과정에서 모델로부터 변수를 선택하고, 모델을 실행하고, 모델을 진단하는 것을 반복적으로 수행


6. Presentation 및 automation

  • 결과를 발표하기 위해 발표 자료나 연구 보고서 등의 결과물을 작성
  • 때로는 업무 수행 과정을 자동화해야 함



1.4  The big data ecosystem and data science

  • 데이터 사

'Data Science with Python' 카테고리의 다른 글

기술 통계량(Descriptive Statistics)  (0) 2020.06.16
재표본 추출  (0) 2019.11.25
가설검정  (0) 2019.11.22
A/B 검정  (0) 2019.11.22

+ Recent posts