파이썬 머신러닝 생태계를 구성하는 주요 패키지
파이썬 언어를 이용해 머신러닝 애플리케이션을 작성하기 위해서는 먼저 관련된 여러 패키지에 친숙해져야 한다.
[파이썬 기반의 머신러닝에 필요한 주요 패키지]
◆ 사이킷런(Scikit-Learn): 머신러닝 패키지
scikit-learn(이전 명칭: scikits.learn, sklearn)은 파이썬 프로그래밍 언어용 자유 소프트웨어 기계 학습 라이브러리이다. 다양한 분류, 회귀, 그리고 서포트 벡터 머신, 랜덤 포레스트, 그라디언트 부스팅, k-평균, DBSCAN을 포함한 클러스터링 알고리즘을 특징으로 하며, 파이썬의 수치 및 과학 라이브러리 NumPy 및 SciPy와 함께 운용되도록 설계되었다. [출처: 위키백과]
많은 데이터 과학자와 분석가들이 꼽는 파이썬 세계의 가장 대표적인 머신러닝 패키지이다.
◆ 넘파이(NumPy), 사이파이(SciPy): 행렬/선행대수/통계 패키지
머신러닝의 이론적 백그라운드는 선형대수와 통계로 이뤄져 있다. 파이썬의 대표적인 행렬과 선행대수를 다루는 패키지는 넘파이(NumPy) 이며, 사이킷런을 비롯한 많은 머신러닝 패키지가 넘파이 기반으로 되어 있다.
사이파이(SciPy)는 자연과학과 통계를 위한 다양한 패키지를 가지고 있으며, 사이킷런 역시 사이파이 패키지의 도움을 받아 구축된 여러 가지 패키지를 가지고 있다.
◆ 판다스(Pandas): 데이터 핸들링
판다스는 파이썬 세계의 대표적인 데이터 처리 패키지이다. 넘파이는 행렬 기반의 데이터 처리에 특화돼 있어서 일반적인 데이터 처리에는 부족한 부분이 있지만, 판다스는 2차원 데이터 처리에 특화되어 있으며 넘파이보다 훨씬 편리하게 데이터 처리를 할 수 있는 많은 기능을 제공한다. 또한 맷플롯립(Matplotlib)을 호출해 쉽게 시각화 기능을 지원할 수도 있다.
◆ 맷플롯립(Matplotlib), 시본(Seaborn): 시각화
파이썬의 대표적인 시각화 패키지는 맷플롯립이다. 맷플롯립은 파이썬 기반의 다른 시각화 패키지에도 많은 영향을 끼치고 있으며, 오랜 기간 파이썬의 대표적 시각화 라이브러리로 자리잡았다. 하지만 맷플롯립은 너무 세분화된 API로 익히기가 번거롭고, 시각적인 디자인 부분에서도 투박한 면이 있다.
단순히 시각화를 위해 데이터 분석가/과학자가 작성하는 코드가 길어지기 때문에 효율이 떨어지고 불편함이 늘어날 수 있다. 이를 보안하기 위해 여러 시각화 패키지가 출시되고 있고, 대표적으로 시본(Seaborn)이 있다.
시본은 맷플롯립을 기반으로 만들어졌지만, 판다스와의 쉬운 연동, 더 함축적인 API, 분석을 위한 다양한 유형의 그래프/차트 제공 등으로 파이썬 기반의 데이터 분석가/과학자에게 인기를 얻고 있다. 하지만 시본을 사용하기 위해서는 맷플롯립을 어느정도 알고 있어야 한다. 이는 시본이 맷플롯립의 API를 이용해 더 함축적으로 만든 라이브러리지만, 여전히 세밀한 부분의 제어는 맷플롯립의 API를 그대로 사용하고 있기 때문이다.
◆ 그외에도, 파이썬은 매우 많은 라이브러리가 오픈 소스로 존재하여 파이썬 기반의 머신러닝을 편리하게 지원하기 위한 여러 서드파티 라이브러리가 존재한다.
'[파이썬 Projects] > <파이썬 머신러닝>' 카테고리의 다른 글
[머신러닝] 사이킷런의 model_selection 모듈 (0) | 2024.06.07 |
---|---|
[머신러닝] 사이킷런에 내장된 예제 데이터 세트 (0) | 2024.05.30 |
[머신러닝] 사이킷런 주요 모듈 (0) | 2024.05.30 |
[머신러닝] 사이킷런으로 시작하는 ML (0) | 2024.05.30 |
[머신러닝] 머신러닝과 생태계 이해 (0) | 2024.05.17 |