우리 모두를 위한 데이터 과학을 꿈꾸며 이 책은 ‘우리 모두를 위한 데이터 과학’을 이야기한다. 필자가 전달하고자 하는 주된 메시지는 우리 주변에 이미 데이터를 수집하고 분석할 수 있는 다양한 수단이 존재하며, 데이터를 활용하여 삶과 업무를 개선하는 일은 결코 복잡하지 않다는 것이다. 이 책은 초보적인 수준의 통계와 컴퓨터 지식을 갖춘 보통 사람이 데이터 과학을 시작할 수 있는 방법을 제시하고, 이런 방법을 개인의 삶과 업무에 활용하는 다양한 사례를 소개한다. 비전문가도 책을 읽고 나서 활용할 수 있도록 엑셀을 사용한다. 따라서 이 책을 읽고 나면 개인 데이터, 생활 데이터 같은 스몰 데이터에 데이터 과학을 접목하여 분명 여러분도 자신의 문제를 해결할 수 있을 것이다.
생활 데이터를 데이터 과학으로 풀어내어 삶을 한 단계 업그레이드하라! MS 본사 데이터 과학자이면서 10년을 넘게 생활 데이터로 자신과 생활의 문제와 궁금증을 풀어온 저자는 거창한 과제가 아니라 다이어트하기, 건강해지기, 매출 늘리기 같은 생활 속에서 늘 존재하는 고민에 대한 데이터 과학적인 문제 해결 방법을 제시한다. 물론 전문적인 지식을 얻고자 하는 독자를 위해 빌 제임스 등이 창안한 야구 지표와 통계, 2008년과 2012년 미국 대선의 주별 결과를 정확하게 예측한 네이트 실버의 ‘항공 사고’ 관련 데이터 분석 사례, 넷플릭스 프라이즈의 1백만 달러의 상금을 건 문제 정의 사례 등도 다룬다.
이 책의 대표적인 <사례>는 다음과 같다.
스몰데이터로 해보는 기계학습
넷플릭스 프라이즈 문제 정의
FiveThirtyEight
건강 및 식생활 지표화
정성적인 현상(행복) 지표화
(가상사례) 식당 운영을 위한 데이터 과학
이 책에서 다루는 <실습>은 다음과 같다.
엑셀로 하는 데이터 과학 맛보기
R로 하는 데이터 과학 맛보기
엑셀로 해보는 탐색적 데이터 분석
엑셀로 해보는 통계적 추론
저자소개
저자
김진영
미국 메사추세츠 주립대에서 컴퓨터 사이언스(정보 검색) 전공으로 박사학위를 받고 현재 미국 마이크로소프트 본사의 빙(Bing) 검색엔진 부문의 연구자로 일한다. 회사에서 검색 품질을 평가하는 일을 담당하며, 마이크로소프트 신입사원을 상대로 업무에서 활용할 수 있는 데이터 과학을 가르치기도 한다.
개인적으로 삶의 생산성과 행복도를 높일 수 있는 다양한 데이터 수집 및 분석 방법을 개발하여 사용하고 있고, 이런 활동을 <Seattle Times>에서 보도했다. 정보 검색, 기계학습, 측정 등을 주제로 한 개인 블로그 ‘헬로 데이터 과학’을 운영한다.
목차
1장 데이터 과학 입문
삶과 비즈니스를 바꾸는 데이터의 가능성 의학을 보완하는 개인 데이터의 힘 : 마크 드랭숄트 스타트업의 성장 신화를 뒷받침하는 데이터의 힘 : 에어비앤비 이들은 데이터를 어떻게 활용했나 데이터 과학과 테이블 데이터는 테이블이다 데이터 과학은 테이블 놀이다 데이터 과학에 대한 오해와 진실 스몰데이터로 시작하라 단순한 도구와 기술로 시작하라 데이터 과학을 시작하는 방법 데이터 마인드를 가져라 데이터 습관을 길러라 관련 지식과 기술을 익혀라 맺음말
2장 데이터 과학에 유용한 도구
데이터 과학을 위한 도구 선택하기 처리 용량 및 속도 지원 데이터형 및 프로그래밍 환경 데이터 분석 및 시각화 기능 문제 특성에 맞는 도구의 선택 문제 해결 단계에 맞는 도구 선택 엑셀로 시작하는 데이터 과학 코드가 아닌 데이터가 중심이다 올인원 솔루션이다 결과물을 쉽게 공유할 수 있다 언제부터 엑셀 대신 R을 사용해야 할까 워크시트에서 변수로 메뉴에서 함수로 분석에서 예측으로 <실습> 엑셀의 기초 데이터 불러오기 데이터 준비하기 데이터 분석 및 시각화하기 데이터 집계하기 <실습> R 맛보기 R 작업을 위한 환경 구축 R의 기본 기능 데이터 준비하기 데이터 분석하기 맺음말
3장 문제 정의와 데이터 수집 및 준비
데이터 문제 정의하기 데이터 문제 해결 단계 데이터 분석 단계 <사례> 직원 만족도 개선을 위한 데이터 분석 데이터 문제 정의하기 <사례> 넷플릭스 프라이즈 문제 정의 유의사항 데이터 수집하기 데이터 수집의 기본 수집 방법 결정하기 <심화학습> 측정 기술 어떤 대상도 측정할 수 있는가 어떤 대상도 측정할 수 있는 방법 수집 환경 결정하기 <심화학습> 실험 디자인 무작위 디자인 블록 디자인 수집할 데이터양 결정하기 데이터 품질 점검하기 유의사항 데이터 준비하기 데이터 선택, 추가, 집계하기 <실습> 엑셀을 이용한 데이터 준비 맺음말
4장 데이터 분석과 스토리텔링
현상 이해하기 : 탐색적 데이터 분석 탐색적 분석 단계 <사례> 엑셀로 해보는 탐색적 데이터 분석 개별 속성 분석하기 속성 간의 관계 분석하기 유의사항 : 관점은 갖되 편견은 금물이다 현상 일반화하기 : 통계적 추론 통계적 추론의 원리 통계적 추론의 유형 <실습> 엑셀로 해보는 통계적 추론 탐색적 데이터 분석 데이터 가공하기 통계적 추론 유의사항 : 데이터에서 도출하는 결론의 가치와 한계 현상 예측하기 : 기계학습 기계학습 유형 기계학습 개념 기계학습 절차 <사례> 스몰데이터로 해보는 기계학습 데이터 스토리텔링 데이터 스토리텔링 방법 효과적인 데이터 스토리텔링 원칙 <사례> FiveThirtyEight 서론 본론 결론 맺음말
5장 개인 데이터로 공부하는 데이터 과학
개인 데이터 활용으로 삶을 바꾸는 사람들 개인 데이터 활용의 유형과 목표 개인 데이터 활용 방법 <사례> 건강 및 식생활 지표화 문제 정의하기 건강 데이터화 및 개선하기 식사 및 운동량 측정하기 마치며 <사례> 정성적인 현상(행복) 지표화 행복 측정 프로젝트 행복을 측정하는 방법 행복 측정의 결과 마치며 개인 데이터 수집 및 분석 시작하기 문제 탐색하기 데이터 수집하기 분석 및 결과 실천하기 자신의 경험 공유하기 마치며 맺음말
6장 공개 데이터로 공부하는 데이터 과학
공공 데이터를 통한 탐색적 분석 문제 정의하기 데이터 수집하기 탐색적 데이터 분석 유의사항 : 데이터를 검정하고 목표에 집중하라 경연 데이터를 통한 실전 예측 모델링 경연 준비하기 : 나도 할 수 있을까 캐글 참가자들의 성공 비결 캐글 참여하기 : 타이타닉호 생존자 예측 비즈니스 성장을 위한 데이터 과학 <가상 사례> 식당 운영을 위한 데이터 과학 식당 창업에 도전한 김 사장의 고민 데이터 과학자인 조카의 조언 메뉴의 변화가 매출에 미치는 영향 고객의 만족도를 알아내는 방법은 무엇인가 고객의 만족도를 알아내기 : 고객 행동 분석 실험을 통한 신 메뉴 개발 데이터 활용의 숨은 장벽들 고객 유입의 단계별 데이터 활용 야구 통계를 통해 지표 개발 배우기 야구 통계의 흐름 야구 통계의 기초와 전통적인 지표들 현대적인 야구 통계가 가져온 혁신 마치며 맺음말
7장 입문을 넘어서 : 데이터 과학자의 길
데이터 과학자로 살아가기 검색엔진 분야에서의 데이터 과학 데이터 과학 프로젝트의 시작과 끝 데이터 과학자의 일상 데이터 과학자가 되는 길 나에게 어울리는 길인가 무엇을 목표로 해야 하나 어떻게 공부해야 하나 어떻게 취업을 준비할 것인가 데이터 과학의 미래 데이터 관련 기술적인 진보의 가속화 데이터 과학의 더욱 폭넓은 활용 데이터 과학자 수요 증가 맺음말
최근 10년 사이 소프트웨어 개발을 할 때 클라우드를 이용하는 것이 너무나도 당연하게 받아들여지게 되었다. 이 책에서 다루는 마이크로소프트의 애저(Azure)가 대표적인 클라우드 플랫폼이다. 아마존의 AWS, 구글 클라우드와 함께 가장 많이 개발자들이 사용하고 있다. 여전히 점유율 1위 자리를 지키고 있는 AWS는 일찍 서비스를 시작한 만큼 관련 자료도 많고 한글로 작성된 책도 여러 권 출간되어 있다보니 새로 클라우드를 시작하는 사람들도 AW로 시작하는 경우가 많은 것 같다. 교보문고에서 '애저'로 검색해서 나온 결과를 기준으로 하면 『처음 배우는 애저』는 번역서가 아닌 한국어로 쓰인 첫 번째 책이다. 비교 대상이 없어서 이 책이 다른 책보다 좋다는 말은 아직 힘들다. 다만 저자 김도균님이 2016년부터 Azure 강의를 해오신 경력도 있고 꼼꼼하게 스크린샷들과 함께 따라할 수 있도록 정리되어 있어서 "처음 배우는" 키워드에 딱 맞는 책이라고 생각된다.
발랄한 디자인의 표지와 제목으로 전문적인 내용보다는 입문서라는 것은 쉽게 알아챌 수 있다. 표지와 전체적인 내용이 데이터라고 하면 일단 복잡한 수학을 떠올리고, "데이터 = 기술"이라는 편견에 사로잡혀 지레 겁을 먹고 있는 비전문가들에게 다가가기 위한 노력의 결과물로 보인다.
1장부터 4장은 데이터, 데이터 과학에 대한 기초를 다루고 있는 부분이다.
책 전반에 걸쳐 데이터자체를 다루는 기본에 대해 큰 비중을 들여서 강조와 설명을 하고 있다. 비전문가인 독자가 어떻게 데이터 과학을 생활속에서 적용할 수 있는지 몇가지 안내를 한다. 해당 안내에 따라 언급된 책의 내용을 일부를 보면 어떤 책인지 더 잘 알 수 있으리라.
1. 문제 정의에서 시작하라
만약 나에게 문제 해결을 위해 한 시간이 주어진다면, 나는 55분 동안 문제에 대해 생각하고 5분 동안 해결책에 대해 생각하겠다. - 알버트 아인슈타인
데이터 과학을 간단히 정의하자면, 데이터를 기반한 방법으로 현실 세계의 문제를 해결하는 것이라고 할 수 있는데, 위의 아인슈타인의 인용구를 곁들여 강조하는 것은 문제를 해결하기에 앞서 문제를 명확히 정의하는 과정의 중요성이다.
일상 생활에서도 간과하기 쉬운데, 중요한 건 해결책이 아니라 문제 그 자체이다.
2. 스몰 데이터로 시작하라.
주어진 문제를 푸는데 필요한 최소한의 데이터를 스몰 데이터라고 하는데, 우리는 빅 데이터에만 관심을 갖고 있지 않았던가? 꼭 필요한 만큼의 데이터만 모아 이용하면 적은 시간과 노력으로 원하는 결과를 얻을 수 있기에 저자는 필요에 따라 데이터 양을 늘려가는 것이, 처음 부터 큰 데이터로 작업하는 비효율을 감수하는 것보다 훨씬 낫다고 한다.
데이터 작업은 스몰 데이터로 시작해서, 필요할 때만 빅데이터를 사용하자.
3. 주변에 있는 도구로 시작하라.
보통 데이터와 관련된 책에서는 R이나 파이썬등 프로그래밍 언어를 중심으로 다루는 책들이 대부분이지만, 이 책에서는 주된 대상인 비전문가 독자들이 쉽게 사용할 수 있는 엑셀을 활용하고 있다.
2014년 오라일리에서 데이터 과학 현업에 종사하는 800명을 대상으로 실시한 설문에 따르면 엑셀은 SQL 및 R과 함께 현업에서 여전히 많이 쓰이는 도구 중 하나이다.
저자의 경험에 따르면 대부분의 데이터 문제는 엑셀과 같은 단순한 도구와 기본적인 통계 지식으로도 해결할 수 있었다고 한다. 오히려 필요 이상으로 복잡한 도구와 기법을 사용하는 것은 오히려 문제 해결을 방해하고, 엑셀을 사용하는게 코드가 아닌 데이터가 중심이 되는 장점이 있기에 엑셀로도 충분하다고 한다.
( 다만 매크로나 VBA를 항상 써야 하는 수준에 이른다면 R을 고려하라고 충고한다. )
엑셀로 필자가 준비한 데이터를 가지고 실습을 하는 과정을 R로 똑같이 소개하면서, R의 모든 내용을 소개하는 것은 아니지만, R이 어렵다는 편견을 버리고 필요에 따라 공부할 수 있도록 안내하는 부분도 있다.
4. 간단한 분석 기법으로 시작하라. (데이터 마인드가 중요하다.)
데이터 과학이 어렵게 느껴지는 또 다른 이유는 분석 기법의 범람 때문이다. 데이터 과학에 관한 대부분의 자료들은 데이터 과학을 하려면 프로그래밍과 선형대수 및 통계에 대한 기본 지식이 필수인 것처럼 이야기 하고 있다.
또한 알파고의 등장 이후 기계학습이나 딥러닝등에 관한 수많은 기사가 이런 인식을 확산시키고 있다.
19세기 크림전쟁 당시 전선보다 후방병원에서 훨씬 많은 환자가 죽어간다는 사실을 발견한 나이팅게일, 19세기 유럽 전역을 공포에 떨게 했던 콜레라의 원인을 밝혀낸 의사 존 스노우, 자신의 인격을 완성하기 위해 매일 지키고자 했던 13가지 덕목을 정하고 기록했던 프랭클린 등의 위인들의 사례를 통해 이들의 업적과 성취에는 어떤 고급 통계나 프로그래밍 기술도 필요하지 않았고, 이들에게는 단지 남들과 다른 "데이터 마인드"가 있었음을 이야기 한다.
그들은 주어진 현상의 본질을 포착할 수 있는 데이터를 수집하고, 단순한 분석 및 시각화를 통해 데이터에서 유용한 패턴을 찾아내고, 그 가르침을 실천에 옮겨 중요한 사회문제 혹은 자신의 삶의 문제를 해결하는 바탕으로 삼았다.
5. 수집된 데이터를 제대로 준비해야 한다.
데이터 수집이 끝나면 분석에 바로 사용할 수 있는 데이터를 얻게 된다고 생각하기 쉽다.
하지만 보통은 수집된 원본 데이터를 분석에 사용할 수 있는 형태로 준비해야 한다.
여기에는 주어진 데이터를 정리하고, 오류를 검사하며, 원본 데이터에서 필요한 부분을 선택하는 등의 작업이 포함된다. 데이터를 제대로 준비하는 것은 문제 해결을 위한 필수 단계이다. 데이터 처리는 데이터 분석을 직업으로 하는 사람들이 대부분의 시간을 보내는 작업이기도 하다.
직관에 의한 문제 해결에 비해 데이터에 기반한 문제 해결이 갖는 장점 중 하나는 제대로 된 절차를 따를 경우 누가 해도 동일한 결과를 얻을 수 있다는 점,
그리고 여기에서 얻어지는 일반성과 신뢰성일 것이다.
하지만 이런 장점은 데이터 수집 및 준비 과정이 투명하게 공개되고 문서화된 경우에만 유효할 것이다.
이런 장점을 극대화하기 위해 데이터 준비 과정에 공을 들이는 습관을 들이자.
개인에 적용하는 데이터 과학
책의 나머지는 상당히 흥미로운 부분이다. 바로 필자가 데이터 과학자가 된 계기에서도 언급되지만, 저자는 대학을 다닐 때 부터 "내가 행복하다고 느낀 시간의 양을 최대화하는 것"이 인생의 목표중 하나라고 여겨왔고, 개인의 행복도를 측정하고 개선할 수 있는 방법을 찾아내기 위해 약 10년간 다양한 방법을 개발하였다.
QS(Quantified Self)라는 개인이 자신의 데이터를 이용하는 다양한 프로젝트와 사례가 소개된다. 데이터라고 하면 일에만 적용하는 것으로 생각하던 분들에게는 충격적일 것이다. ( 아마도 좋은 방향의 충격이 될 것이라 생각한다. )
저자는 "나의 목표는 무엇이며, 그것을 수치화 할 수 있는 방법은 무엇인가?"라는 물음을 통해 독자만의 프로젝트를 시작하고 싶은 욕구(?)를 자극한다.
마무리
책을 읽는 중 데이터 저널리즘 사이트인 에 실린 "여행객들이 과거에 항공 사고가 있었던 항공사를 피해야 할까?"라는 글을 소개한 부분이 있었는데, 기사에 사용된 원본 데이터를 기사 아래에 첨부하고 이를 자세한 설명과 함께 깃허브에 공개한 부분이 있었다.
이렇게 공개된 데이터는 기사의 신뢰성을 높이고, 관심 있는 독자들이 이 기사를 바탕으로 추가적인 조사를 가능하게 한다고 하는데, 우리나라 기사에서도 도입이 되어 많은 데이터가 소개 된다면 언론과 사회의 투명성과 데이터에 대한 인식을 높이는데 도움이 되지 않을까 하는 생각이 들었다.
https://github.com/fivethirtyeight/data/tree/master/airline-safety
개인에 적용한 데이터 과학에 이어 짧게 공개된 공공 데이터를 통한 사회 들여다 보기와 가장 기대되었던 식당 운영, 야구에 대한 짧은 사례가 소개되지만 책의 취지에 맞게 간단한 소개 정도로 마무리되어 아쉬움은 있다.
하지만 데이터, 데이터 과학에 대한 기본기, "데이터 마인드" 를 갖추는데는 좋은 입문서라고 생각한다.
해당 책보다 더 전문적인 내용은 저자의 블로그에서 만날 수 있다고 하니, 책을 읽은 후에 방문해보자.
http://www.hellodatascience.com