1. 빅데이터 분석과 파이썬(Python)
데이터란?
데이터란? 어떤 대상에 대한 측정이나 관찰을 통해, 모아놓은 값이며, 사실을 모아놨다고 해서 데이터셋(Dataset)이라고도 한다.
분석이란? 대상을 더 잘이해하기 위해, 유효적절한 방법으로 나누고 쪼개서 그 대상을 잘 이해하는 것이다.
우리는 데이터의 의미를 도출하기 위해 데이터를 분석한다.
빅데이터에 대한 분석 방법
- 탐색적 데이터 분석(EDA, exploratory data analysis)
- 가설검정
- 기계학습
- 자연어 처리
- 패턴인식
탐색적 데이터분석은 모든 데이터분석의 출발점으로서, 각종 통계적 기법을 적용하여 특징을 발견하고 시각화한다.
이 때, 데이터에 대한 가설을 세우고 검증하는 방법으로 간다. 이제부터 탐색적 데이터분석을 데이터분석이라 줄여서 부르기로 한다.
데이터분석을 통한 수익 창출의 예
- amazon : 고객이 구매한 이전애 구매한 서적을 분석한 뒤, 해당고객과 유사한 구매성향을 가진 고객들에게 그 서적을 추천하는 시스템을 통해 전체 매출의 35%를 차지했다.
- 독일 국가대표팀 : 2014년 독일국가대표팀은, 통계기업에 데이터분석을 요청하였고, 팀워크&개인기량을 높이기 위한 피드백을 제공함. 이를 통해 선수들이 3초->1초까지 공 소유시간을 줄었다.
빅 데이터란?
양이 많이 많고 복잡해서, 통상적인 데이터분석이 먹히지 않는 것이다.
큰수의 법칙(Law of Large Numbers)에 의하면, 표본의 크기가 커질수록 모집단의 평균과 가까워진다는 것이 알려져있다.
예를 들어, 양면의 동전을 여러번 던진다면 결국 앞면과 뒷면의 비율은 1:1로 수렴하게 된다.
데이터의 양이 많을 수록, 분석을 통해 보다 사실에 가까워질 가능성이 높아진다는 것을 알 수 있다.
이 때문에, 분석자들의 입장에서는 어떻게 하면 데이터를 많이 모을 수 있을 까가 화두였다.
하지만, 오늘날 모바일 과 인터넷기술의 발전으로 데이터를 데이터를 축적되는 속도가 매우 높아졌다.
앞어 살펴본 2가지 사례와 같이, 분야를 막론하고 빅데이터의 분석은 어떤 일의 성패와 매우 관련성이 높다.
왜 파이썬인가?
오늘날의 빅데이터란 테라바이트 단위를 말한다. 하지만 개인이 다룰 데이터는 수백 메가바이트 혹은 기가바이트 수준일 뿐이다.
첨부파일을 다운 받아서, 다 모든행이 열리지도 않음에도 불구하고, 년도에 따른 출생자를 구하기 위해, 일부행을 지운 상태에서
데이터 > 부분합 > Year, 합계, Count를 선택해서 구해보자.
왼쪽 상단의 2번 탭을 눌러서, 각 년도에 따른 출생수(Count)를 살펴보자. 하지만 우리는 각 년도별 성별(남/여)에 따른 출생수의 합도 구해야한다. 이때, 부분합을 한번 더 누른 다음 [ gender , 합계, Count, 새로운값으로 대치를 해제 ]하면 된다. 3번째 탭에서 확인해보자.
근데 우리가 해야할 분석은 부분합 2번 하는 것보다 더 복잡할 수 도 있다. 예를 들어, 각 연도별 성별 조합에 따른 출생수의 합 내에서 전체대비 상위 1000가 차지하는 이름의 비중을 구하는 방법은 어떻게 할 것인가?
각 연도별 성별 내에서, 출생수를 기준으로 내림차순 정렬한 다음, 출생수가 많은 이름별로 1번부터 1000번까지 세야한다.
이렇게 엑셀을 통한 빅데이터분석은 계산과정도 함수도 너무 복잡해진다. 결정적으로 데이터가 1048576행까지밖에 로드가 안되며, 그 상태에서 여러방향으로 분석하려해도 속도가 느리고 유연성이 떨어진다.
반면 파이썬에서는 2줄이면 파일을 모두 로드할 수 있고, 차트도 한번에 해결된다. 대신 데이터를 일일히 보여주진 않는다. 작은 데이터규모는 엑셀이 편한데, 빅데이터의 경우에는 파이썬이 압도적이다.
다른 언어도 있는데 왜 수많은 언어중에 파이썬인가?
- 언어 자체가 너무 쉽다.
- 컴퓨터와 대화가 가능하다. 대화식 프로그래밍 방식은 파이썬 이외에 스크립트언어의 특징이기도 하다. 자바, 스칼라, 루비 등이 있다.
특히, 파일이 바뀔때마다 컴파일을 해야하는 수고가 던다. - 강력한 라이브러리를 가진 것이 독보적이다.(NumPy, pandas, matplotlib)
- 공짜다(R과 Phython은 모두 무료인 open source)
R과 python은 무슨 차이인가? 위의 장점들은 R도 가지고 있으나, 파이썬은 경우 다양한 목적으로 사용할 수 있는 언어다.
예를들어, 오늘의 주식시장을 분석한 데이터를 웹사이트에 업데이트하고자 한다. 이런 경우에는, 파이썬 라이브러리를 사용하여 주식시장 데이터를 긁어온 다음, 미리 분석가가 짜놓은 데로 원하는 데이터분석을 실시간으로 하도록하고, 파이썬 웹 프레임워크로 웹사이트를 만들 수 도 있다.
'빅데이터 관련 프로그래밍 > Python - bigdata(pandas 기초)' 카테고리의 다른 글
6. 기초 라이브러리 Numpy(넘파이) 사용하기 (import, 데이터형, array연산) (0) | 2018.02.22 |
---|---|
5. iPhython Notebook 살펴보기 (1) | 2018.02.22 |
4. iPython 살펴보기 (0) | 2018.02.22 |
3. 윈도우에서 파이썬(python) 및 파이썬 라이브러리(numpy, pandas, matplotlib, jupyter) 설치 (0) | 2018.02.22 |
2. IPython, IPython Notebook 그리고 Library (0) | 2018.02.22 |