본문 바로가기

프로그래밍/Environment Setting

Machine Learning 프로젝트 진행에 앞선 가상환경(Virtual Environments)의 필요성, 파이썬 라이브러리 소개

현재 진행중인 프로젝트의 대략적인 개요는 다음과 같다.

 

프로젝트의 전반적인 개요

 

우선, 아나콘다(ANACONDA)를 통하여 가상환경(Virtual Environments)을 설정하는 이유는 각 프로젝트마다 필요한 설정을 만들어 놓은 가상환경들을 적용함으로서 통합개발환경(IDE)에 생성된 여러 프로젝트로 인해 생길 수 있는 혼동을 막을 수 있다는 것이다.

 

이를테면, 만일 각 프로젝트마다 가상환경 설정을 하여 프로젝트를 운용하지 않는다면 빌드 과정에서 프로젝트 설정에 대한 경로를 찾는 과정에 문제가 생길 수 있다.

 

장고 레스트 프레임워크(Django Rest Framework)에 대해서는 간단히 설명을 하였고(https://honeyteacs.tistory.com/6)

 

파이썬의 대표적인 데이터 분석, 머신러닝 라이브러리들에 대해서 소개하려 한다.

 

1. NumPy : 파이썬 언어를 위한 선형대수용 행렬, 벡터 수학 계산을 위한 자료구조와 계산 함수 제공하는 라이브러리이다. scikt-learn은 기본적으로 NumPy 배열(ndarray 클래스의 객체: 배열의 모든 원소가 동일한 타입이여야 하는 다차원 배열)을 입력으로 받는다.

 

2. Pandas : 기본적으로 DataFrame 이라는 자료 구조를 사용하며 NumPy와 달리 행렬의 각 row의 타입이 달라도 상관없다. 따라서 SQL이나 엑셀, CSV 파일 등 대용량의 데이터를 읽어 올 수 있다는 장점이 있다.

--> 빅데이터 분석을 용이하게 해준다.

 

3. SciPy : 파이썬을 기반으로 한 수학, 과학, 분석, 통계 작업등을 위한 라이브러리로서 여러 가지 함수들을 제공해준다.

 

4. scikit-learn : 파이썬을 기반으로 한 머신러닝 알고리즘을 객체 형태로 제공해주는 라이브러리로서, SciPy라이브러리와 함께 사용된다.

 

*Matplotlib : 파이썬을 기반으로 한 시각화 알고리즘을 객체 형태로 담고 있는 라이브러리이다. 요번 프로젝트 진행에 있어서 사용이 될지는 모르겠지만,  자료를 차트(chart) 형태나 플롯(plot) 등으로 시각화해주는 데에 유용하게 사용된다.