상세 컨텐츠

본문 제목

나쁜 데이터 핸드북: 19인의 데이터 과학자가 알려주는

전체 출간 도서

by 비제이퍼블릭 2013. 6. 3. 16:30

본문

 

19인의 데이터 과학자가 알려주는

 

나쁜 데이터 핸드북

 

저자 이든 맥컬럼

역자 문현선

 

출간일 2013617()

정가 24,000

 

페이지 324

판형 175 x 230

ISBN 978-89-94774-42-8 (93000)

 

키워드 데이터, 데이터 과학, 데이터 과학자, 빅데이터, 데이터 분석, 웹데이터

원서정보 Bad Data Handbook

 

 

책 소개

 

19인의 데이터 과학자가 알려주는

나쁜 데이터 핸드북

 

나쁜 데이터란 무엇일까? 어떤 사람들은 나쁜 데이터가 누락된 값이나 어그러진 기록과 같은 기술적인 현상만을 포함한다고 생각하지만, 나쁜 데이터는 그보다 훨씬 더 많다. 데이터 전문가 이든 맥컬럼(Q. Ethan McCallum)은 지저분한 데이터 문제들을 극복하는 방법을 보이기 위해 다양한 영역의 데이터 과학자 19명을 한 자리에 모았다.

 

고장난 저장소에서부터 형편없는 표현, 그릇된 정책까지 나쁜 데이터가 되는 방법은 다양하다. 기본적으로, 나쁜 데이터란 여러분이 일하는 데 방해가 되는 모든 데이터이다. 이 책은 나쁜 데이터 문제를 해결하는 효과적인 방법을 설명한다.

 

이 책에서 다루는 내용:

 

- 데이터가 분석될 준비가 되었는지 테스트하는 방법

- 스프레드시트 데이터를 유용한 포맷으로 바꾸는 방법

- 텍스트 데이터에 숨어있는 인코딩 문제 다루는 방법

- 성공적인 웹 데이터 수집 방법

- NLP 툴을 사용해 온라인 리뷰의 진짜 의도를 밝히는 방법

- 분석 작업에 영향을 줄 수 있는 클라우드 컴퓨팅 이슈 다루는 방법

- 데이터 분석에 방해가 되는 방침을 피하는 방법

- 체계적인 데이터 퀄리티 분석 방법

 

독자대상

초중급

 

 

저자소개

 

이든 맥컬럼

전문 서비스 컨설턴트로서 데이터 분석에서부터 소프트웨어, 인프라 전반에 걸쳐 관심이 많다. 현실적인 기술을 활용해 기업이 위험을 줄이고, 이익을 높이고, 좀더 현명한 결정을 하게 함으로써 입지를 높일 수 있도록 돕는 일을 하고 있다. Parallel R: Data Analysis in the Distributed World(오라일리 2011)를 포함하여 그의 책은 온라인이나 서점에서 찾아볼 수 있다.

 

 

역자소개

 

문현선

고려대학교 컴퓨터학과를 졸업해 전자 회사에서 휴대폰, TV를 개발하다 2011년부터 KT 클라우드 추진본부에서 차세대 클라우드 서비스를 개발하고 있다. 오픈소스에 관심이 많으며 프레젠테이션 자료나 기술 문서를 만드는 데 남다른 애착을 가지고 있다. 앞으로도 기회가 되는대로 훌륭한 기술 서적들을 번역할 계획이다.

 

 

목차

 

Chapter 1 새로운 정의: 나쁜 데이터란 무엇인가?

 

Chapter 2 이 데이터 이상하지 않아요?

데이터 구조 이해하기

필드 검증

값 검증

간단한 통계적 해석

시각화

키워드 PPC 사례

검색 순위 사례

추천 분석

시계열 데이터

결론

 

Chapter 3 기계가 아닌 사람이 보도록 만든 데이터

데이터

문제: 사람을 위한 포맷의 데이터

- 데이터 배열

- 여러 파일에 흩어져 있는 데이터

해결책: 코드 작성

- 다루기 어려운 포맷의 데이터 읽기

- 여러 파일에 흩어져 있는 데이터 읽기

후기

다른 포맷

요약

 

Chapter 4 플레인 텍스트 속에 숨어있는 나쁜 데이터

어떤 플레인 텍스트 인코딩인가?

텍스트 인코딩 알아내기

텍스트 표준화

문제: 애플리케이션 특유의 문자가 들어간 플레인 텍스트

Python 텍스트 처리

예제

 

Chapter 5 웹 데이터 ()구성하기

