본문 바로가기

자기개발/Programming

머신러닝(Machine Learning) 기초 - 5 : Scikit-learn 이란 무엇인가? (Feat. Orange)

머신러닝은 일종의 알고리즘으로 앞서 설명했던 개념적인 방법을 코딩을 통하여 알고리즘, 라이브러리에 저장하여 사용하는 방법과 자체 인터페이스와 알고리즘을 내재하는 프로그램을 사용하는 방법으로 분류될 수 있다.


Orange라는 오픈소스 프로그램은 자체적인 인터페이스와 알고리즘을 제공하고 사용법이 아주 초보-친화적이기에 비전공 대학원생이나 간단한 실무적인 문제풀이에 자주 사용된다. 큰 장점으로 시각화가 잘 돼있어 사용하기 편하지만 주어진 인터페이스/기능 안에서만 가동이 가능하기에 응용적인 부분에서는 다소 취약하다. 하지만 비전공자가 이해하고 사용하는 scope 내에서는 충분히 모든 구현이 가능하다.

(프로그램 내 튜토리얼 강의도 있으니 학습하기도 좋다)

https://orangedatamining.com.

Orange 3 프로그램

 

두번째로 일반적인 코딩 라이브러리를 사용하여 해당 기능을 사용할 수 있는 방식이 있는데 내가 학습한 방법은 오픈소스 Scikit-learn 라이브러리이다.

파이썬을 위한 오픈소스 머신러닝 라이브러리로 Numpy, SciPy, Matplotlib를 기반으로 생성/사용되며 앞으로 포스팅할 머신러닝에 대한 내용은 처음, 백지상태부터

(하지만 실제 사용할 때는 굳이 백지 상태에서 코딩을 써내려갈 필요가 없지만 머신러닝에 대한 기초적인 지식에 대한 학습은 이후 실무에서 사용할때 큰 도움이 되리라 생각된다)

 

Scikit-learn은 피이선 라이브러리로 학습지도, 비학 습지도 알고리즘을 제공하며 위에서 언급되었듯이 Numpy, Pandas와 같은 기술들을 기반으로 만들어졌다.

Scikit-learn에서 구현 가능한 모델들은 하기와 같다.

 

- 회귀 법, Regression (Linear, Logistic regression)

- 분류법, Classification (K-Nearest Neighbors)

- 클러스터링, Clustering (K-means & K-Means ++)

- 모델 선택하는 방법

- 데이터 사전 작업 (Min-Max Normalization)

 

https://scikit-learn.org/stable/