반응형

Doing Data Science(데이터 과학 입문) /레이철 슈트, 캐시 오닐 지음

 

 

Doing Data Science

작가
O'Reilly Media
출판
O'ReillyMedia
발매
2013.11.14.

 


Doing Data Science(데이터 과학 입문) /레이철 슈트, 캐시 오닐 지음


​데이터를 분석하는 일과 관련이 있다면 한번쯤 읽어 볼만한 책인 것 같습니다.

단지, 데이터 분석의 범위가 워낙​ 넓고 할얘기는 많고

설명이 축약된 부분이 있어 초보자 분들은 이해하시기 어려운 부분이 있을 것 같습니다.

그리고 아무래도 사례와 해석이 외국의 내용이다 보니 번역이 어색하거나 이해가 어려운 부분이 있습니다.

그럼에도 불구하고 데이터 분석의 전반적이면서도 중요한 부분을 넓게 터치하고 있기 때문에

반드시 읽어볼 만한 책입니다.

특히, 마지막 부분에 나오는 ​도덕적 윤리 부분은 데이터 분석의 고수 일수록 읽어봐야할 부분인것 같습니다.

이하는 목차와 주요 내용이에요...

CHAPTER 1 소개: 데이터과학이란 무엇인가?
1.1 빅데이터와 데이터과학 열풍
1.2 열풍을 넘어서
1.3 왜 지금?
1.4 현재의 풍경(약간의 역사와 함께)
1.5 데이터과학 프로필
1.6 사고 실험: 메타 정의
1.7 데이터과학자는 정말로 어떤 직업인가?

CHAPTER 2 통계적 추론, 탐색적 데이터분석과 데이터과학 과정
2.1 빅데이터 시대의 통계적 사고
2.2 탐색적 데이터분석
2.3 데이터과학 과정
2.4 사고 실험: 여러분은 혼돈을 어떻게 시뮬레이션할 것인가?
2.5 사례 연구: 리얼다이렉트

CHAPTER 3 알고리즘
3.1 기계학습 알고리즘
3.2 세 가지 기본 알고리즘
3.3 연습문제: 기본적인 기계학습 알고리즘들
3.4 전체 요약
3.5 사고 실험: 통계로봇

CHAPTER 4 스팸 필터, 나이브베이즈, 경합
4.1 사고 실험: 예제로 배우기
4.2 나이브베이즈
4.3 좀 더 멋있게: 라플라스 평활
4.4 나이브베이즈와 k-NN의 비교
4.5 코드 예시
4.6 웹스크래핑: 기사분류를 위한 나이브베이즈

CHAPTER 5 로지스틱 회귀
5.1 사고 실험
5.2 분류기
5.3 M6D 로지스틱 회귀 사례연구
5.4 Media 6 Degrees 연습문제

CHAPTER 6 시간기록과 금융 모형화
6.1 카일 티그와 티비태그
6.2 시간기록
6.3 캐시 오닐
6.4 사고 실험
6.5 금융 모형화
6.6 연습문제: 티비태그와 시간기록 사건 데이터

CHAPTER 7 데이터에서 의미 추출하기
7.1 윌리엄 커키어스키
7.2 캐글모형
7.3 사고 실험: 로봇 평가자의 윤리적 함축성은 무엇인가?
7.4 특징 선택
7.5 데이비드 허페이커: 사회연구에 대한 구글의 하이브리드 접근법

CHAPTER 8 추천 엔진: 대규모 사용자 대면 데이터 상품
8.1 현실 세계의 추천 엔진
8.2 사고 실험: 필터 버블
(하략)

인상적인 내용​

2012년 수 백 명의데이터 과학 실무자를 대상으로 한 설문조사에 기초한, 데이터과학의 하위 분야에 관한 군집화 시각화. 할란 래리스, 숀 머피, 마크 베이즈만이 공저한 "분석자들을 분석한다" : 오라일리

 

주요 분야 : 데이터 사업자, 데이터 창조자, 데이터 개발자, 데이터 연구자

주요 스킬 : 비즈니스, 기계학습/빅데이터, 수학/경영과학, 프로그래밍, 통계학

 

 

벨연구소 -> 존 튜키 ->  EDA, R 발명가 Exploratory Data Analysis (기본도구: 도표Plot, 그래프graphs, 요약통계 summary statistics )


 

EDA

데이터 변수의 도표화

시계열 데이터 도표화

변수 변환