그 정보 구할 수 있겠니?

일반적인 작업 흐름 예시

- robots.txt

- 데이터 구성패턴 찾기

- 분석을 위한 오프라인 버전 저장하기

- 페이지에서 정보 스크랩하기

현실적인 어려움

- 가능한 콘텐츠를 다운로드하라

- , 다이얼로그 박스, 새 창

- Flash

어두운 면

결론

 

Chapter 6 거짓 리뷰와 헷갈리는 리뷰 찾아내기

Weotta

리뷰 얻기

감정 분류

극성 표현

코퍼스 생성

분류기 학습

분류기 검증

데이터 설계

교훈

요약

리소스

 

Chapter 7 나쁜 데이터는 일어나 주실래요?

예시 1: 제조 결함 축소 시스템

예시 2: 여보세요?

예시 3: “대표적”이 “평균”을 뜻하지 않을 때

배운 점

이것도 테스트해야 할까요?

Chapter 8 , , 소변

매우 따분한 몸이 바뀌는 코미디

화학자가 값을 얻는 방법

모든 데이터베이스는 우리 소유입니다

확인해주세요

빨리 살고, 일찍 죽고, 보기 좋은 시체를 남겨라: 코드 저장소

화학자와 스프레드시트를 남용하는 사람들을 위한 중독 치료

tl;dr

 

Chapter 9 데이터와 현실이 다를 때

어느 종목의 기호인가?

분할, 배당, 재조정

나쁜 현실

결론

 

Chapter 10 탐지하기 어려운 편향과 오차

무응답 대체 편향: 일반적인 문제

보고 오차: 일반적인 문제

다른 편향 요인

- 상한코딩/하한코딩

- 경계 편향

- 대리 응답

- 표본 선정

결론

참고 자료

 

Chapter 11 너무 잘 하려다가 오히려 일을 그르친다: 나쁜 데이터가 정말 나쁠까?

먼저, 대학원 시절로 돌아가보자...

프로의 세계로 진출하다

공무원이 되다

행정 데이터는 대단히 현실적이다

신고 전화 데이터 예시

앞으로 나아가다

교훈과 전망

 

Chapter 12 데이터베이스의 공격: 파일을 고수해야 할 때를 위한 지침

지난 이야기

- 툴셋 만들기

- 장애물: 데이터 저장소

파일을 데이터 저장소로

- 파일은 단순하다!

- 파일은 모든 소프트웨어에서 동작한다

- 파일은 모든 형식의 데이터를 수용한다

- 데이터 손상이 국한적이다

- 훌륭한 툴을 가지고 있다

- 설치 비용이 없다

파일의 개념

- 인코딩

- 텍스트 파일

- 바이너리 데이터

- 메모리 맵(Memory-Mapped) 파일

- 파일 포맷

- 구분기호

파일 기반의 웹 프레임워크

- 동기

- 구현

반성

 

Chapter 13 웅크린 테이블, 숨겨진 네트워크

관계형 비용 할당 모델

조합이 폭발하는 섬세한 소리...

숨어있던 네트워크가 드러나다

그래프 저장하기

그렘린으로 그래프 탐색하기

네트워크의 가치 찾기

여러 데이터 모델과 알맞은 툴 사용에 관해서

감사의 말

 

Chapter 14 클라우드 컴퓨팅 신화

클라우드 입문

“클라우드”란 무엇인가?

클라우드와 빅 데이터

프레드(Fred) 소개

순조롭게 시작하다

인프라를 100% 클라우드에 올리다

처음에는 쉽게 확장되다

문제가 생기기 시작하다

성능을 높여야 한다

IO 성능이 중요해지다

대규모 지역 정전으로 심각한 서비스 중단이 발생하다

높은 IO에는 비용이 따른다

데이터 크기 증가

지역적 이중화(Geo Redundancy)가 중요하다

수평 확장은 생각만큼 쉽지 않다

비용이 급격히 증가하다

프레드의 어리석음

신화 1: 클라우드는 모든 인프라 요소에 적합한 솔루션이다

- 이 신화가 프레드의 이야기와 어떤 연관이 있을까

신화 2: 클라우드가 돈을 절약해줄 것이다

- 이 신화가 프레드의 이야기와 어떤 연관이 있을까

신화 3: 클라우드 IO 성능은 소프트웨어 RAID를 통해 쓸만한 수준까지 개선할 수 있다

- 이 신화가 프레드의 이야기와 어떤 연관이 있을까

신화 4: 클라우드 컴퓨팅은 수평 확장이 쉽다

