혼자 공부하는 데이터 분석 with 파이썬
- 데이터 분석 초보용 필독서 -
안녕하세요.
오늘은 데이터 분석에 관한 책 한 권을 소개하고자 합니다.
한빛미디어에서 2023년 1월에 출간한 아주 따끈한 책인데요.
비전공자나 전공자라고 해도 파이썬을 배우고 나서 데이터 분석을 어떻게 공부해야 할지
막막한 사람들에게 꼭 필요한 책이라는 생각이 들어서 리뷰하게 되었습니다.
특히 다른 책들과 달리 잘 정제된 데이터를 사용하는 것이 아니라
실제로 데이터를 수집, 전처리, 분석하는 실무와 동일한 과정을 거쳐가며
학습할 수 있도록 내용이 구성되었다는 점,
그리고 시각화 라이브러리인 matplotlib 사용법에 대해서 자세히 설명하고 있다는 점
에서 아주 높은 점수를 주고 싶습니다.
[혼자 공부하는 데이터 분석 with 파이썬]을 한 줄로 요약하면
데이터 수집 및 전처리, 시각화, 통계 및 회귀분석을
실전 실무 레벨로 공부할 수 있는 책
입니다.
1.실무에 바로 적용 가능한 데이터 전처리 학습
제가 처음에 데이터 분석을 공부하고 나서 실제로 실무 프로젝트를 해보면서 느꼈던 점은 데이터 전처리의 어려움이었습니다. 알고리즘을 공부할 때 사용했던 데이터들은 모두 정제가 잘 되어있어서 문법에 맞게 넣어주기만 하면 알아서 결과가 잘 나왔기 때문에 분석하고자 하는 데이터의 특성을 파악하고 어떤 분석 방법을 사용할지에 대한 고민만 하면 끝났습니다. 여러 권의 데이터 분석 관련 책을 구입해 공부했지만 대부분의 책에서 사용하는 데이터가 이미 잘 정제된 데이터였기 때문에 전혀 어려움이 없었습니다.
파일 오픈시 흔히 볼 수 있는 인코딩 에러에 대한 설명 부분
인코딩에 대한 상세한 설명과 문제 해결 방법
하지만 실무 프로젝트를 처음 했을 때는 분석을 위해서 받은 파일을 여는 것부터가 난관이었습니다. 보통 웹이나 프로그래밍을 할 때는 파일이 utf-8로 인코딩이 되기 때문에 특별히 신경쓰지 않아도 됩니다. 하지만 분석 의뢰를 받아 제공받은 파일은 윈도우에서 생성되는 파일도 있었는데 그런 경우 파일 인코딩을 cp949로 지정해주지 않으면 파일 자체가 열리지 않았습니다. 이런 문제는 데이터 분석을 배울 때도 겪어보지 못했고, 여러 권의 책을 공부하면서도 설명해주는 책이 없어 공부할 기회가 없었습니다. 결국 여러 번의 시행착오와 검색을 통해서 익혀야만 했죠.
파일을 열었다고 그 뒤가 순탄하지도 않습니다. 힘들게 열어서 데이터 내용을 확인해보면 숫자로 되어 있어야 하는 데이터가 문자로 되어 있거나, 날짜 데이터인데 문자로 되어 있거나, 눈으로 볼 때는 아무 것도 없는데 실제로는 공백이 있어서 오류가 난다거나 정말 다양한 원인으로 수많은 오류 메세지를 봐야 합니다.
그래서 그동안 열심히 공부한 데이터 분석 알고리즘이나 분석 기법을 적용해 데이터를 분석하는 것은 고사하고 EDA(탐색적 데이터 분석)을 하는 것 조차도 어렵습니다.
[혼자 공부하는 데이터 분석 with 파이썬]의 가장 큰 장점은 웹에서 수집한 실제 데이터를 전처리 해가며 실습 할 수 있다는 것입니다.
웹사이트에서 크롤링으로 데이터를 가져오는 방법 학습
그래서 실제 업무에서 마주칠 수 있는 데이터 전처리와 관련된 여러 문제를 실습해 볼 수 있고, 특히 자료형 변환이나 중간에 이상한 데이터가 섞여 있을 때 처리하는 방법에 대한 것들도 배울 수 있다는 점이 정말 좋습니다.
무분별한 크롤링에 대한 문제점과 주의 할 점 설명
데이터 전처리 방법 상세 소개
2. 시각화 라이브러리 matplotlib 사용법 상세 소개
데이터 분석을 공부하면서 책에서도 자주 언급되고 많이 듣는 이야기 중 하나가 "데이터의 시각화가 중요하다" 는 말입니다. 숫자나 문자로 되어 있는 결과보다 그래프로 보면 직관적으로 빠르게 파악이 가능하기 때문이죠. 그래서 보통 EDA(탐색적 데이터 분석) 파트에서 여러가지 그래프를 그리면서 분석하는 것에 대한 내용이 자주 등장 합니다. 하지만 정작 데이터를 시각화 하는 라이브러리인 matplotlib 에 대한 자세한 설명은 나오지 않습니다.
사실 데이터 시각화는 데이터 분석의 여러 세부 분야중에서 하나를 차지하는 영역이며 전문 영역입니다. 그래서 데이터 분석을 공부하는 책에서는 깊게 다루지 못하고 실습을 하면서 익히는 정도로 끝나는 것이 대부분입니다.
하지만 [혼자 공부하는 데이터 분석 with 파이썬]에서는 시각화 라이브러리인 matplotlib에 대해서 자세하게 다루고 있습니다. matplotlib을 이용해서 그래프를 잘 그리려면 이것저것 설정할 것들이 많아서 원하는 그래프를 그린다는 것이 생각보다 많이 어렵습니다. 이 책에서는 기본 사용법은 물론 한글 표시를 위한 폰트 설정, 선 색깔 지정하기, 마크 표시하기, 여러 개의 그래프 동시에 그리기 등 기초부터 고급까지 상세히 알려줍니다.
데이터 시각화의 기초부터
고급 시각화 기술까지 상세하게 학습 가능
3. 통계이론과 선형회귀 로지스틱 회귀 분석 소개
[혼자 공부하는 데이터 분석 with 파이썬]에서 분석이론이나 알고리즘 설명을 하는 분량은 많지 않습니다. 책의 초점이 데이터 준비, 전처리, EDA(탐색적 데이터 분석), 시각화 에 맞춰져 있기 때문입니다. 하지만 EDA를 하는 과정에서 꼭 필요한 기초 통계에 대한 지식을 7장에서 잘 설명해주고 있고 본격적으로 회귀분석, 분류분석, 군집분석, 딥러닝 등을 공부하기 전에 꼭 알아야할 지식들을 쉽게 풀어서 설명해주고 있습니다. 그리고 간단한 회귀분석, 로지스틱 회귀분석으로 앞 장에서 수집하고 전처리한 데이터를 분석해 봅니다. 마지막으로 분석 결과를 해석하는 방법에 대해서 설명해 주고 있습니다.
선형 회귀분석
로지스틱 회귀분석(분류분석)
MSE / MAE를 이용한 모델 성능 검증 방법 설명
분석에 대한 내용이 적은 이유는 [혼자 공부하는 데이터 분석 with 파이썬]보다 먼저 출간된 [혼자 공부하는 머신러닝 + 딥러닝]에서 아주 자세하게 설명하기 때문입니다.
[혼자 공부하는 머신러닝 + 딥러닝] 알고리즘 공부에 좋다.
책이 출간된 것은 [혼자 공부하는 머신러닝 + 딥러닝]이 먼저지만 내용상으로는 [혼자 공부하는 데이터 분석 with 파이썬] 뒤에 공부해야 할 내용입니다. 이 책은 회귀분석, 분류분석, 앙상블 기법, 인공신경망, 자연어처리, 이미지 분석까지 데이터 분석 모델을 만드는 방법에 대해서 상세하게 설명하고 있습니다. 즉 알고리즘에 대해서 기초부터 공부할 때는 [혼자 공부하는 머신러닝 + 딥러닝]을 공부해야 하고, 데이터 수집, 전처리, EDA, 시각화 등 본격적으로 분석 모델을 만들기 전까지의 과정을 공부하기 위해서는 [혼자 공부하는 데이터 분석 with 파이썬]이 필요합니다.
데이터 분석을 실제 분석 과정의 순서대로 공부하고 싶다면 [혼자 공부하는 데이터 분석 with 파이썬] => [혼자 공부하는 머신러닝 + 딥러닝] 순으로 공부해야 한다는 점을 기억하세요.
4. 약간 아쉬운 부록 데이터베이스와 SQL 파트
[혼자 공부하는 데이터 분석 with 파이썬]에서 마음에 들었던 부분 중 하나는 부록에 있는 데이터베이스와 SQL 파트였습니다. 데이터 분석을 할 때 웹에서 데이터를 수집 하는 경우도 있지만, 사실 대부분의 실무는 회사의 데이터베이스에서 자료를 가져와 분석하는 것입니다. 그래서 SQL 능력도 필요한데 그 부분까지 세심하게 고려해서 부록으로 내용을 추가한 것 같습니다. 다만 약간 아쉬운 점이 있다면 실무처럼 원격지의 DB에 접속해서 SQL로 자료를 가져오는 것이 아닌 파일 형식의 DB인 SQLite 위주로 설명이 되어 있다는 점입니다. SQL 명령어를 익히는 것은 SQLite로도 충분하지만 추가로 MySQL이나 MariaDB에 Pymysql과 SQLAlchemy를 이용해 Pandas에서 데이터프레임 형식으로 자료를 불러오고 저장하는 내용을 추가한다면 완벽할 것 같습니다.
5. 결론
[혼자 공부하는 데이터 분석 with 파이썬]의 특징을 간략하게 요약하면 아래와 같습니다.
독자 수준
전공/비전공자 중 Python 기초를 배운 사람, 데이터 분석 입문자,
알고리즘 공부를 마치고 실무에 필요한 스킬을 쌓고 싶은 사람
필수 기초 지식
Python 기초, HTML, CSS
학습 영역
데이터 수집, 데이터 전처리, 탐색적 데이터 분석(EDA),
데이터 시각화, 기초통계, 회귀분석, 로지스틱 회귀분석
차별점
다른 책들이 잘 정제된 데이터를 이용해 오류없이 알고리즘 공부에 집중할 수 있도록 되어 있는 것과 달리
실제로 웹에서 데이터를 수집하고 정제해서 분석까지 할 수 있도록 구성.
이 책은 알고리즘을 집중적으로 공부하는 책이 아니고 데이터 분석을 위해서 꼭 필요한 데이터 준비, 데이터 전처리, EDA(탐색적 데이터 분석), 시각화를 집중적으로 공부하는 책입니다. 데이터 전처리의 중요성은 많이 강조하지만 실제로 데이터 전처리에 관한 책이 거의 없었는데 그 부분에 집중된 책이라서 매우 의미 있다고 할 수 있습니다.
이미 알고리즘에 대한 공부를 다 마쳤다면 실무에서 마추치게될 전처리의 어려움을 이 책으로 미리 경험하고 해결 방안을 공부할 수 있습니다. 그리고 이 책으로 처음 데이터 분석을 공부하려고 한다면 기초를 탄탄히 쌓고 알고리즘 공부를 하게 되기 때문에 알고리즘 공부할 때 사용하는 쉬운 데이터가 아닌 본인만의 데이터를 가지고 실전에 가까운 레벨로 학습을 할 수 있는 능력을 갖출 수 있습니다.
대학에서 데이터 분석을 학생들에게 가르치고 있는 사람으로써 수업에서 바로 사용하고 싶을 만큼 잘 만들어진 책입니다.
데이터 분석을 기초부터 제대로 공부하고 싶은 분들께 강력히 추천합니다.
이 글은 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."