산점도 행렬을 이용한 변수들의 대응 관계 파악

모든 변수의 요약통계 생성

평균, 최솟값, 최댓값, 사분위수 등의 계산, 그리고 이상값의 발견


컴텐츠 순위알고리즘 개발 -> 인기있는 이라는 개념을 위해클릭의 최고 빈도, 또는 가장 많은 코멘트가 달린 게시글, 어느 기준치 이상의 코멘트, 혹은 여러 지표의 가중평균일 수 있다. 즉, 어떻게 양적으로 측정할지를 결정하기 전에 데이터가 어떤행동을 하는지 이해할 필요가 있고 이를 위해 가장 좋은 방법이 EDA 분석이다.

 

데이터 과학 과정

데이터 수집 -> 처리 -> 정제 -> 탐색적분석(EDA), 기계학습 분석, 통계적 모형 분석 -> 시각화, 보고 -> 의사결정, 상품개발 -> 실행/FeedBack

 

 

단계별 데이터과학자의 역할

(현실 : 질문하기 어떤 데이터가 기록되거나 수집될 필요가 있는가? 가설설정)

정제 : 왜 그러한가? 내가 답해야 할 연구 문제는 무엇인가, 나는 그것이 어떻게 보이기를 원하는가?

 

 

현실        ->       수집       ->      처리       ->       정제

인간행동         - 이메일            -파이프라인        - 정제

생물학            - 로그               -웹프로그래밍     -이상값

금융               - 의료 기록        -클리낭              -결측값

인터넷            - 설문조사          -변환                -디버깅

의학               - 채혈                -결합                 -표

사회학            - 올림픽 기록      -경합

올림픽            - 뉴욕타임즈

 

 

 

모형에서 얻고자 하는 것, 첫째는 추세고 둘째는 변이다. 추세는 방향 변이는 속도(?변화량?)

 

단순 선형회귀 분석 후 추가 분석 방법

1. 오차에 대한 가정을 모형에 도입

2. 더 많은 예측변수를 추가

3. 예측변수를 변환

 

 

 

참긍정률 True Positive Rate = 재현율 recall

 

정밀도 Precision : 맞춘것 대비 참긍정 비율:  참긍정의 수 / (참긍정의 수 + 거짓긍정의 수)

정확도 Accurary : 맞춘것 전체 대비 참긍정 + 거짓부정률 의 비율(맞는걸 맞다고하고 틀린걸 틀렸다고 맞춘 비율) =

ROC : Receiver Operation Characteristic

AUC : Area under the ROC Curve

F-scord

 

나이브베이즈와 k-NN

나이브베이즈는 선형분류기지만 k-NN은 아님, k-NN은 차원의 저주와 많은 특징집합이 문제 되지만 나이브베이즈는 문제가 안됨

k-NN은 훈련이 필요없고 데이터 세트를 그냥 사용하지만 나이브제이즈는 훈련이 필요함

둘다 지도학습

 

변동성 측정 시 회고 창(Loockback Window) 선택이 중요 : 정보를 취하는 과거 시간의 길이, 회고 창이 길어질수록 추정을 위해 더 많은 정보가 필요, 짧을 수록 새로운 정보에 더 빨리 반응

롤링창(Rollig window)

연속적인 회고 창(continuous lookback window) : 오래된 데이터는 낮은 가중치

​데이터 분류 문제 처리 시 결정 사항

1. 어떤 분류기를 사용할 것 인가?

     선택 기준

      가. 실행시간-빠른분석이필요한가?,

      나. 데이터 과학자 역량-정말 알고리즘에 대해서 잘 알고 분석 하는 것인가? 잘아는 알고리즘이 무엇인가?

      다. 해석 가능성-결과에대해 비즈니스 적으로 해석이 필요한가

            (예: 신용카드사는 RF보다 DT가 더 비즈니스 활용 측면에서 의미가 있음)

      라. 확장성 - 고려사항

            1) 학습시간: 모형을 훈련시키는데 얼마나 시간이 걸리나?

​            2) 평가시간: 모형 완성 후 새로운 사용자를 평가하는 데 얼마나 걸리나?

            3) 모형의 저장공간: 얼마나 많은 메모리를 차지 하는가?​

2. 어떤 최적화 방법을 택할 것인가?

3. 어떤 손실함수를 최소화 할 것 인가?

4. 데이터에서 어떤 특징을 추출할 것인가?

5 어떤 척도를 사용할 것인가​?