- 이 신화가 프레드의 이야기와 어떤 연관이 있을까

결론과 조언

 

Chapter 15 데이터 과학의 어두운 면

위험 요소를 피하라

데이터에 대해 알지 말라

- 데이터 클리닝과 구성을 일관성 없이 하라

- 데이터가 정확하고 완전하다고 가정하라

- 시간 관련 데이터의 스필오버(spillover)

데이터 과학자에게 한 가지 툴만 주어라

- 애드-혹 분석에 상용 환경 사용하기

- 이상적인 데이터 연구 환경

분석만을 위해 분석을 하라

배운 것을 독차지하라

데이터 과학자에게 전능함을 기대하라

- 데이터 과학자는 어디에 사는가?

결론

 

Chapter 16 기계 학습 전문가를 먹이고 돌보는 방법

문제를 정의하라

완성하기 전에 가짜를 만들어라

학습 셋(training set)을 만들어라

특징을 찾아라

데이터를 인코딩하라

학습, 테스트, 정답 셋으로 나누어라

문제를 설명하라

질문에 대답하라

솔루션을 통합하라

결론

 

Chapter 17 데이터 추적 기술

?

개인적인 경험

- 스냅샷

- 출처 저장하기

- 출처에 가중치 부여하기

- 데이터 철회하기

- 단계 분리하기

- 근본 원인 식별하기

- 개선할 부분 찾기

불변성: 함수형 프로그래밍에서 생각을 빌리다

예제

- 크롤러

- 변천

- 클러스터링

- 인기도

결론

 

Chapter 18 소셜 미디어: 지워지는 잉크?

소셜 미디어: 어쨌든 누구의 데이터인가?

제어권

상업적 리신디케이션

커뮤니케이션과 표현을 둘러싼 기대

- 언어적 커뮤니케이션

새로운 사용자 기대의 기술적 영향

산업계는 무슨 일을 하는가?

- 검증 API

- 업데이트 알림 API

최종 사용자는 무엇을 해야 하는가?

어떻게 함께 일을 하는가?

 

Chapter 19 데이터 퀄리티 분석의 이해: 여러분의 데이터가 언제 충분히 좋은지 알기

프레임워크 소개: 데이터 퀄리티 분석의 네 가지 C

- Complete

- Coherent

- Correct

- aCcountable

결론

 

 

이 책의 구성

 

지저분한 작업, 수작업을 위한 지침

 

여러분은 새로 얻은 데이터셋(dataset)이 당장 분석할 수 있을 만큼 잘 정돈되어 있다고 생각하지 않을 것이다. 케빈 핑크(Kevin Fink)는 ‘2장 이 데이터 이상하지 않아요?’에서 데이터를 시험해볼 수 있는 몇 가지 방법을 제공한다.

 

수많은 데이터가 분석하기 어려운 형태의 스프레드시트에 갇혀 있다. 3장 기계가 아닌 사람이 보도록 만든 데이터’에서 폴 뮤를(Paul Murrell)은 이런 데이터를 추출해 사용하기 좋게 만드는 방법을 보여준다.

 

여러분이 만약 텍스트 데이터로 작업을 하고 있다면 조만간 인코딩 문제에 부딪히게 될 것이다. 4장 플레인 텍스트 속에 숨어있는 나쁜 데이터’에서 조쉬 레비(Josh Levy)는 텍스트 데이터에는 어떤 문제들이 기다리고 있고 그 문제들을 어떻게 다루면 되는지 설명한다.

 

마지막으로 아담(Adam Liacanos)의 ‘5장 웹 데이터 ()구성하기’에서는 웹 데이터 수집 시 겪을 수 있는 모든 문제를 보여준다.

 

기대와 다른 데이터

 

사람들은 온라인 리뷰에 거짓말을 남기기도 한다. 제이콥 퍼킨스(Jacob Perkins)는 사람들이 매우 특이한 방법으로 거짓말을 하는 것을 발견했다. 6장 거짓 리뷰와 헷갈리는 리뷰 찾아내기’를 보면 제이콥(Jacob Perkins)이 자연어 프로그래밍(natural-language programming, NLP)을 이용해 어떻게 이 같은 신종 거짓말을 탐지하는지 배울 수 있다.

 

데이터가 아무리 잘못 되더라도 의지할 수 있는 고유한 식별자가 있지 않을까? 9장 데이터와 현실이 다를 때’에서 스펜서 번즈(Spencer Burns)는 금융 시장에서의 경험을 토대로 앞선 질문이 항상 사실이 아님을 설명한다.

 

다른 접근

 

