머신러닝 딥러닝에 입문하면 보통 파이썬, 넘 파이, 텐서 플로, 파이토치, 싸이킷런이라는 단어를 많이 보실 겁니다. 그렇다면 왜 언어는 파이썬이고 파이썬의 머신러닝 라이브러리인 싸이킷런에 대해서 간단하게 보겠습니다.
1. Why Python?
1.1 파이썬의 탄생
귀도 반 로섬( Guido van Rossum) 은 전 구글 프로그래머이며 파이썬의 창시자입니다. 크리스마스에 할 수 있는 취미로 시작...!
파이썬(Python)은 사실 뱀의 종류로 상단의 로고에 보시면 두마리의 뱀 모양인 것을 알 수 있습니다. 좋아하는 프로그램의 제목명을 따왔다고 합니다.
머신러닝을 배움에 있어서 많은 프로그램에서 구현이 가능합니다. (예. Python, R, Matlab, SAS!!!) 하지만 왜 Python 일까요?
1.2 파이썬의 인기
다음 그림을 보시면 전반적으로 JAVA, C와 같은 프로그램 언어가 절대적으로 높지만 하락세입니다. 파이썬은 짧은 기간 안에 빠른 상승세를 보입니다.
- 파이썬은 high-level language(고수준 언어)로 배우기가 다른 언어에 비해서 비교적 쉽습니다. 다른 언어들에 비해서도 가독성이 직관적입니다.
- 광범위한 표준 라이브러리를 갖고 있으며 다른 언어들에 비해서도 업데이트가 빠릅니다.
1.3 파이썬의 주요 패키지
- NumPy :과학 계산용 패키지로 기본적으로 array형식의 데이터를 계산에 사용
- SciPy : 과학 계산용 함수를 모아놓은 라이브러리
- Matplotlib : 과학 계산용 그래프 라이브러리
- Pandas : 데이터 처리 , 분석 라이브러리로 data.frame(테이블 형태) 기반
- ScikitLearn: Numpy, Scipy 기반으로 하는 ML 라이브러리로 데이터 전처리, 모델 선택과 평가 등의 다양한 API 제공
- TensorFlow : 머신러닝을 위한 엔드 투 엔드 오픈소스 라이브로
텐서플로우 커뮤니티에서 활발하게 진행되는 이벤트, 스터디, 정보 공유 등이 많으므로 참고.
https://www.facebook.com/groups/TensorFlowKR/
https://tensorflow.blog/
https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/
1.4 파이썬 시작하기
밑줄이 있는 제목을 클릭하면 공식 홈페이지로 이동하여 다운로드할 수 있습니다.
1. 파이썬 공식 홈페이지에서 Download Python 3.X.X 버튼을 클릭한다.(본인의 OS와 CPU가 32비트인지 64비트인지 확인하기)
2. 다운로드한 파이썬을 실행해서 커스텀하거나 Install Now 에따라 맞춰 선택해서 설치하기
여기까지 하면 파이썬을 커맨드 라인으로 실행 가능하다. 주피터 노트북을 상요하고 싶거나
아나콘다(Anaconda)
머신러닝이나 데이터 분석 등에 사용하는 수백 개의 패키지가 기본적으로 포함되어있는 파이썬 배포판이기 때문에 세팅이 매우 간단해집니다. 또한 아나콘다는 파이썬 가상 환경을 구축 및 파이썬 (python) 과 R 에서 패키지 관리와 패키지 버전 관리를 유용하게 사용할 수 있습니다.
1. Anaconda Distribution 하단의 Download를 클릭한다.
자동으로 인식하는 것을 알 수 있다.
2. 다운로드한 설치 파일을 실행한다.
라이선스 동의 I Agree
설치 타입 Just Me(추천사항)
설치 위치 정하기
추가적 옵션 선택사항이기 때문에 필요에 따라 선택
3. 설치 완료
4. 주피터 노트북 실행
주피터 노트북도 같이 설치되었다. 클릭하면 검은 화면이 나온다.
브러우저창이 하나 생기면서 주피터 노트북의 filepath 파일 경로가 보인다. 여기서 New> Python(ipykernel)을 누르면 새로운 노트북이 생성된다.
* 생성되지 않는다면 브라우저 주소에 노트북 서버인 http://127.0.0.1:8888/ 입력
* 노트북 이름은 기본적으로 Untitled
2. 사이킷런 API Reference
간단한 built-in ML 알고리즘 제공
- Supervised Learning
- unsupervised Learning
- Model Selection and Evaluation
- Inspection
- Visualization
- Dataset Transformation
- Loading Utilities
- Computing with Scikit-learn
2.1 싸이킷런 구성
- Classification
- Regression
- Clustering
- Dimensionality reduction
- Model selection
- Preprocessing
공식 홈페이지에서 제공하는 Cheat sheet으로 조건에 맞는 estimator 선택하는 데에 큰 그림을 제공하고 있다.
조금씩 다르나 대부분 알고리즘은 변환기와 추정기를 갖고 있다. 또한 사용 방법도 동일하여 사용하기 쉽다.
변환기(transformer) 클래스: 훈련 &변환
- fit(train): 훈련 데이터에서 모델 파라미터 학습
- transform(train / test) 학습 파라미터로 데이터 변환
추정기(estimator) 클래스 : 훈련 & 예측
- fit(train, train label):모델 파라미터 학습
- predict(test) 새로운 데이터 샘플 예측(지도 학습)
자세한 사항 참고 : https://scikit-learn.org/stable/modules/classes.html#
유용한 사이트
- Andrew Ng 교수님의 ML[Coursera]
- 홍콩과기대 김성훈 교수님의 모두의 딥러닝
- 수학의 시각적 이해에 도움이 되는 3Brown 1Blue youtube Channel
- 딥러닝 관련 Terry님 유튜브 채널
- 딥러닝 관련 Siraj Raval 유튜브채널(영어 주의ㅜㅜ)
- 데이터 분석 사이트 Kaggle
Reference
http://radar.oreilly.com/2015/04/five-reasons-why-python-is-a-popular-teaching-language.html
'Data > ML' 카테고리의 다른 글
Deep Learning(딥러닝) - 2.인공신경망 (0) | 2021.10.14 |
---|---|
Deep Learning(딥러닝) - 1.딥러닝의 역사와 Perceptron(퍼셉트론) (0) | 2021.10.13 |
Anaconda 설치, 업데이트, 가상환경 (0) | 2021.07.07 |
분류모델 성능 지표 (0) | 2021.06.29 |
10.회귀 분석(Regression Analysis) (0) | 2021.06.23 |