데이터란?

데이터란?  어떤 대상에 대한 측정이나 관찰을 통해, 모아놓은 값이며, 사실을 모아놨다고 해서 데이터셋(Dataset)이라고도 한다.

분석이란? 대상을 더 잘이해하기 위해, 유효적절한 방법으로 나누고 쪼개서 그 대상을 잘 이해하는 것이다.

우리는 데이터의 의미를 도출하기 위해 데이터를 분석한다.


빅데이터에 대한 분석 방법

  1. 탐색적 데이터 분석(EDA, exploratory data analysis)
  2. 가설검정
  3. 기계학습
  4. 자연어 처리
  5. 패턴인식


탐색적 데이터분석은 모든 데이터분석의 출발점으로서, 각종 통계적 기법을 적용하여 특징을 발견하고 시각화한다.

이 때, 데이터에 대한 가설을 세우고 검증하는 방법으로 간다. 이제부터 탐색적 데이터분석을 데이터분석이라 줄여서 부르기로 한다.

데이터분석을 통한 수익 창출의 예

  • amazon : 고객이 구매한 이전애 구매한 서적을 분석한 뒤, 해당고객과 유사한 구매성향을 가진 고객들에게 그 서적을 추천하는 시스템을 통해 전체 매출의 35%를 차지했다.
  • 독일 국가대표팀 : 2014년 독일국가대표팀은, 통계기업에 데이터분석을 요청하였고, 팀워크&개인기량을 높이기 위한 피드백을 제공함. 이를 통해 선수들이 3초->1초까지 공 소유시간을 줄었다.



빅 데이터란?

양이 많이 많고 복잡해서, 통상적인 데이터분석이 먹히지 않는 것이다.

큰수의 법칙(Law of Large Numbers)에 의하면, 표본의 크기가 커질수록 모집단의 평균과 가까워진다는 것이 알려져있다.

예를 들어, 양면의 동전을 여러번 던진다면 결국 앞면과 뒷면의 비율은 1:1로 수렴하게 된다.

image_thumb4

데이터의 양이 많을 수록, 분석을 통해 보다 사실에 가까워질 가능성이 높아진다는 것을 알 수 있다.

이 때문에, 분석자들의 입장에서는 어떻게 하면 데이터를 많이 모을 수 있을 까가 화두였다.

하지만, 오늘날 모바일 과 인터넷기술의 발전으로 데이터를 데이터를 축적되는 속도가 매우 높아졌다.

앞어 살펴본 2가지 사례와 같이, 분야를 막론하고 빅데이터의 분석은 어떤 일의 성패와 매우 관련성이 높다.



왜 파이썬인가?

오늘날의 빅데이터란 테라바이트 단위를 말한다. 하지만 개인이 다룰 데이터는 수백 메가바이트 혹은 기가바이트 수준일 뿐이다.

WLWCodeColorizer.zip

첨부파일을 다운 받아서, 다 모든행이 열리지도 않음에도 불구하고,  년도에 따른 출생자를 구하기 위해, 일부행을 지운 상태에서
데이터 > 부분합 > Year, 합계, Count를 선택해서 구해보자.

image

왼쪽 상단의 2번 탭을 눌러서, 각 년도에 따른 출생수(Count)를 살펴보자. 하지만 우리는 각 년도별 성별(남/여)에 따른 출생수의 합도 구해야한다. 이때, 부분합을 한번 더 누른 다음 [ gender , 합계, Count, 새로운값으로 대치를 해제 ]하면 된다. 3번째 탭에서 확인해보자.

image

근데 우리가 해야할 분석은 부분합 2번 하는 것보다 더 복잡할 수 도 있다. 예를 들어, 각 연도별 성별 조합에 따른 출생수의 합 내에서 전체대비 상위 1000가 차지하는 이름의 비중을 구하는 방법은 어떻게 할 것인가?
각 연도별 성별 내에서, 출생수를 기준으로 내림차순 정렬한 다음, 출생수가 많은 이름별로 1번부터 1000번까지 세야한다.

이렇게 엑셀을 통한 빅데이터분석은 계산과정도 함수도 너무 복잡해진다. 결정적으로 데이터가 1048576행까지밖에 로드가 안되며, 그 상태에서 여러방향으로 분석하려해도 속도가 느리고 유연성이 떨어진다.

반면 파이썬에서는 2줄이면 파일을 모두 로드할 수 있고, 차트도 한번에 해결된다. 대신 데이터를 일일히 보여주진 않는다. 작은 데이터규모는 엑셀이 편한데, 빅데이터의 경우에는 파이썬이 압도적이다.


다른 언어도 있는데 왜 수많은 언어중에 파이썬인가?

  • 언어 자체가 너무 쉽다.
  • 컴퓨터와 대화가 가능하다. 대화식 프로그래밍 방식은 파이썬 이외에 스크립트언어의 특징이기도 하다.  자바, 스칼라, 루비 등이 있다.
    특히, 파일이 바뀔때마다 컴파일을 해야하는 수고가 던다.
  • 강력한 라이브러리를 가진 것이 독보적이다.(NumPy, pandas, matplotlib)
  • 공짜다(R과 Phython은 모두 무료인 open source)

R과 python은 무슨 차이인가? 위의 장점들은 R도 가지고 있으나, 파이썬은 경우 다양한 목적으로 사용할 수 있는 언어다.

예를들어,  오늘의 주식시장을 분석한 데이터를 웹사이트에 업데이트하고자 한다. 이런 경우에는, 파이썬 라이브러리를  사용하여 주식시장 데이터를 긁어온 다음, 미리 분석가가 짜놓은 데로 원하는 데이터분석을 실시간으로 하도록하고, 파이썬 웹 프레임워크로 웹사이트를 만들 수 도 있다.


+ Recent posts