[파이썬] 파이썬 및 파이썬 기반 각종 라이브러리 소개
추후 파이썬을 활용한 다양한 데이터 분석 프로젝트나 분석 결과를 포스팅해보겠다.
우선은 파이썬에 대한 간략한 소개와 각종 파이썬 기반 라이브러리를 먼저 살펴보자
파이썬에 대해서 가볍게 알아보자! 파이썬은 어떤 특징이 있을까?
□ 파이썬은 1991년 처음 발표한 스크립트 언어로 다양한 플랫폼에서 사용할 수 있으며 라이브러리가 풍부하여 대학을 비롯한 여러 교육기관, 연구기관 및 산업계에서 많이 이용하고 있다.
― 파이썬은 문법 체계가 단순하고 다양한 라이브러리들이 존재함에 따라 이를 활용하여 연구를 하거나 프로토 타입을 만드는데 적합 할뿐 아니라 실제 시스템을 개발하는 데도 무리가 없다
― 파이썬 라이브러리 지원(Pandas, NumPy 등)이 향상되어 데이터 처리 업무에 두각을 나타내고 있으며 범용적인 프로그래밍 언어일뿐 아 니라 과학계산용으로도 적합하다.
□ 파이썬은 다양한 프로그래밍 코드와의 통합이 쉬워 과학기술 컴퓨팅 플랫폼 분야에서 장점을 인정받고 있다.
― 데이터 분석과 대화형 데이터 조사, 데이터 시각화 등에서 자주 쓰 이는 R, MATLAB, SAS, Stata 같은 오픈소스 혹은 상용 도메인 종속 언어나 도구와 비교해도 뒤지지 않는다.
컴파일 방식과 인터프리트 방식의 언어의 장단점은 다음과 같다.
방식 | 언어 | 실행속도 | 이식성 |
컴파일 방식 | C, C++, 파스칼, 에이다 | 빠름 | 낮음 |
인터프리트 방식 | 베이직, 파이썬, 루비, PHP | 느림 | 높음 |
그렇다면 파이썬에서 활용할 수 있는 다양한 라이브러리에는 어떤게 있을까???
여러 분야에 활용할 수 있는 다양한 라이브러리를 가지고 있다는 점은 큰 장점이며 PyPI서버에서 공식적으로 제공되는 라이브러리는 현재기준 약 14만개에 육박한다.
특히 머신러닝이나 데이터분석 등의 라이브러리 등이 많이 활용된다.
(NumPy : Numerical Python)
□ 주요한 파이썬 데이터 분석 라이브러리들의 기본 베이스가 되는 라이브러리로 특히 벡터(Vector) 및 행렬(Array) 연산에 있어 편의성을 제공한다
― NumPy 배열은 파이썬 기본 자료구조보다 훨씬 효율적인 방법으로 데이터를 저장하고 연산하며 배열 간의 다양한 수학 계산을 간단 하게 할 수 있도록 지원한다
(Pandas: Panel Data)
□ 구조화된 데이터를 빠르고 쉽게 다양한 형식으로 가공할 수 있는 풍부한 자료구조와 함수를 제공한다
□ 금융 데이터를 분석하려는 사용자에게 다양한 고성능 시계열 처리 기능과 금융 데이터에 알맞은 도구를 제공한다
□ 고유하게 정의하여 활용하는 Series 및 DataFrame 등의 자료구조를 활용하여 빅데이터 분석에 있어 높은 수준의 퍼포먼스를 가능토록 한다.
― 기존 다른 분석 프로그램에 비해 더 큰 스케일의 데이터를 적용할 수 있으며 더 빠른 속도로 수행할 수 있다.
(matplotlib)
□ 작업한 데이터들을 간편하고, 빠르게 시각화 할 수 있는 라이브러리로 다양한 그래프로 출력시킬 수 있으며 출판물에 필요한 그래프를 만 드는데 초점을 맞추고 있다.
― 데이터의 양이 많아도 성능의 저하 없이 빠르게 출력할 수 있다.
(IPython)
□ 파이썬 코드를 작성 및 디버깅 할 수 있는 향상된 파이썬 쉘을 제공 하며 데이터를 처리하고 matplotlib으로 데이터를 시각화하는데 유용하다
(SciPy)
□ 과학기술에 관련한 함수 라이브러리로 고급 수학, 수치적 미적분, 미 분 방정식, 최적화, 신호처리 등을 위한 다양한 계산 기능 제공한다.
(SymPy)
□ 심볼릭 연산 라이브러리로 수치 연산이 아니라 인수 분해, 미적분 등 심볼릭 연산 기능을 제공한다.
(TensorFlow)
□ 딥러닝 라이브러리로 신경망 모형을 활용할 수 있도록 기능을 제공한다.
□ 심볼릭 연산과 그래프 연산 모형, GPGPU를 활용한 연산 등을 제공 하여 대량 연산을 요하는 딥러닝 학습에 필수다.
위에서 언급한 라이브러리들은 단독으로 사용된다기 보다 하나의 프로젝트에 여러가지가 임포트 될 수 있으며 시너지 효과를 발휘한다.
추후 TensorFlow를 활용한 주가 분석 및 예측 등의 포스팅을 작성해볼예정이다.
'Public > 프로그래밍' 카테고리의 다른 글
[JAVA] 자바의 기본 자료형 : 논리 정수 실수 문자열 자료형 (0) | 2020.08.22 |
---|---|
[tensorflow] 미국주식 테슬라 머신러닝으로 주가 예측하기 (6) | 2020.08.02 |
맥북(Mac OS) 아나콘다에서 텐서플로우 설치하기 (0) | 2020.08.02 |
맥북(Mac OS) 아나콘다 및 파이썬 설치하는 방법 (1) | 2020.08.02 |
[JSP] 서블릿(Servlet) 이란 ? Server Side Program 정의 (0) | 2020.07.27 |