데이터과학의 첫걸음: 시작하며

데이터과학의 첫걸음: 시작하며#

이 책은 데이터 과학에 첫발을 내딛는 책입니다. 우리가 반드시 경제학자가 되려고 경제학원론을 공부하는 것은 아닙니다. 전문경영인이 되려고 경영학을 공부하는 것도 아니죠. 이제 빅데이터, 알고리듬, 코딩이 우리 일상생활에까지 들어왔기 때문에 데이터 과학자를 목표로 하지 않더라도 도대체 무슨 일이 벌어지고 있는지 알아야 합니다. 수리금융학으로 무장한 퀀트가 되어 투자은행으로 진출할 계획이 아니더라도 우리가 투자론을 공부하는 것과 마찬가집니다.

파이썬(Python)은 가장 많이 사용되는 10대 프로그래밍 언어에 꾸준히 랭크돼왔으며 PYPL(PopularitY of Programming Language) 기준 현재 전세계적으로 가장 인기있는 프로그래밍 언어입니다. 특히 요즘 각광받고 있는 딥러닝 등에서 파이썬 관련 모듈이 가장 앞서 나가고 있는 것으로 여겨집니다. 이처럼 강력한 도구이면서도 무료(!)라는 점이 특히 매력적입니다. 여러분은 파이썬을 익힘으로써 코딩과 알고리듬에 대해 배우게 될 겁니다.

이 책의 구성은 일단 1-2장에서는 파이썬에 대한 소개와 이것을 자신의 컴퓨터에 설치하는 방법, 그리고 파이썬 코딩 방법에 대해 가장 기초적인 내용이 나옵니다. 이를 바탕으로 3-4장에서는 파이썬 코딩을 실제 데이터(은행 텔레마케팅, 온라인몰 전자상거래)에 적용해서 분석하는 연습을 합니다. 여기까지는 산점도나 상관계수, 빈도분포 등 아주 기초적인 분석도구를 사용하지만 5장부터는 다양한 통계적 (기계)학습 모형들을 공부하게 됩니다. 가장 기본이 되는 선형 회귀부터 시작해서 로지스틱 회귀, K-최근접이웃 분류, 나이브 베이즈 분류, 선형 모형 변수선택 및 정규화, 결정 트리, 트리 기반 모형, 서포트 벡터 머신, 딥러닝, 주성분 분석, 생존분석 순으로 진행됩니다.

각 주제마다 동일한 포맷인데, 전반부에는 해당 주제와 관련해 반드시 알아야 할 이론적 내용이 먼저 나오고, 후반부에는 관련 분석을 파이썬으로 어떻게 구현하는지 설명합니다. 이 중 이론 부분에서는 James 등(2023)의 An Introduction to Statistical Learning with Applications in Python(이하 “ISLP”)에 크게 의존했음을 밝힙니다. 머신러닝 분야를 공부하는 이들에게는 아주 잘 알려진 책으로서 통계학, 컴퓨터 과학, 계량경제학 등 다방면의 관련 연구를 일관된 체계로 알기 쉽게 설명하고 있는 소중한 책입니다. 이 ISLP의 내용 중 각 주제 별로 가장 핵심적이라고 생각되는 부분만을 뽑아 조금이라도 더 알기 쉽게 전달하고자 노력했습니다. 파이썬 실행 부분은 (ISLP에 의존하지 않고) 깃허브(GitHub) 자료 등을 참고했으며 해당 부분에 출처를 표기해놨습니다.

지금은 코딩 작업을 할 때 누구나 ChatGPT와 같은 생성형 AI를 활용합니다. 생성형 AI는 파이썬 코딩을 비롯해 데이터 분석의 다양한 작업에서 도움을 줍니다. 주어진 파이썬 코드의 의미와 구문에 대해 자세히 설명해주고, 훌륭한 그래프를 그릴 수 있는 코드를 알려주며, 코드에 오류가 발생했을 때 해결 방안을 알려줍니다. 또한 데이터 분석 실행 결과는 물론이고 머신러닝 등 통계학 제반 이론에 대해서도 알기 쉽게 설명해줍니다.

이 책의 각 장에 ChatGPT 활용법과 관련된 부분을 한두 개, 많으면 서너 개 집어넣었습니다. 어떤 이슈에 대한 질문과 답변 내용을 보여주는데, 이를 통해 ChatGPT 활용법을 익힐 수 있습니다. 생성형 AI는 파이썬을 활용한 데이터 분석 작업의 아주 유능한 길라잡이 역할을 합니다. 물론 이것이 모든 걸 다 해주진 않습니다. 질문 내용이 복잡해지면 틀린 답을 내놓는 경우도 많습니다. 결과를 반대로 해석하는 경우도 있습니다. 결국 물어보는 사람이 잘 물어봐야 하고 답변에 문제는 없는지 잘 따져봐야 합니다. 파이썬과 데이터 분석에 대해 아무것도 모르면 AI한테서 건질 게 아무것도 없습니다. 많이 알수록 많이 얻어낼 수 있는 거죠. 프로그래밍 언어로서 파이썬의 인기와 AI의 엄청난 학습능력이 시너지 효과를 내면 (지금도 놀랍지만) 나중에는 범접할 수 없는 경지에 도달할지도 모릅니다.

이 책은 각 주제 별로 핵심 자료들을 잘 모아 정리해놓은 자습서 성격을 지니고 있습니다. 이 책의 기여라면 그동안 머신러닝 관련해 필요한 자료들을 여기저기서 찾아가며 공부해야 했던 수고를 조금이라도 덜어주는 정도라 할 겁니다. 기존의 자료를 모아 정리하는 수준이었음에도 이 책을 완성하기까지 상당한 시간과 노력이 요구됐습니다. 가급적 쉽고 직관적인 설명을 하는 데 많은 공을 들였습니다. 기초 통계학 정도의 지식을 갖춘 학생이면 도전해볼 수 있도록 했습니다. 특히 머신러닝이나 코딩에 상대적으로 약한 문과계열 학생들을 염두에 뒀습니다. 생소한 용어들을 소개하고 일관되게 사용하려고 노력했습니다. 파이썬의 여러 모듈이 계속 업데이트되기 때문에 이 책에서 제시한 프로그램이 제대로 실행되는지 확인하는 것에도 신경을 썼습니다.

하지만 이런 노력에도 여전히 오류들이 남아 있을 겁니다. 또한 이번에 다뤄지지 않은 주제들도 많습니다. 이런 부분들을 지속적으로 보완하고 바로잡아나갈 것을 약속드립니다.


온라인판 서문
2025년 3월

최필선 ⋅ 민인식