본 내용은 빅데이터를 지탱하는 기술 (니시다 케이스케)
책을 정리한 내용입니다.
Chapter 1 빅데이터의 기초 지식 1-1 ~ 1-2
데이터 분석 분야에서 자주 사용되는 스크립트 언어에는 R과 Python이다.
Python 특징
데이터 프레임은 표 형식의 데이터를 추상화한 객체
데이터 프레임을 사용하면 스크립트 언어 안에서 데이터 가공과 집계를 할 수 있다.
데이터 전처리에 사용할 수 있는 pandas의 함수
이름 | 설명 |
---|---|
ix | 조건에 일치하는 데이터 검색 |
drop | 지정한 행(칼럼) 삭제 |
rename | 인덱스 값(칼럼명) 변경 |
dropna | 값이 없는 행(칼럼명) 제외 |
fillna | 값이 없는 셀을 지정한 값으로 치환 |
apply | 각 칼럼(행)에 함수 적용 |
pandas에는 시계열 데이터를 취급하기 위한 다양한 기능이 있다. 시간을 인덱스로 지정함으로써 시계열 데이터를 분석할 수 있다.
SQL 결과를 데이터 프레임으로
import pandas as pd
import sqlalchemy
#데이터베이스에 접속
engine = sqlalchemy.create_engine('sqlite:///sample.db')
#쿼리를 실행해서 데이터 프레임으로 변환
query = '''
SELECT substr(time, 1, 10) time, count(*) count
FROM access_log
WHERE time BETWEEN '1995-07-01' AND '1995-07-04'
GROUP BY 1 ORDER BY 1
'''
pd.read_sql(query, engine)
데이터 탐색에서 중요한 것은 우선 큰 그림을 파악한 후에 점차 세부 사항으로 깊이 들어가는 것.
모니터링 : 계획적으로 데이터의 변화를 추적해 나가는 것
데이터는 현재 상황을 파악하기 위한 하나의 도구로 사용할 수 있다. 비정상적인 상태를 나타내는 징후가 있다면, 무언가 조치를 취해야 한다. 즉, 자신의 다음 행동을 결정하기 위한 재료로서 데이터를 살펴본다는 것이다.
KPI(Key Peroformance Indicator) : 프로젝트의 현황을 파악하기 위한 숫자
ex) 웹 서비스의 KPI
약칭 | 정식 명칭 | 의미 |
---|---|---|
DAU | Daily Active User | 서비스를 이용한 1일 유저 수 |
계속률 | Customer Retention | 서비스를 계속해서 이용하고 있는 유저의 비율 |
ARPPU | Average Revenue Per Paid User | 유료 고객 1인당 평균 매출 |
KPI 모니터링에서 의식하고 싶은 것은 그것이 행동 가능(actionable)한 것인가 이다. 즉, 결과에 따라 자신의 다음 행동이 결정될 지의 여부다. 행동 가능한 숫자를 만들기 위해서는 그것이 좋은지 나쁜지 판단하기 위한 판단 기준이 필요하다.
자신의 행동을 결정할 때 객관적인 데이터를 근거하여 판단하는 것을 ‘데이터 기반(data-driven) 의사 결정’이라고 한다.
무료로 사용할 수 있는 BI 도구 예
명칭 | 종류 |
---|---|
Tableau Public | 데스크톱 + 웹 서비스 |
Quick Sencse | 데스크톱 + 웹 서비스 |
Microsoft Power BI | 데스크톱 + 웹 서비스 |
구글 Data Studio | 웹 서비스 |
Tableau Public은 주로 블로그 등에서 공개하는 데이터를 위해 만들어져 있으므로 회사 내의 데이터를 분석하는 데는 적합하지 않다.
데이터의 움직임을 모니터링하기 위한 기본적인 전략은 우선 정기적인 보고를 통해 중요한 변화를 파악하는 것이다. 그리고 그 원인을 알기 위해 원인이 되는 데이터로 돌아와 재집계를 반복하며 자세히 살펴보는 것이다.
BI 도구는 이를 위한 소프트웨어이고 데이터를 자세히 탐색할 때 그 힘을 발휘한다. BI 도구는 자신이 직접 데이터를 보기 위한 소프트웨어이며, 집계의 단면을 다양하게 전환하면서 원하는 정보를 찾아낼 수 있다.
문제는 항상 이상적인 데이터가 존재할 수 없다는 것이다. 원하는 대로 집계 결과를 얻으려면 ‘시각화하기 쉬운 데이터’를 만들어야 한다.