​윌 커키어스키

데이터과학자가 되는 것은 여러분이 모든 것에 대해 아무 것도 알지 못할 때까지 더 많은 것을 배우고 더 배울 때 가능하다.

'변수와 특징 선택 입문' An Introduction to Variable and Feature Selection' 이자벨 구용(Isabelle Guyon의 논문) http://goo.gl/3dz8Ar​  부분집합을 먼저 정하고 주요 특징을 찾는 방법에 초점, 

필터filter, 래퍼wrapper, 임베디드embedded 방법

필터

결과변수와의 상관계수 같은 통계량이나 척도에 기반한 순위에 따라 가능한 특징을 정렬하는 것

(예: 하나의 특징 값을 예측변수로 사용해서 선형회귀 실행 후 p-value, r2 등의 값을 기준으로 정렬하는 것)

래퍼

어떤 고정된 크기의 특징들의 부분집합을 찾고자 함. 특정된 크기의 조합을 위해 많은 케이스의 조합분석이 필요함. 이로인한 과적합 발생 가능

1)특징 선택을 위한 알고리즘의 선택과 2)특징 집합이 '좋다'는 판단을 위한 필터나 선택 기준을 정하는 것​

​알고리즘 선택

​단계적회귀(stepwise regression) 알고리즘: 전진선택(forward selection), 후진 제거(backward elimination), 혼합형 접근(combined approach)

전진선택 : 각각 하나의 변수로 회귀분석 후 1등 변수와 2등 변수를 포함한 2개의 변수로 회귀분석, 한번에 하나씩 변수를 추가하면서 분석하다가 성능이 낮아지면 중단

후진제거 : 모든 특징을 포함한 회귀모형으로 시작, 하나씩 예측변수를 빼보고 제일 성능을 좋게하는 제거 변수를 찾아서 제거하고 다시 전체 회귀분석, 하나씩 제거하다가 제거시 성능을 높이는 변수가 없을때 중단

혼합형 접근 (하이브리드 접근) : 최고의 특징부터 시작해서 두세 개의 높은 순위 특징을 취하고, 가장 나쁜 특징을 제거해 나가는 방식의 욕심greedy 알고리즘

선택 기준

R-제곱값 : 모형에 의해 설명되는 분산의 비율

p-값 : p가 0값에 가깝다는 건 회귀계수가 0이 아닐 가능성이 매우 높다는 의미​ (귀무가설 β=0 이 발생할 확률)

아카이케 정보 기준 Akaike Information Criterion(AIC)

​베이지안 정보 기준 Bayesian Information Criterion(BIC)

엔트로피

도메인 전문가의 의견

임베디드 방법 : 의사결정나무

정보획득을 최대화 하기 위한 속성을 선택

랜덤 포리스트

배깅bagging을 통해 의사결정나무를 일반화한다.

나무의 개수인 N값과, 각각의 나무에서 무작위로 선택하는 특징들의 개수 F값을 정하면 된다.​

오분류표

​                  실제=사실                                 실제=거진

예측=사실​    참긍정(TP, ture posivive)           거짓긍정(FP, false positive)

예측=거짓    거짓부정(FN, false negative)      참부정(TN, true negative)

정밀도 precision = TP / (TP + FP)

정확도 accurity = (TP + TN)​ / (TP + TN + FP + FN)

인과 관계 분석시

먼저 상관 관계 파악을 통해 영향관계가 있는 항목을 도출

항목간 (A/B사건)의 시간적 전후 관계 파악 : A가 B사건 보다 먼저 발생하는가?

논리적 연관 관계 파악 : A사건이 일어나면 필연적으로(?) B 사건이 일어나는가?, B사건이 일어나면 A사건이 일어나는가? A/B 두 사건을 모두 일으키는 다른 원인인 C 사건은 없는가?

인과적 질문 : y에 대한 x의 효과가 무엇인가?

고객 행동에 대한 광고의 효과는 무엇인가?

결과에 대한 처리의 효과는 무엇인가?

심슨의 역설 : 변수를 제대로 관리하지 못해 실제 관계와 상반된 관계가 나타나는 현상

아스피린 복용자와 미 복용자의 구분에 따른 X약의 심장발작 확률은 다르게 나올 수 있음(예: 복용여부를 무시하고 분석하면 역상관 적용해서 복용 그룹만 보면 상관인 현상)

루빈 인과 보형(Rubin Causal model)

반응형

+ Recent posts