-
chapter_1 데이터 과학하둡과 스파크를 활용한 실용 데이터 과학 2021. 11. 16. 02:37
chapter_1 1. 데이터 과학¶
이 장에서 다룰 내용
- 데이터 과학의 정의와 진화의 역사
- 데이터 과학자가 되는 길
- 데이터 과학팀을 만드는 방법
- 데이터 과학 프로젝트의 라이프 사이클
- 데이터 과학 프로젝트의 관리 방법
최근 데이터 과학이란 용어는 거의 모든 데이터 중심 조직에서 평범한 대화 주제가 되었다. '빅데이터'라는 용어와 함께 혜성같이 등장한'데이터 과학'의 인기는 너무 갑작스럽다 못해 솔직히 혼란스러울 정도다.
대체 데이터 과학이란 덩확히 무엇이며, 왜 갑자기 이리도 중요해진 것일까?
이 장에서는 실무자 관점에서 데이터 과학을 소개한다. 데이터 과학과 함께 등장하는 여러 용어를 설명하고, 빅데이터 시대에 데이터 과학자가 수행하는 역할도 살펴본다.1.1 데이터 과학이란 무엇인가?¶
구글이나 빙에서'데이터 과학'이라고 검색해보자. 이 용어의 정의나 설명이 꽤 나온다. 하지만 하나로 명확하게 합의된 정의를 찾기 힘들고, 이 용어가 어디서 유래됐는지조차 의견이 부분한 것을 볼 수 있다.
이 책에서는 데이터 과학의 이런저런 정의를 구구절절이 소개하지도 않고 그중 하나를 가장 정확한 정의라고 내세우지도 않을 것이다. 대신 실무자 관점에서 데이터 과학을 다음과 같이 정의하고자 한다.- 데이터 과학은 데이터에서 어떤 의미나 통찰을 발견하려고 과학적 방법을 이용하는 '데이터 탐색'과 발견한 의미와 통찰을 비즈니스 맥락에서 활용하는 '소프트웨어 시스템의 구축'을 아우른다.
위 정의는 데이터 과학의 두 가지 핵심적인 측면을 강조한다.
첫째, 데이터 과학은 과학적 방법으로 데이터를 탐색하는 행위다. 이말은 데이터 과학에서 의미나 통찰을 발견하는 과정이 다른 과학 분야의 발견 과정, 즉'질문 -> 가설 수립 -> 구현 및 테스트 -> 결과 평가'로 이어지는 일련의 단계를 반복하는 과학 실험 과정과 유사하다는 것을 의미한다.
1.6데이터 과학 프로젝트의 생명 주기에서도 설명하겠지만, 데이터 과학의 반복적인 성질은 데이터 과학 프로젝트의 계획과 산정,수행 방법에 매우 중요한 영향을 미친다.
첫째만큼 중요한 둘째, 데이터 과학은 비즈니스 맥락에서 실제로 활용할 수 있는 소프트웨어 시스템을 구축하는 행위다. 데이터 과학으로 구현된 기술이나 알고리즘이 하루하루 굴러가는 비즈니스에 즉시 활용할 수 있는 결과를 만들어야 한다.1.2 데이터 과확의 예: 검색 광고¶
구글이나 빙 같은 온라인 검색 엔진은 검색 광고, 즉 검색 결과 페이지에 광고를 노출할 기회를 광고주에게 제공해 수익을 창출한다. 예를 들어 사용자가'디지털카메라'를 검색하면 검색 엔진은 디지털카메라의 정보 링크를 검색 결과로 제시하면서, 별도로 분리된 광고 영역에 카메라를 판매하는 웹 사이트 링크나 주변 카메라 매장의 위치를 함께 보인다.
온라인 광고 제공자의 수익은 광고 시스템이 컴색 쿼리와 밀접한 광고를 제공하는 능력에 좌우된다. 광고 시스템의 능력은 모든 <광고,쿼리> 조합의 클릭률(CTR)을 예측하는 능력에 좌우된다.
구글과 마이크로소프트 같은 회사는 데이터 과학팀을 고용해 CTR 예측 알고리즘을 개선하려고 끊임없이 노력한다. CTR 예측 알고리즘을 개선하면 검색 엔진은 사용자의 검색 의도와 가장 관련이 높은 광고를 제시할 수 있고, 결국 광고 매출의 증가로 이어진다.
이를 위해 데이터 과학팀은 1.1에서 언급한 반복 과정, 즉 클릭률을 예측하는 새로운 접근 방식의 가설을 수립한 후 알고리즘으로 구현한다. 그리고 검색 엔진에 유입되는 검색 트래픽을 무작위로 나누는 A/B테스트를 거쳐 구현된 알고리즘을 검증하는 과정을 반복한다. 새로 개발한 알고리즘이 기존에 적용된 알고리즘보다 나은 성능을 보인다는 점이 입증되면 새 알고리즘을 모든 검색 트래픽에 전면 적용한다.
검색 시장의 전쟁이 계속되고 검색 광고 시장에서 광고주들의 활발한 경쟁이 지속되는 한, 온라인 광고 비즈니스의 핵심에 잇는 데이터 과학 기법은 검색 회사가 독보적인 경쟁 우위를 유지할 핵심 요소로 작용할 것이다.1.3 데이터 과학의 간략한 역사¶
인기 분야로 급부상한 데이터 과학이 등장한 배경은 지난 수십 년간 일어난 기술적, 과학적 진보와 밀접하다.
첫째, 통계학 및 머신 러닝 분야의 연구로 머신이 효율적으로 데이터 패턴을 학습하는 실용적이고 성숙한 기술이 등장했다. 또한 최신의 머신 러닝 알고리즘을 빠르고 안정적으로 구현한 오픈 소스라이브러리가 다수 개발되었다.
둘째, 컴퓨팅 기술이 진보하면서(더 빠른 CPU, 더 저렴하고 빠른 메모리, 더 빠른 네트워크 장비, 더 크고 빠른 스토리지 등) 대량의 데이터를 수집,저장,처리하는 작업이 이전보다 수월하고 비용도 더욱 저렴해졌다. 이에 따라 통꼐학 및 머신 러닝 분야의 진보된 알고리즘을 사용해 대량 데이터에서 통찰을 발굴하는 과정의 비용 대비 효율성이 더 현실적인 수준으로 개성되었다.1.3.1 통계학과 머신 러닝¶
통계의 역사는 기원전 5세기 초까지 거슬러 올라가지만, 19세기 말 ~ 20세기 초에 걸쳐 등장한 통계학자 세 명(프랜시스 골턴, 칼 피어슨, 로널드 피셔)에 의해 좀더 체계적인 학문으로 정리되었다. 이들은 널리 알려진 통계 기법인 회귀 분석,우도,분산분석,상관분석등을 고안했다.
20세기 중반에 이르러 통계학은 데이터 분석과 긴밀하게 엮이기 시작했다. 1962년에 발표된 유명한 논문<데이터 분석의 미래>에서 저자 존 터키(미국의 수학자이자 통계학자이며, 고속 푸리에 변환, 박스 차트, HSD 검정의 발명자로 잘 알려져 있다)는 "결국 나의 가장 큰 관심은 데이터 분석에 있다"고 언급했으며, 이는 응용 통계학의 중요한 이정표로 받아들여 졌다.
그 후로 수십 년간 통꼐학자들은 응용 계산 통계학 분야에 많은 관심을 보이며 관련 연구를 지속했다. 하지만 그 당시 통계학자들의 노력은 컴퓨터 과학 분야의 머신 러닝 연구와 상당히 동떨어져 있었다.
1950년대 후반, 컴퓨터의 발전이 유아기에 접어들면서 컴퓨터 과학자들은 사람의 신경 전달 모델에서 착안한 인공지능 시스템,즉 인공 신경망을 연구하기 시작했다. 프랭크 로젠블랫의 선구적인 퍼셉트론알고리즘과 그 뒤를 이은 위드로와 호프의 연구는 새로운 분야에 대한 연구자들의 폭발적인 관심을 불러일으켰다.
인공 신경망의 초기 성공에 뒤이어 수십 년간, 데이터로부터 패턴을 자동으로 학습하는 다양한 머신 러닝 기법(최근접 이웃, 의사 결정트리, k-평균 군집화, 서포트 백터머신 등)이 고안되었다.
컴퓨터 시스템이 더 빨라지고 비용이 저렴해지면서 더 많은 데이터셋을 머신 러닝 기법에 활용할수 있게 되었다. 이러한 발전은 더 견고한 머신 러닝 알고리즘의 구현으로 이어졌다.
1989년 GTE 연구소의 데이터 과학자였던 그레고리 피아테스키-샤피로는 KDD 워크숍을 개최했다. KDD 워크숍은 금세 유명해져 매년 KDD Cup 데이터마이닝 대회를 주관하는 ACM-SIGKDD 학회로 발전했다.
어느 순간 통계학자들과 머신 러닝 실무자들은 그들이 분리된 사일로 안에 갇혀 있으며 궁극적으로 같은 목표와 기능을 가진 기술을 연구하고 있다는 사실을 깨달았다. UC버클리의 통계학자 레오 브라이먼은 2001년에 발표한 논문 <통계적 모델링: 두 개의 문화>로 통계학자와 머신 러닝 실무자가 세상을 바라보는 관점의 근본적인 차이를 다음과 같이 기술했다. "데이터에서 결론에 도달하기 위한 통계 모델링을 사용하는 데 두 가지 문화가 존재한다. 한편에서는 데이터가 이미 주어진 확률모델로부터 생성된다고 가정하는 반면, 다른 한편에서는 데이터의 기저 메커니즘을 사전에 알 수 없다는 가정을 바탕으로 알고리즘 모델을 사용한다." 브라이먼이 첫 번째로 언급한 문화, 즉 데이터 생성 모델에 집중했던 당시의 통계학계는 결과적으로 이론적 측면과 실용적 측면과 실용적 측면 모두에서 흥미로운 주제를 여럿 놓치는 실수를 하고 말았다.
브라이먼의 논문은 두 학계에 또 다른 중요한 전환점이 되었다. 서로 다른 관점으로 데이터를 해석해 온 통계학자와 머신 러닝 분야의 연구자가 협력하면서 두 하계 모두의 발전에 기여할 수 있었다.
그로부터 지난 10여 년간, 머신 러닝과 통꼐 기법은 발전을 거듭하여 분산학습,온라인 학습, 준지도 학습 등의 새로운 개념이 등장했다. 최근에 이르러서는 딥러닝으로 알려진 일련의 기법이 소개되어, 알고리즘이 데이터에서 적절한 모델을 도출하고 원시 데이터를 최적의 특징 변수로 변환하는 방법까지도 학습하게 되었다.1.3.2 인터넷 거인들이 가져온 혁신¶
학계가 머신 러닝과 응용 통계학의 이론을 실현하는 데 집중하는 동안 거대 인터넷 기업(야후!,구글,아마존,넷플릭스,페이스북,페이팔 등)은 자신이 가공할 만한 양의 데이터를 가졌으며, 이 데이터에 머신 러닝 기법을 적용하면 막대한 이익을 얻을 수 있다는 사실을 깨달았다.
인터넷 거인들의 이와 같은 인식은 비즈니스 성장을 견인하고 새로운 비즈니스 기회를 발굴하고 고객에게 혁신적인 제품을 주는 실직적이고 성공적인 애플리케이션으로 이어졌다. 그중 유명한 사례는 다음과 같다.- 구글과 야후!(현재의 빙)는 검색 엔진, 검색어 제안, 교정 기술의 성능을 향상하는 데 대규모 데이터 기반 알고리즘을 사용한다.
- 거대 인터넷 검색 회사는 페이지 뷰와 클릭 정보를 분석해 검색 엔진 사용자의 클릭률을 예측하고 사용자와 관련석이 높은 온라인 광고를 노출한다.
- 링크드인과 페이스북은 사용자 간 사회적 관계 그래프를 분석해'당신이 알 수도 있는 사람'이라는 친구 추천 기능을 제공한다.
- 넷플릭스,이베이,아마존은 광범위한 데이터를 기반으로 더 나은 사용자 경험을 제공하려고 자동화된 제품 또는 영화 추천 기능을 제공한다.
- 페이팔은 지불 사기를 탐지하려고 대규모 그래프 알고리즘을 적용한다.
당시 인터넷 거인들은 선구적인 비전을 제시하며 그들이 보유한 대규모 원시 데이터셋을 더욱 혁신적이고 새로운 방법으로 활용할 수 있는 가능성을 발굴했다. 또한 인터넷에서 발생하는 대규모 데이터를 최대한 활용하려면 수많은 기술적 어려움을 극복해야 한다는 사실을 누구보다 빨리 깨달았다. 그 결과, 인터넷 기업들은 여러 새로운 기술과 소프트웨어 도구(구글 파일 시스템,맵리듀스,하둡,피그,하이브,카산드라,스파크,스톱,HBase등)를 개발해 빅데이터 분야에 혁신의 파도를 일으켰다.
1.3.3 현대 기업의 데이터 과학¶
인터넷 거인들이 가져온 혁신 덕분에 상용 도구과 오픈 소스 제품 모두에서 여러 핵심 기술을 사용하게 되었다.
첫째, 기업은 대구모 데이터를 수집하고 저장하기 위한 제반 비용이 절감되었다. 저렴하고 빠른 스토리지 기술, 클러스터 컴퓨팅 기술, 하둡 같은 오픈 소스 소프트웨어의 발전이 주도한 결과라고 할 수 있다. 데이터는 이제 기업의 가치 있는 자산이고 데이터 필터링이나 보존 기한의 제한 같은 다양한 비용 절감 노력을 들이지 않고도 기업의 모든 데이터를 원시 형태로 저장할 수 있다. 대용량 데이터 저장 기술 덕분에 현대 기업은 이전까지 불가능했던 새로운 엔터프라이즈 데이터 과학 애플리케이션을 활용할 수 있다.
둘째, R,파이썬 scikit-learn,스파크 MLlib같은 데이터 과학 오픈 소스 패키지가 공개되면서 지금까지 기업에서 활용할 수 없었던 머신 러닝과 통계학 기반의 고급 데이터 마이닝 알고리즘을 기업들의 대규모 데이터셋에 쉽고 유연한 방식으로 적용한다. 이러한 변화 덕분에 기업은 데이터자산으로부터 실지적인 비즈니스 성과를 달성하는 데 필요한 전반적인 노력,시간,비용을 절감할 수 있다.1.4 데이터 과학자가 되는길¶
그렇다면 어떻게 데이터 과학자가 될 수 있을까?
데이터 과학자가 되는 길은 재미있고 보람 있는 여정이지만, 우리 삶의 모든 길이 그러하듯 일정 이상의 노력이 필요하다.
우리가 만난 성공적인 데이터 과학자들의 과거 경력은 통계 전문가, 컴퓨터 과학자, 데이터엔지니어, 소프트웨어 개발자, 짐지어 화학자나 물리학자에 이르기까지 다양했다.
데이터 과학자로 성공하려면 일반적으로 데이터 엔지니어링과 응용과학 두 가지 컴퓨터 과학 기술 역량을 모두 보유하고 이들을 결합해야 한다.1.4.1 데이터 엔지니어¶
데이터 엔지니어는 고속 분산 데이터 파이프라인을 구축할 수 있는 전문 지식을 갖추고 운영 등급에 걸맞는 고품질 소프트웨어 시스템을 능숙하게 구축하는 숙련된 소프트웨어 엔지니어다.
이 인력은 최소한 하나 이상의 주요 프로그래밍 언어(예를 들면 자마, 파이썬, 스칼라, 루비, C++)와 소프트웨어 개발에 관련된 툴셋(예를 들면 메이븐이나 엔트같은 빌드 도구, 단위테스트 프레임워크,다양한 소프트웨어 라이브러리)에 대한 높은 전문성을 보유한 경우가 많다.
또한 데이터 엔지니어는 데이터 수집,저장,처리 시스템의 전반을 구축할 수 있는 전문 역량을 갖춘 경우가 많다. 데이터 시스템의 구체적인 기술에는 기존의 관계형 데이터베이스부터 NoSQL데이터베이서, 하둡 스탭(HDFS, 맵리듀스, HBase, 피그, 하이브, 스톰 등)까지 포함된다.1.4.2 응용과학자¶
응용과학자는 주로 컴퓨터 과학, 응용 수학, 통계학 분야의 학위를 보유하고 학계에서 연구를 수행한 배경을 가진 인력이다.
응용과학자는 여러 알고리즘(K-평군 군집화나 랜덤 포레스트,ALS등)에 내포된 수학적 이론에 대한 지식을 보유하고, 이러한 알고리즘을 최적화하는 방법과 알고리즘을 실세계 데이터에 적용하면서 직면하는 다양한 선택, 그리고 이러한 선택 간의 상충 관계에 대해서도 깊이 이해한다.
학술적 연구와 논문 게재에 중점을 두는 연구과학자와 달리 응용과학자는 주로 실세계의 문제를 해결하는 데 관심을 두며, 데이터에 가장 적절한 알고리즘을 적절한 방법으로 적용해 당면한 문제를 해결하는 것에 중점을 둔다. 하지만 이 두 부류를 항상 칼같이 구분하는 것은 아니다.
따라서 응용과학자는 새로운 가설을 신속하게 검증하고 빠른 프롤토타입을 만드는 데 중점을 두며, 직접 구현할 수 있는 통계 도구와 스크립트 언어(R, 파이썬,SAS등)를 주로 사용한다.- '오퍼'가 야후!검색 광고에서 수행한 데이터 과학 업무
- 나는 야후! 검색 광고가 중대한 변화를 겪고 있던 2005년에 입사에 Panama프로젝트를 시작으로 야후!의 엔지니어링 팀을 이끌었다.
대규모 엔지니어링 프로젝트였던 Panama의 목표는 야후!의 Overture인수와 함께 인계받았던 이전 컴포넌트의 대부분(전부는 아닐 수 있지만)을 대체해 야후! 검색 광고를 위한 새롭고 혁신적인 플랫폼을 만드는 것이었다.
Panama 프로젝트는 다양한 팀으로 구성되어 프론트엔드 광고 개발부터 빠른 인-메모리 데이터베이스 개발, 광고주에 친화적인 사용자 인터페이스 개발에 이르기까지 다양한 분야의 새로운 시스템을 개발했다. 나는 그중 야후!검색 광고 알고리즘의 토대를 재활성화하는 팀에 합류했다.
당시에는 '데이터 과학'이라는 용어가 등장하지 않아 우리의 업무를 '응용과학'이라고 불렀지만, 광고의 클릭률을 예측하는 작업은 전형적인 데이터 과학 프로젝트였다. 우리는 가설 수립-> 구형&테스트 -> 평가로 이어지는 데이터 과학의 반복 과정을 따랏으며, 수년에 걸친 수많은 반복 과정으로 클릭률의 예측 정확도를 크게 개선하고 결과적으로 야후!검색 광고의 매출을 끌어올릴 수 있었다.
당시 큰 어려움 중 하나는 페이지 뷰 및 클릭 로그로 이루어진 대규모 원시 데이터셋에서 클릭률을 계산하는 작업이었다. 다행히도 당시 야후!는 하웁 구축에 리소스를 투자했고 우리 팀은 사내에서 하둡을 사용한 첫 번째 사례가 되었다. 우리는 기존에 개발한 클릭률 예측 코드를 맵리듀스로 전환했고, 그 결과 가설 수립->구현&테스트->평가의 반복 주기가 더 짧아졌다. 이는 궁극적으로 더 나은 클릭률 예측 능력과 매출 증대로 이어졌다.1.4.3 데이터 과학자로 전직하는 방법¶
데이터 과학자로 성공하려면 데이터 엔지니어링과 응용과학의 모든 면에서 균형 있는 기술 역량이 필요하다.
독자가 이미 데이터 엔지니어라면 머신 러닝과 통계 기법에 대해 많이 들었을 것이고, 그 기법들의 목적과 메커니즘도 이해하고 있을 것이다. 데이터 과학자로 성공하려면 분류, 회귀,군집화,이상 탐지 등 데이터 과학 업무를 수행하는 데 필요한 통계학과 머신 러닝 기법을 더 깊게 이해하고 이에 대한 실무 경험을 쌓아야 한다.
응용과학자이며 이미 머신 러닝과 통계학을 잘 알고 있다면 데이터 과학자가 되기 위해 더 강력한 프로그래밍 기술을 습득하고 기본적인 소프트웨어 아키텍처와 개발 역량을 갖춰야 한다.
데이터 엔지니어나 응용과학자가 아닌 경력을 가진 사람도 데이터 과학자로 성공한 이가 많다. 이들은 비즈니스 분석가, 소프트웨어 개발자 심지어 물리학자, 확학자, 생물학자에 이르기까지 다양하다. 예를 들어 비즈니스 분석가는 대체로 분석 역량이 뛰어나며, 비즈니스 상황을 명확하게 이해하고 약간의 프로그래밍(주로 SQL) 경험이 있는 경우가 많다. 데이터 과학자의 역할은 이와는 다소 다르며, 비즈니스 분석가가 데이터 과학자로 성공하려면 더 높은 소프트웨어 개발 역량과 더 깊이 있는 머신 러닝 및 통계학 역량이 필요하다.
데이터 엔지니어링과 응용과학이 결합된 데이터 과학 역량을 쌓을 수 있는 좋은 방법 중 하나는 데이터 엔지니어와 응용과학자를 마치 익스트림 프로그래밍에서 말하는 짝 프로그래밍 방식과 유사하게 서로 헙업하도록 짝지어 주는 것이다. 이 같은 협업 방식으로 데이터 엔지니어와 응용과학자는 같은 문제를 지속적으로 풀어 나가며 서로가 서로에게 배우면서 더 빠르게 데이터 과학자로 성장할 수 있다.note = 익스트림 프로그래밍의 짝 프로그래밍¶
익스트림 프로그래밍은 애자일 방법론 중 하나로 짧은 개발 주기와 잦은 릴리스로 고객의 요구 사항 변화에 민첩하게 반응하는 것을 목표로 한다. 익스트림 프로그래밍의 여러 구성 요소 중 하나인 짝 프로그래밍은 두 개발자가 컴퓨터 한 대에서 일하는 개발 방법론으로, 한 사람이 프로그램 코드를 작성하는 동안 다른 한 사람이 이를 지켜 보면서 훈수를 두는 방식으로 진행한다.
'케이시'의 데이터 과학 여행¶
텍사스 A&M 대학의 수학과 대학원에 재학 중일 때, 나는 지도 교수의 뜻과는 달리 전공을 벗어난 선택과목을 수강하게 되었다. 컴퓨터 과학에 배경 지식이 있었던 관계로 컴퓨터 과학의 선택 과목에 집중했다. 한 학기 동안 개설된 과목 중 다소 흥미로웠던 과목은 P2P(peer-to-peer)네트워킹에 관한 조사 수업과 머신 러닝에 관한 대학원 수업이었다. 한 학기 동안 전공인 수학을 완전히 제쳐둔 채 빅데이터와 데이터 과학에 몰입하였고, 이 분야가 나에게 맞을 거라는 확신이 들었다.
그 후로 대학원을 졸업하고 신입 보직을 몇 차례 거친 다음, 한 석유 회사에 취직했다. 당시 담당 업무는 과학용 프로그램 개발과 지진 데이터의 신호 처리를 위한 Erlang 및 C++ 기반 맵리듀스 플랫폼의 구축을 돕는 일이었다. 이 작업이야말로 빅데이터와 고급 분석(또는 데이터 과학)에 대한 나의 흥미를 실무에 적용할 수 있는 첫 번째 기회였고, 여기에 완전히 푹 빠져버렸다. 그 후 여러 프로젝트에서 자연어 처리가 많았던 VoIP(Voice over IP)나 의료 정보학 분야를 비롯한 다양한 분야의 데이터 과학 업무를 다수 진행했다.
마침내 호튼웍스에 합류해 하둡을 사용하는 고객을 대상으로 데이터 과학 컨설팅 업무를 맡게 되었다. 당시 호튼웍스의 고객들이 실제로 빅데이터 플랫폼을 어떻게 사용하는지, 특히 그들이 플랫폼의 고급분석을 위한 원동력으로써 데이터 과학을 어떻게 활용하고 있는지에 대한 전반적인 형세를 이해하고 싶었다. 호튼웍스 고객들의 데이터 과학 활용 사례를 구축하는 프로젝트를 시작부터 운영 단계까지 도우며 수년을 보냈다. 이 여정은 내게 현실 세계의 제약과 이 제약 안에서 데이터 과학이 어떻게 공존할수 있는지 그리고 데이터 과학의 범위를 어떻게 하면 계속 넓힐지를 가르쳐 준 환상적인 시간이었다.
최근에는 호튼웍스가 진행하는 아파치 메트론 인큐베이팅 프로젝트에 참여해 고급 분석 이프라와 사이버 보안 모델을 구축하는 업무를 맡았다. 이 분야는 또 다른 영역으로의 도전이지만, 그간 대학원,석유 업체, 그리고 수년에 걸친 컨설팅으로 배웠던 모든 것이 내가 이 훌륭한 프로젝트를 위해 무엇을 어덯게 구축하고 사용할지 알려 주는 소중한 자산이 되었다.1.4.4 데이터 과학자가 갖춰야 할 소프트 스킬¶
데이터 과학자로서 일하는 것은 매우 보람되고 흥미롭고 재미있지만 머신 러닝, 프로그래밍 같은 기술 분야의 구체적인 전문성 외에도 다음과 같은 자질을 갖춰야 한다.
- 호기심: 데이터 과학자는 항상 데이터 안의 패턴과 변칙을 찾아야 하며 자연스럽게 호기심을 느껴야 한다. 데이터를 파헤치는 방법에 정답은 없으며 결국 데이터 과학자의 호기심이 데이터 과학자를 원시 데이터에서 최종 결과까지 이끌어 줄 수 있다.
- 배움의 즐거움: 데이터 과학 분야에서 때때로 새롭게 배워야 할 기술과 도구, 알고리즘이 무한정 많다고 느껴질 수 있다. 데이터 과학자로 성공하려면 새로운 것을 끊임없이 배우고자 하는 열린 자세가 필요하다.
- 끈기: 데이터 과학에서는 한 번에 성공하는 일이 절대 없다. 그러므로 데이터를 계속 두드리는 시도를 반복하며 절대 포기하지 않는 끈기가 성공의 핵심이다.
- 스토리텔링: 데이터 과학자는 종종 경영진 또는 비즈니스 이해 관계자들이 볼 때 다소 복잡할 수도 있는 내용을 그들에게 발표해야 한다. 데이터와 분석 결과를 이해하기 쉽고 명확하게 제시할 수 있는 능력이 무엇보다 중요하다.
여기 다시 돌아 왔도다-'더그'의 데이터 과학 여정¶
숙련된 분석 화학자였던 내게 데이터 과학은 매우 친숙한 개념이었다. 실험에서 수집한 소음으로부터 의미 있는 데이터를 찾아내는 작업은 과학 실험 과정에서도 자주 있는 일이다. 통계학과 다른 수학적 기법도 나의 원래 연구 분야였던 유전체 재료의 고주파 측정 연구에서 중요한 부분을 차지했었다. 재미있게도, 나의 데이터 과학 여정은 1980년대 중반 학계(화학과 조교수로 3년 재직)에 몸담았던 것을 시작으로 고성능 기술 컴퓨팅분야로 옮겨 갔다가 돌아오기를 수차례 반복했다.
내가 경험했던 분야는 신호 처리 및 모델링부터 포트란 코드변환, 병렬 최적화,게놈 파싱,고성능 기술 컴퓨팅과 하둡 클러스터 설계 및 벤치마킹, 단백질 폴딩 모델의 결과 해석에 이르기까지 다양하다.
그림 1-3의 관점에서 보면 나는 오른쪽의 학술 및 응용과학자로 시작해서 고성능 기술 컴퓨팅 분야로 들어서면서 데이터 엔지니어의 길로 옮겨 갔다고 볼 수 있다. 현재 응용과학 분야로 다시 넘어가고 있지만, 그렇다고 나의 경력이 데이터 엔지니어링과 응용과학 사이에서 이분법적으로 나눠진 적은 거의 없었다. 중용한 문제는 두 분야의 기술 역량과 두 분야의 기술을 모두 사용할 수 있는 유연성을 요구한다. 그간의 여정에서 내가 깨달은 것은 응용과학자로서의 배경이 나를 더 나은 대규모 컴퓨팅 전무가로 만들었고, 더 나은 응용과학자가 되게 했다는 것이다. 경험으로 비추어 보았을 때 좋은 의사 결정에는'좋은'숫자를 제공하는 능력이 필요하며'좋다'라는 기준은 이 숫자의 내력을 이해하는 데 달려 있다.1.5 데이터 과학팀 구성하기¶
다른 많은 소프트웨어 분야와 마찬가지로 데이터 과학 프로젝트는 한 개인이 아닌 데이터 과학팀이 진행한다. 하지만 데이터 과학팀을 채용하는 과정에서 다음과 같은 어려움에 봉착할 수 있다.
- 데이터 과학 인재의 수요와 공급 간 격차가 매우 크다. 최근 딜로이트의 보고서'2016년 데이터 분석 분야의 트렌드: 차세대 진화'에서는 "데이터 과학 관련 교육 프로그램의 수가 급증(미국에서만 100개 이상)했음에도 불구하고 대학 및 대학교의 데이터 과학자 공급이 비즈니스의 수요를 충분히 따라가지 못하고 있다"라고 언급했다. 보고서는 이어서"국제 데이터 조합은 2018년까지 심층 분석 역량을 보유한 인력이 미국에서만 181,000명 정도 필요할 것으로 내다보았으며, 데이터의 관리와 해석 능력을 가진 인력에 대한 수요는 그보다 5배나 많을 것으로 예측했다"라고 기술했다.
- 데이터 과학자를 채용할 수 있는 시장이 극도로 경재적이다. 구글, 야후!, 페이스북, 트위터, 우버, 넷플릭스를 포함한 많은 기업이 데이터 과학 인재를 구하고 있으며, 경쟁적으로 처우를 올려 제시한다.
- 상당수의 엔지니어링 관리자는 데이터 과학 업무에 생소하며 데이터 과학자를 인터뷰하고 좋은 인재를 채용해 본 경험이 부족하다.
이 같은 데이터 과학팀의 인력난을 극복할 보편적인 전략은 다음과 같다. 데이터 엔지니어링과 응용과학의 기술 역량을 모두 갖춘 데이터 과학자를 채용하는 대신, 데이터 엔지니어와 응용과학자로 구성된 팀을 조직하고 팀 전체의 생산성을 높일 수 있는 업무 환경과 프로세스를 제공하는 데 집중하는 것이다.
이러한 전략으로 채용의 딜레마를 해결할 수 있지만, 더 중요한 장점은 데이터 엔지니어와 응용과 학자가 서로 배울 수 있는 환경을 조성할 수 있다는 것이다. 시간이 흐를수록 이들 간의 협업은 팀원을 어엿한 데이터 과학자로 성장시킬 것이다.
데이터 과학팀을 구성할 때 필요한 또 다른 고려 사항은 새 팀원을 채용할지 아니면 조직 내 기존직원(데이터 엔지니어, 응용과학자 등)에게 데이터 과학자의 역활을 맡겨 새로 조직한 데이터 과학팀에 배치할지 결정하는 것이다.
기존 직원을 배치하는 방식의 장점은 통상적으로 확보 가능한 인원 수를 파악할 수 있으며, 직원이 이미 지즈니스와 도메인에 특화된 전문 지식을 보유하고 있다는 것이다. 예를 들어 보험 회사의 데이터 엔지니어는 이미 보험 사업이 어떻게 돌아가는지 이해하고 있으며 보험 관련 용어를 알고 새로 입사한 직원은 예상하기도 어려울 다양한 문제를 피할 수 있게 도울 만한 족직 내 인맥이 있다.
기존 직원을 배치하는 방식의 잠재적인 단점은 기존 직원들의 기술적 역량이나 지식이 다소 부족할 수 있다는 것이며 그들 중 일부는 기존 업무에 집착하고 변화에 저항하기도 한다.
전 세계 많은 데이터 과학팀과 협업해 온 우리의 경험으로 비춰 볼 때, 두 선택지를 혼용하여 내부 인력과 외부 채용을 모두 활요해 팀을 구성하는 방식이 가장 나았다.1.6 데이터 과학 프로젝트의 생명 주기¶
대부분의 데이터 과학 프로젝트는 해답을 도출해야 할 질문이 제기되거나 특정 비즈니스 문제와 연관된 가설을 테스트하고자 할 때 시작된다. 다음 몇 가지 예제를 살펴보자.
- 사용자가 게임을 계속 플레이할 가능성은 어떠한가.?
- 비즈니스의 흥미로운 고객 세그먼트는 무엇일까?
- 웹 페이지를 방문한 특정 고객에게 특정 광고를 보여 주었을 때, 이 광고의 클릭률은 얼마나 될까?
데이터 과학자는 이 같은 질문에 대해 가설을 수립하고, 다양한 머신러닝과 통계 기법을 데이터에 적용해 질문에 답할 수 있는지를 반복적으로 탐구한다.
1.6.1 적절한 질문¶
데이터 과학 프로젝트의 시작 단계에서 비즈니스가 직면한 문제를 잘 이해해 다음과 같은 조건을 만족하는 형태로 변환해야 한다.
- 이해하기 쉽고 의사소통이 원활해야 한다.
- 성공을 평가할 기준이 잘 정의되어야 한다.
- 현재 비즈니스에서 실행 가능해야 한다.
- 데이터 과학의 도구와 기법으로 해결이 가능해야 한다.
다은 예제를 살펴보자. 자동차 보험회사가 자동차 센서 데이터를 활용해 위험 모델을 개선하려고 한다. 이회사는 운전자가 GPS 좌표, 가속, 감속 등 차량의 운전 데이터를 기록하는 장치를 자신의 차량에 직접 설치할 수 있는 프로그램을 기획했다. 보험 회사는 기록 장치의 데이터를 바탕으로 운전자를 낮은 위험, 중간위험, 높은위험이라는 세 가지 범주로 분류하고, 그에 맞는 보험 정책 가격을 운전자에게 책정하려고 한다.
프로젝트를 시작하기에 앞서 데이터 과학자는 이 비즈니스 문제를 다음과 같이 정의할 수 있다.- 운전자를 세 가지 위험 범주로 나눌 분류 모델 구축 : 낮은 위험, 중간위헙, 높은위험
- 입력 데이터 : 센서 데이터
- 성공 기준 : 분류 모델의 정확도 기대치 75% 이상
- 성공 기준 : 분류 모델의 정확도 기대치 75% 이상
프로젝트 초기에는 데이터가 가진 정보량을 사전에 알 수 없어 성공 기준을 설정하기 어려운 경우가 많으므로"일단 뛰어들고 최선을 다하겠습니다"라고 말하는 것이 더 쉬울 수 있다. 하지만 이 처럼 제한이 없는 프로젝트는 어떠한'종료 기준'도 없어 위험하다.
데이터 과학 프로젝트의 성공 기준은 비즈니스가 데이터 과학 모델을 활용하는 방식과 비즈니스 관점에서 타당하다고 여겨지는 기준에 따라 달라지는 경우가 많다. 또한 프로젝트의 성공 기준을 데이터 과학의 관점에서 달성 가능한 평가 기준으로 변환해야 한다. 이를 위해서는 비즈니스 이해 관계자와 협상하거나 오히려 이들을 가르쳐야 할 수도 있으며, 이 과정에서 추상적이고 직관적인 비즈니스 목표를 비즈니스 관계자가 이해하기 쉽고 측정 가능하며 오차 범위가 정의된 평가 기준으로 변환해야 한다. 데이터 과학 솔루션의 허용 오차 범위가 0이 될 수는 없으므로(즉, 완전무결한 솔루션은 이 세상에 존재하지 않으므로) 비즈니스 관계자와의 협상은 어렵지만 반드시 필요하다1.6.2 데이터 입수¶
데이터 과학 프로젝트의 질문을 모든 사람이 잘 이해했다면 다음 단계는 프로젝트에 필요한 데이터를 입수하는 것이다. 데이터 과학 프로젝트에서 데이터의 입수 가능성은 프로젝트가 성공하는 데 절대적으로 중요하다. 사실 모든 데이터 프로젝트의 타당성을 판단할 때 데이터 입수 가능성과 데이터 분류를 우선으로 고려해야 한다.
데이터 입수 작업은 생각보다 어려운 경우가 많다. 데이터가 현재 저장된 곳을 찾아야 하고, 데이터 저장소의 관리자에게 접근 권한을 달라고 설득해야 하며, 분석을 위해 데이터를 옮겨 저장할곳을 찾아야 하는 일이 항상 뒤따른다. 필요한 데이터가 존재하지 않아서 데이터를 수직하고 저장할 새로운 방안을 마련해야 할 때도 있다.
규모가 큰 회사는 필요한 데이터셋의 존재 여부 그리고 저장 위치를 알아내기 쉽지 않을 수 있다. 게다가 조직의 일반적인 사일로 성향 때문에 데이터 관리자가 추가 없무를 수행해야 한다는 부담을 느끼고 데이터를 제공하기 꺼리는 경우도 있다. 또한, 분석용 데이터를 저장할 서버를 새로 구입해 줄 것을 상급자나 CIO에게 요청해야 하는 경우도 있다.
이 같은 모든 마찰과 장애물 때문에 데이터 입수 작업을 사소한 일이라고 절대 무시할 수 없다. 종종 간과되곤 하는 하둡 데이터 레이크의 가치는 궁극적으로 모든 데이터를 저장하는 데이터 저장소를 전사 차원의 지원을 받아 구축할 수 있다는 것이다. 따라서 데이터 레이크에서는 최소한의 노력으로 데이터를 입수할 수 있으며, 기본적으로 하둡 클러스터에 접근할 수만 있다면 데이터를 바로 사용할 수 있다.
4장 하둡을 활용한 데이터 입수에서 하둡 클러스터로 데이터를 쉽고 일관적으로 입수하게 도와주는 다양한 도구(플럼,스쿱,팔콘등)와 기법을 더 자세히 설명한다.1.6.3 데이터 정제: 데이터 품질 관리¶
데이터 입수 다음으로 필요한 과정은 데이터 품질에 관한 작업이다. 일반적으로 데이터 과학 프로젝트에 필요한 데이터는 서로 다른 레거시 저장소에 서로 다른 스키마와 형식 규정으로 저장된 여러 데이터셋으로 구성된 경우가 많다. 따라서 먼저 여러 데이터셋을 일관된 고품질 데이터셋으로 병합하는 작업이 필요하다.
예를 들어 다수의 병원, 클리닉, 약국으로 구성된 대형 의료 조직을 상상해 보자. 이 조직은 환자의 정보(인구 통계학 데이터, 실험실 데이터, 보험 지급 청구 데이터, 처방 데이터 등)를 다루는 여러 시스템을 보유한다고 가정하자. 보통 이러한 정보는 의사나 간호사, 약사가 직접 입력하기에 데이터가 무결할 수 없고 인간의 실수가 없다고 보장할 수도 없다. 실제로 임상 실험 결과, 혈압 또는 BMI등의 데이터에 단순한 입력 오류로 부정확한 임상 값이 포함되는 일이 허다하다. 분명한 것은 의사나 간호사는 나중에 잘못된 정보를 맨눈으로 보고 충분히 데이터 오류를 감지할 수 있지만, 이 데이터가 데이터 과학에 사용될 때는 모델에 부정적인 영향을 주는 오류 데이터를 막을 수 있게 데이터 정제 규칙을 반드시 적용해야 한다.
데이터 품질 이슈는 어디에나 있으며 안타깝게도 오류 데이터는 현대 기업의 데이터 내 거의 모든 곳에 존재한다. 데이터 과학자와 데이터 엔지니어는 데이터 품질을 확인하고 다양한 기법으로 입력 데이터셋을 정제하고 표준화하는 작업에 상당한 시간을 소비한다.
하둡 플랫폼은 원시 데이터와 여러 버전의 정제된 데이터를 비교적 저렴한 비용으로 보관할 수 있어서 데이터 정제 작업에 적합하다. 또한, 전체 하둡 클러스터를 사용해 데이터의 정제 작업을 대 규모로 수행할 수도 있다.
5장 하둡을 활용한 데이터 개조에서 데이터 품질에 대해 더 자세히 설명하고 데이터 품질 분석 과정에서 발생하는 다양한 문제를 식별, 분류, 해결하기 위한 프레임워크를 소개한다.1.6.4 데이터 탐색과 모델 특징 변수 설계¶
데이터를 입수하고 데이터의 품질 문제를 해결하면 마침내 실제로 모델링을 진행할 준비가 된 것이다(예를 들면 예측 모델을 구축,군집 분석을 수행, 또는 추천 시스템을 구축).
모델링을 진행하기 위해서 데이터 과학자는 모델링에 가장 적합한 데이터의 변수, 즉 특징을 선택해야 한다. 이미 데이터셋에 포함된 필드를 특징 변수로 사용하기도 하지만, 데이터셋 내 여러 특징 변수를 결합해 새로운 특징 변수를 생성(즉, 특징 엔지니어링)하기도 한다.
특징 변수의 예제를 살펴보자. 휴대폰 이동 통신 회사가 고객의 탈퇴 예측 모델을 구축한다고 가정해 보자. 이 회사가 가진 데이터셋은 고객ID, 가입 경과 일수, 현재 사용 중인 기종, 월평균 통화량(분), 요금제, 우편 번호 등의 변수로 이루어져 있다. 또한, 이 회사는 지난 6개월간 모든 고객의 전체 통화 기록이 있다.
이 같은 변수를 그대로 모델에 사용할 수도 있지만, 원시 변수로부터 복잡한 계산을 통해 도출된 복합 특징 변수를 활용하기도 한다. 예를 들어 (통화 로그로 계산한)'지난 한 달간 시외 통화 수'나 '가장 많이 사용된 기지국'등을 특징 변수로 고려할 수 있다.
특징 변수를 도출하는 비결은 어떤 특징 변수가 구축하려고 하는 모델의 특정 유형에 가장 유용한지 또는 어떤 특징 변수가 가장 좋은 예측력을 발휘하는지를 알아내는 것이다. 이 질문에 대한 해답을 찾는 일은 과학적이면서도 예술적인 과정이며, 어쩌면 데이터 과학에서 가장 어렵고 중요한 작업일 수 있다.
일면 특징 엔지니어링이라고 하는 이 작업을 수행할 때 데이터 과학자는 일반적으로 통계학, 정보 이론, 데이터 시각화, 텍스트 분석의 다양한 기법을 활용한다. 5장에서 특징 엔지니어링을 더 자세히 다룬다.1.6.5 모델 구축과 튜닝¶
머신 러닝 모델을 구축하는 작업은 사용할 모델링 기법을 선택하고 이를 데이터셋에 적용하는 과정이다. 모델링 기법은 크게 두 가지 유형, 지도 학습과 비지도 학습으로 나뉜다.
지도 학습에서는 데이터 인스턴스가 복수로 구성된 훈련 데이터셋을 학습 데이터로 사용한다. 각 데이터 인스턴스는 여러 특징 변수와'목표'변수 하나로 구성된다. 머신러닝 알고리즘은 이러한 훈련 예제로 특징 변수가 어떻게 목표 변수 값으로 연결되는지'학습'한다. 지도 학습 기법은 다시 분류와 회귀 문제로 나뉜다. 분류 문제에서 목표 변수가 이산값으로 정의되는 범주형 변수(예를 들면 앞서 보험 회사의 예제에서 등장한 운저자의 위험도)인 반면, 회귀 문제에서는 목표 변수가 연속적인 값(예를 들면 예상 보험료)으로 표현된다.
비지도 학습 기법은 훈련 데이터셋이 주어지지 않은 상황에서 레이블이 없는 데이터의 패턴을 인식하는 모델링 기법의 총칭이다. 비지도 학습 기법에는 크게 군집화, 이상 탐지, 빈발 아이템셋 분석등이 있다.
제품 추천 기법인 협업 필터링은 지도 학습과 비지도 학습 사이의 어디쯤에 해당한다. 이 알고리즘은 지도 학습의 표준적인 훈련 데이터셋을 입력으로 사용하지는 않지만 대신 다수의 사용자가 제공한 제품 경가 기록을 입력 데이터셋으로 사용하며, 이를 기반으로 개별 사용자에게 적합한 제품을 골라 추천한다.
각 머신 러닝 기법의 자세하고 어려운 수학적 내용을 이해하려면 이 책의 범위를 벗어나는 확률,통계,응용 수학 등의 사전 지식이 필요하다. 하지만 머신 러닝의 기반을 이루는 수학을 완벽하게 이해하지 않아도 이 기법들을 사용할 수 있다. 7장 하둡을 활용한 머신 러닝에서 머신 러닝 기법과 그 응용에 대해 더 자세히 다룰 예정이다.
모델이 성공적으로 구축되면 정확도 또는 정밀도, 재현율 등의 표준 지표를 상용해 모델의 성능을 평가하고, 이 모델이 비즈니스 이해 관계자와 합의해 확정된 프로젝트 성공 기준에 부합하는지를 판단해야 한다.
모델이 기대만큼 성능을 내지 못했을 때는 이전 단계로 돌아가서 다른 시도를 해야 한다. 예를 들어 전혀 다른 새로운 데이터를 입수하거나, 다른 방법으로 데이터를 전처리 및 정제하거나, 다른 특징 변수를 사용하거나, 다른 도델을 사용하거나, 또는 이것들을 모두 시도할 수도 있다.1.6.6 운영 시스템에 배보¶
모델 구축과 평가가 완료되고 모델의 성능이 수용 가능한 기준에 부합하면 이 모델을 운영 시스템에 배포할 준비가 된 것이다.
조직이 활용하는 운영 환경에 따라 운영 배포 프로세스가 달라지므로 명확한 배포 방법을 제시하기는 어렵다
모델을 운영 시스템에 배포하려면 모델링 과정의 모든 측면, 즉 데이터 입수, 데이터 전처리, 모델링에 관련된 모든 사항을 고려해야 한다. 또한, 응답 시간의 서비스 수준 협약을 엄격하게 지켜야 하는 경우가 많으며, 이러한 제약은 아키텍처나 알고리즘 선택을 크게 좌우한다.Note= 서비스 수준 협약¶
서비스 수준 협약은 제공할 서비스가 최소한으로 만족해야 할 품질과 가용성 그리고 그에 미치지 못했을 경우 보상이나 보완책의 내용을 서비스 제공자와 수혜자가 사전에 합의하는 규약이다. 데이터 과학 프로젝트의 시스템 운영 측며에서는 구축한 모델이 최소한으로 보장해야 할 응답 시간이나 서비스 가용성 등이 SLA로 정의될 수 있으며 특히 응답 시간의 제약은 알고리즘의 선택에도 영향을 미칠 수 있다. 예를 들어 머신 러닝 기법중 k-최근접 이웃 알고리즘의 경우, 예측 단계의 수행 기간이 오래 걸리므로 높은 서비스 수준을 만족시키기 어려울 수 있다.
1.7 데이터 과학 프로젝트의 관리¶
데이터 과학팀은 상대적으로 새로운 개념의 조직이다. 데이터 과학에 생소한 관리자는 다른 소프트웨어 개발 프로젝트에서 성공적으로 입증된 일반적인 프로젝트 관리 기법과 모법 사례를 답습하면서 데이터 과학 프로젝트도 동일하게 관리할 수 있다고 여길 수 있다.
하지만 이러한 생각은 틀렸다. 데이터에 머신 러닝 기술을 적용하는 데이터 과학 프로젝트는 대부분 통상적인 소프트웨어 개발 프로젝트와 크게 다르며, 차원이 다른 접근 방법과 사고 방식을 요구 한다.- 프로젝트 시작 단계에서는 데이터 품질을 파악할 수 없다. 앞으로 소개할 내용에서도 보겠지만, 데이터 품질은 데이터 과학에서 가장 핵심적인 부분이다. 좋은 품질의 데이터를 프로젝트에 활용하려면 데이터 입수와 정제 작업에 상당한 노력을 기울여야 하는데, 그 노력의 정도와 범위조차 사전에 파악하기 어려운 경우도 많다.
- 데이터 과학 프로젝트에서는 알고리즘의 측정과 평가가 가장 중요하다. 개발한 알고리즘이 어느 정도의 성능을 보이는지 정확하게 측정할 수 없다면 마치 눈을 가리고 달리는 것과 같다. 알고리즘을 계측하고 데이터를 수집하고, 그 결과를 측정하는 작업을 지원할 수 있는 인프라를 구축하는 것은 알고리즘만큼이나 중요하다. 하지만 이러한 인프라 구축은 프로젝트의 대외 목표와 전혀 관계없는 노력과 시간을 요구한다.
- 알고리즘의 성능을 측정할 수 있는 인프라를 갖췄다고 해도 통계 기법과 머신 러닝 모델이 보여 주는 정확도의 기대 수준을 판단하기 어려운 경우가 많다. 이러한 상황은 프로젝트의 '종료기준'을 명확하게 정의하는 데 또 다른 문제를 일으킨다. 과연 우리는 언제 모델이 '좋다'라고 말할 수 있으며, 프로젝트가'끝났다'라고 결론지을 수 있을까? 대신, 모델링이 반복적인 개선 과정일 수밖에 없다는 사실을 인식하고, 데이터 과학자의 생산성을 최대한 높이는 환경과 도구를 제공해 반복에 소요되는 시간을 단축해야 한다.
필자들이 아는 한 데이터 과학 분야에서 소프트웨어 엔지니어링의 스크럼이나 익스트림 프로그래밍처럼 실무 현장에서 검증된 프로젝트 관리 방법론이 아직 없다. 하지만 수년 안에 데이터 과학 프로젝트를 위한 관리 방법론이 등장하리라 믿는다.
1.8 요약¶
- 데이터로부터 통찰을 발견하고, 통찰을 비즈니스에 적용할 소프트웨어 시스템을 구축하는 예술이자 과학으로 데이터 과학을 정의했다.
- 데이터 과학의 역사를 학계와 업계의 측면에서 살펴봤다. 데이터 과학이 통계 학꼐와 머신 러닝 학계에서 어떻게 시작되었고, 야후!나 구글 같은 거대 인터넷 기업의 혁신이 어떻게 데이터 과학을 실용적으로 만들어 냈는지 흝어봤다.
- 데이터 과학자를 데이터 엔지니어와 응용과학자의 기술 역량을 두루 갖춘 인재로 정의했으며, 데이터 과학팀을 구성할 때 직면할 수 있는 어려움을 논의했다.
- 적절한 질문을 던지는 것부터 데이터 품질 관리를 거쳐 전처리 모델링, 평가, 운영 배포에 이르는 데이터 과학 프로젝트의 생명 주기를 살펴봤다.
출처 : "하둡과 스파크를 활용한 실용 데이터 과학"
'하둡과 스파크를 활용한 실용 데이터 과학' 카테고리의 다른 글
chapter_3 하둡과 데이터 과학 (0) 2021.11.20 chapter_2 데이터 과학의 활용 사례 (0) 2021.11.16