소개#

감사의 글

파이썬 라이브러리를 활용한 데이터 분석(3판)밑바닥부터 시작하는 데이터 과학(2판)의 소스코드를 활용한 파이썬 데이터 분석 기초 강의노트입니다. 소중한 소스코드를 공개한 웨스 맥키니(Wes McKinney)와 조엘 그루스(Joel Grus)에게 진심어린 감사를 전합니다.

데이터 과학#

데이터 과학은 데이터로부터 정보를 추출하는 기법과 추출한 정보를 활용하는 연구 분야를 가리킨다. 데이터로부터 정보를 얻기 위해 전통적으로 수학, 통계학, 확률론을 이용하여 이론적으로 접근하였지만 데이터의 크기가 커지면서 이제는 머신러닝, 딥러닝 등 컴퓨터를 보다 적극적으로 활용한 데이터 분석의 중요도가 절대적으로 커졌다.

인공지능, 머신러닝, 딥러닝, 데이터 과학#

인공지능, 머신러닝, 딥러닝을 간략하게 정의하면 다음과 같다.

  • 인공지능: 사고thinking, 학습learning 등 인간의 지적능력을 컴퓨터가 모방하는 기술 또는 관련 연구

  • 머신러닝: 컴퓨터가 데이터로부터 스스로 정보를 추출하도록 하는 기법 또는 관련 연구

  • 딥러닝: 심층 신경망을 이용하여 복잡한 비선형 문제를 해결하는 머신러닝 기법 또는 관련 연구

역사적 관점에서 바라본 인공지능, 머신러닝, 딥러닝의 관계는 다음과 같다.

<그림 출처: NVIDIA 블로그>

데이터 과학과 인공지능, 머신러닝, 딥러닝의 관계는 아래 그림으로 설명된다.

파이썬 데이터 분석#

데이터 분석은 파이썬 프로그래밍 언어를 이용한 데이터 분석이 현재 가장 활용도가 높다.

파이썬 데이터 분석 학습을 위해 아래 분야의 기초지식이 요구된다. 하지만 여기서는 선형대수, 확률과통계 관련 지식은 필요한 최소의 내용만 다룬다.

  • 파이썬 프로그래밍

  • 선형대수, 확률과통계

파이썬 프로그래밍 언어#

프로그래밍 실습에 사용되는 파이썬Python은 현재 데이터 분석 및 머신러닝 분야에서 가장 많이 사용되는 프로그래밍언어이다.

또한 수 많은 프로그래밍언어 중에서 현재 가장 많이 사람들 사이에서 회자되고 있다. 아래 사진은 2024년 2월 기준 인터넷 검색 엔진에서 언급된 빈도를 측정한 TIOBE Index의 상위 결과를 보여준다.

파이썬 주요 라이브러리#

파이썬이 데이터 과학 분야에서 인기가 높은 이유는 다음과 같다.

여기서는 넘파이NumPy, 판다스Pandas, 맷플롯립matplotlib을 주로 다룬다.

  • 넘파이: 효율적이고 빠른 다차원 배열array을 다룰 수 있는 객체와 API를 지원한다.

  • 판다스: 테이블 데이터를 매우 효율적으로 다룰 수 있는 객체와 API를 지원한다.

  • 맷플롯립: 2 차원 데이터 시각화에 유용한 많은 API를 제공한다.

Stack Overflow 개발자 설문조사 2023에 따르면 가장 배우고 싶어하는 라이브러리로 넘파이와 판다스가 가장 인기가 많다.