파이썬 개념
- 과학 분야를 위한 표준 프로그래밍 언어
- MATLAB, R과 같은 도메인 특화 언어와 Java, C 같은 범용 언어의 장점을 고루 갖춤
- 통계, 머신러닝, 자연어, 이미지, 시각화 등을 포함한 풍부한 라이브러리를 지님
- 브라우저 기반의 인터랙티브 프로그래밍 환경인 Jupyter Notebook으로 쉽게 구현
- 파이썬 딥 러닝 라이브러리인 Tensorflow, Pytorch, Keras 등이 존재
파이썬과 머신러닝
- 파이썬은 뛰어난 확장성과 연계 호환성을 가짐
- 분석 영역을 넘어 ML 기반의 다양한 Application 개발 용이
- 기존 Application과 연계가 쉬움
- 딥러닝 프레임워크들이 파이썬 기반으로 작성
- 대부분의 딥러닝 관련 튜토리얼, 설명 자료들이 파이썬으로 작성되어 제공
- 현 시저에서 딥러닝을 학습하기 위한 최적의 언어는 파이썬
Numpy(수치 계산 라이브러리)
- Numerical Python의 약자로 대표적인 파이썬 기반 수치 해석 라이브러리
- 선형대수 연산에 필요한 다차원 배열과 배열 연산을 수행하는 다양한 함수 제공
Pandas(데이터 처리 라이브러리)
- 파이썬에서 사용하는 데이터 분석 라이브러리
- 행과 열로 이루어진 2차원 데이터를 효율적으로 가공할 수 있는 다양한 기능 제공
Matplotlib(데이터 시각화 라이브러리)
- matplotlib은 파이썬에서 데이터를 차트나 플롯으로 시각화하는 라이브러리
- matplotlib.pyplot 모듈의 함수를 이용하여 간편하게 그래프를 만들고 변화를 줄 수 있다
Seaborn(데이터 시각화 라이브러리)
- seaborn은 matplotlib 기반의 시각화 라이브러리
- 유익한 통계 기반 그래픽을 그리기 위한 고급 인터페이스 제공
BeautifulSoup(웹 데이터 수집 라이브러리)
- HTML 및 XML에서 데이터를 쉽게 처리하는 파이썬 라이브러리
- HTML은 태그로 이루어져 있고, 수많은 공백과 변화하는 소스들 때문에 오류가 있을 가능성이 높지만 BeautifulSoup을 이용하면 이러한 오류를 잡아서 고친 후 데이터를 전달해줌
Scikit Learn(머신러닝 라이브러리)
- 파이썬 기반의 머신러닝을 위한 가장 쉽고, 효율적인 개발 라이브러리
- 머신러닝은 곧 Scikit-Learn을 의미할 정도로 오랜 기간 파이썬 영역에서 인정 받아옴
- R에 비견될 수 있는 Python 세계의 분석 라이브러리
- 머신러닝을 위한 다양한 알고리즘과 개발을 위한 프레임워크와 API를 제공
- 회귀 모델, 분류 모델, 데이터 전처리, 성능 측정 등 머신러닝에 필요한 도구를 두루 갖춤
Jupyter Notebook
- 오픈 소스 기반의 웹 어플리케이션
- 파이썬으로 작성한 여러 개의 코드와 실행 결과를 하나의 문서처럼 관리 가능
- 프로그램 코드 + 결과 + 문서를 위한 대화식 개발 환경
- 기존의 파이썬 IDLE을 이용하는 것과 비교했을 때, 일부 코드만 실행하여 결과 확인 가능