왜 파이썬인가
- 데이터 분석 측면
- 데이터 적재, 시각화, 통계, 자연어, 이미지 처리 등에 필요한 라이브러리 제공
- 주피터 노트북 같은 도구로 대화하듯 프로그래밍
- 반복적인 데이터 분석 작업을 빠르고 손쉽게 조작하게 해줌
- 범용적 측면
- 그래픽 처리나 웹서비스도 제작 가능
- 기존시스템과 통합하기에도 유리
- 단점
- Interpreter 언어 특성상 속도가 느림
- 실시간 거래 시스템처럼 매우 짧은 응답 시간을 필요로 하는 애플리케이션에 부적합
- 동시다발적인 멀티스레드를 처리하거나 CPU에 집중된 많은 스레드를 처리하기엔 부적합
- 머신 러닝 측면
- 많은 라이브러리, 뛰어난 생산성
- Google, Facebook 등 유수의 IT업계에서 활용
- 오픈 소스 계열의 전폭적인 지원
- 분석 영역을 넘어 머신러닝 기반의 다양한 Application 개발 용이
- 뛰어난 확장성, 연계, 호환성
- 유수의 딥러닝 Framework가 파이썬 기반으로 작성
- 대부분의 딥러닝 Tutorial이 파이썬으로 작성되어 제공
머신러닝을 위한 주요 패키지
- 파이썬 기반 머신러닝 주요 패키지
- 머신러닝 애플리케이션 구현시 데이터 처리 부분이 상당한 영역 차지
- 이런 데이터의 추출, 가공, 변환은 Numpy와 pandas 역할
- Scikit learn이 Numpy와 Scipy 기반 위에 작성
- Numpy의 기본 프레임워크를 이해해야한다
필수 파이썬 라이브러리
- scikit learn
- scikit-learn(사이킷런)은 처음 개발되기 시작한 2010년부터 범용 머신러닝 도구로 자리잡음
- 7년만에 1,500명이 넘는 사람이 프로젝트에 기여
- pandas, statsmodels 그리고 Ipython과 함께 scikit-learn은 파이썬이 생산적인 데이터 과학 언어로 자리매김하는데 기여
- scikit-learn 하위 모듈
- 분류 : SVM, 최근접 이웃, 랜덤 포레스트, 로지스틱 회귀 등
- 회귀 : 라소, 리지 회귀 등
- 클러스터링 : k-평균, 스펙트럴 클러스트링 등
- 차원 축소 : PCA, 특징 선택, 행렬 인수분해 등
- 모델 선택 : 격자탐색, 교차검증, 행렬
- 전처리 : 특징 추출, 정규화
'Machine Learning' 카테고리의 다른 글
사이킷런 개요 (0) | 2022.09.01 |
---|---|
머신러닝 알고리즘의 개요 (1) | 2022.08.31 |
머신러닝 개요 (0) | 2022.08.31 |