산업계는 계속 “데이터 과학자(data scientist)”라는 단어의 정확한 의미를 찾기 위해 애쓰고 있다. 적어도 소프트웨어 개발이 데이터 과학의 한 부분에 속한다는 의견에는 많은 사람들이 동의한다. 8장 피, , 소변’에서 리처드 코튼(Richard Cotton)은 소프트웨어 개발자의 관점에서 이와 관련된 현명한 조언을 한다.

 

필립 제너트(Philipp K. Janert)는 ‘7장 나쁜 데이터는 일어나 주실래요?’에서 정말 나쁜 데이터라는 것이 있는지 묻고 있다.

 

여러분의 데이터에 문제가 있을 수도 있으며 여러분은 심지어 그 사실을 모를 수도 있다. 조나단 슈배비쉬(Jonathan A. Schwabish)는 ‘10장 탐지하기 어려운 편향과 오차’에서 문제를 일으킬 수 있는 데이터를 골라 내는 방법을 설명한다.

 

11장 너무 잘 하려다가 오히려 일을 그르친다: 나쁜 데이터가 정말 나쁠까?’에서는 브렛 골드스테인(Brett J. Goldstein)의 경험을 통해 지저분한 데이터를 통해 전통적인 통계 교육이 혹독한 현실을 직시할 필요가 있음을 보인다.

 

데이터 저장소와 기반 시설

 

데이터 저장 방법은 데이터 분석 방법과 많은 연관이 있다. 바비 노튼(Bobby Norton)은 ‘13장 웅크린 테이블, 숨겨진 네트워크’에서 관계형 데이터베이스에 갇힌 그래프 데이터 구조를 찾아내는 방법을 설명한다.

 

클라우드 컴퓨팅은 확장성과 유연성이 뛰어나 대규모 데이터 분석에 매력적이지만 결점이 없는 것은 아니다. 14장 클라우드 컴퓨팅 신화’에서 스티브 프란치아(Steve Francia)는 여러분이 잘못된 해결책을 찾지 않도록 클라우드와 관련된 가설을 해부한다.

 

우리는 NoSQL보다는 관계형 데이터베이스가 낫고, Couch보다는 Mongo가 혹은 하둡(Hadoop) 기반의 저장소가 다른 저장소보다 낫다는 식의 논쟁을 한다. 12장 데이터베이스의 공격: 파일을 고수해야 할 때를 위한 지침’에서 팀 맥나마라(Tim McNamara)는 좀 더 간단한 방법을 제안한다.

 

데이터의 사업적인 측면

 

때때로 데이터 과학자를 정규 직원으로 고용할 만큼 관련 일이 많지 않거나 혹은 회사 내에 없는 특별한 기술이 필요한 경우가 있다. 16장 기계 학습 전문가를 먹이고 돌보는 방법’에서 피트 워든(Pete Warden)은 기계 학습 작업을 아웃소싱하는 특별한 방법을 소개한다.

 

관료주의는 데이터 분석을 방해하는 장벽이 될 수도 있다. 마크 바이스만(Mark Vaisman)은 ‘15장 데이터 과학의 어두운 면’에서 여러분이 피해야 할 최악의 관행을 몇 가지 소개한다.

 

데이터 정책

여러분은 데이터를 처리할 때 자신이 어떤 방법을 사용하였는지는 확실히 알 것이다. 하지만 어떻게 최종 결과물이 나왔는지도 제대로 이해하고 있을까? 레이드 드레이퍼(Reid Draper)의 ‘17장 데이터 추적 기술’은 데이터 처리 과정에 대해 생각해볼 수 있는 기회를 제공한다.

 

내부에 있어야 할 데이터가 외부로 나왔다거나 삭제되었어야 할 데이터가 여전히 존재하는 경우처럼 데이터는 잘못된 장소에 있을 때 특히 더 문제가 된다. 18장 소셜 미디어: 지워지는 잉크?’에서 주드 바레스키(Jud Valeski)는 소셜 미디어의 미래를 살펴보고 데이터 리콜 기능의 필요성에 대해 고찰한다.

 

마지막으로 필자는 오랜 지지자인 켄 글리슨(Ken Gleason)과 함께 ‘19장 데이터 퀄리티 분석의 이해: 여러분의 데이터가 언제 충분히 좋은지 알기’를 집필하였다. 여기서는 케빈 핑크의 글을 보완하여 데이터의 퀄리티를 평가하고 퀄리티를 높이기 위한 시스템적인 방법을 설명한다.

 

 

관련글 더보기

댓글 영역