작성자: admin 작성일시: 2016-04-08 23:44:57 조회수: 2368 다운로드: 118
카테고리: Python 태그목록:

데이터 분석용 파이썬 패키지 소개

여러 분야에 사용할 수 있는 다양한 패키지를 가지고 있다는 점은 파이썬의 큰 장점이다. 2017년 5월 현재 PyPI 서버 (https://pypi.python.org/pypi)를 통해 공식적으로 제공되는 파이썬 패키지의 숫자는 약 108,000 개이다.

그 중 데이터 분석에 많이 사용되는 몇가지 유명한 패키지를 소개한다. 참고로 datascienceschool/rpython 도커 이미지에는 여기에서 소개하는 패키지가 모두 설치되어 있다.

NumPy

NumPy("넘파이"라고 읽는다) 패키지는 파이썬에서 수치 해석, 특히 선형 대수(linear algebra) 계산을 위한 패키지이다. 자료형이 고정된 다차원 배열 클래스(n-dimensional array)와 벡터화 연산(vectorized operation)을 지원하며 수학 연산을 위한 가장 기본적이고 중요한 패키지이다.

원래는 파이썬에서 MATLAB과 같은 기능을 구현하고자 Numeric이라는 이름으로 프로젝트가 시작되었으나 2005년 Travis Oliphant에 의해 Numarray 패키지와 통합되며 NumPy라는 이름으로 바뀌었다. 내부적으로는 BLAS(Basic Linear Algebra Subprograms)와 LAPACK(Linear Algebra Package)이라고 하는 오픈 소스 선형 대수 라이브러리에 의존하며 CPython에서만 동작하도록 만들어졌다.

SciPy

SciPy("싸이파이"라고 읽는다) 패키지는 고급 수학 함수, 수치적 미적분, 미분 방정식 계산, 최적화, 신호 처리 등을 위한 다양한 과학 기술 계산 기능을 제공하는 패키지이다.

SciPy 패키지는 Numeric 패키지 기반으로 만들어진 다양한 수치 해석 패키지들을 2001년에 Travis Oliphant와 Pearu Peterson 등이 통합, 재정리하여 만든 패키지이다.

SymPy

SymPy("심파이"라고 읽는다) 패키지는 숫자를 더하거나 빼는 수치 연산이 아니라 인수 분해, 미분, 적분 등 심볼릭 연산을 위한 패키지이다.

SymPy 프로젝트는 파이썬에 Mathematica와 같은 심볼릭 연산 기능을 넣고자 하는 노력으로 2006년에 Ondrej Certik에 의해 시작되었다. SymPy의 기능은 http://live.sympy.org/ 또는 http://www.sympygamma.com/ 웹사이트를 방문하면 브라우저 상에서 바로 확인할 수 있다.

Pandas

Pandas("판다스"라고 읽는다) 패키지는 테이블 형태의 데이터를 다루기 위한 데이터프레임(DataFrame) 자료형을 제공하는 패키지이다. 자료의 탐색이나 정리에 아주 유용하여 데이터 분석에는 빠질 수 없는 필수적인 패키지이다.

2008년도에 Wes McKinney에 의해 프로젝트가 시작되었다. 원래는 R 언어에서 제공하는 데이터프레임 자료형을 파이썬에서 제공할 수 있도록 하는 목적이었으나 다양한 기능을 추가되어 원래의 R 데이터프레임의 기능을 능가하는 대규모 프로젝트가 되었다.

  • Pandas

    • 데이터 분석 라이브러리. R의 data.frame 자료구조 구현
    • http://pandas.pydata.org/
    • 2008, Wes McKinney (AQR Capital Management)

Matplotlib

Matplotlib("맷플롯리브"라고 읽는다) 패키지는 파이썬에서 각종 그래프나 챠트 등을 그리기 위한 시각화 패키지이다. Tkinter, wxPython, Qt, GTK+ 등의 다양한 그래픽 엔진을 사용할 수 있다. 또한 MATLAB 의 그래프 기능을 거의 동일하게 사용할 수 있는 pylab 이라는 서브패키지를 제공하므로 MATLAB 에 익숙한 사람들은 바로 Matplotlib 을 사용할 수 있다.

  • Matplotlib

Seaborn

Seaborn("씨본"이라고 읽는다) 패키지는 Matplotlib 패키지에서 지원하지 않는 고급 통계 챠트를 그리기 위한 통계용 시각화 패키지이다.

Bokeh

Bokeh("보케"라고 읽는다.) 패키지는 주피터 노트북이나 웹 상에서 자바스크립트로 그래프나 차트를 그려주는 파이썬 패키지이다. 챠트의 확대나 이동 등의 상호 작용이 가능하다.

  • Bokeh

StatsModels

StatsModels("스탯츠모델즈"라고 읽는다) 패키지는 회귀 분석이나 시계열 분석을 위한 라이브러리이다.

Scikit-Learn

Scikit-Learn("싸이킷런"이라고 읽는다) 패키지는 머신러닝 학습용 패키지이다. 딥러닝을 제외한 대부분의 머신러닝 모형을 제공하므로 파이썬으로 머신러닝을 공부하고자 하는 사람들에게 최적의 학습 도구이다.

TensorFlow

TensorFlow("텐서플로우"라고 읽는다) 패키지는 신경망 모형 등의 딥러닝 모형을 위한 파이썬 패키지이다. 심볼릭 연산과 그래프 연산 모형, GPGPU를 사용한 연산 등을 제공하므로 대량 연산을 필요로 하는 딥러닝 학습에 필수적인 패키지이다.

Keras

Keras("케라스"라고 읽는다) 패키지는 TensorFlow 패키지를 쉽게 사용할 수 있도록 도와주는 고수준 패키지이다. Keras를 사용하면 쉽게 신경망 모형을 구현할 수 있다.

  • Keras

패키지 설치

아나콘다 파이썬을 이용하는 경우에는 다음 명령으로 텐스플로우와 케라스를 제외한 나머지 패키지들을 한번에 설치할 수 있다.

conda install anaconda

텐서플로우는 다음 링크를 참조하여 별도로 설치하여야 한다.

텐서플로우를 설치한 후에는 다음 명령으로 케라스를 설치할 수 있다.

pip install keras

질문/덧글

아직 질문이나 덧글이 없습니다. 첫번째 글을 남겨주세요!