머신 러닝 프레임웍에 대한 간단 정리
머신 러닝을 다시 시작해서 보다 보니 어떤 언어로 개발을 해야 하는지 의문이 들어서 페이스북 Server Side architecture 그룹에 올렸더니, 좋은 정보가 많이 들어왔다.
Matalab이나 R과 같은 언어는 수학 라이브러리가 풍부해서, 주로 모델을 만들어서 시뮬레이션 하는데 많이 사용되고
Python이 수학 라이브러리가 풍부해서 그런지 ML 부분에서 많이 사용되는데, Production 까지 올라가는 경우는 잘 못본거 같고, 주로 Python으로 모델을 프로토타이핑 하는 수준으로 사용되는 것으로 보인다. 아직까지 자세히는 보지 못했지만, 자바의 Spark이나 Mahout과 같은 분산 환경 지원성이 약하고, 언어의 특성상 다른 언어보다 성능이 떨어져서, 실제 Production은 다른 언어, 주로 자바를 많이 사용하는 듯 하다.
Python으로 ML을 하려면, numpy,matplot등 다양한 패키지를 설치해야 하는데, 이 경우 방화벽과 프록시가 있는 환경에서는 설치가 쉽지 않다. (몇시간을 무지 삽질했던 경험이.. Proxy를 설정해도 패키지 인스톨이 잘안되서)
Python의 경우 이런 주요 수학 라이브러리를 패키징해놓은 인스톨 패키징이 있는데
대표적으로 Continum의 아나콘다 http://continuum.io/downloads
http://www.scipy.org/ 등이 있다.
그리고 Python에서 많이 사용되는 ML 프레임웍으로는 http://scikit-learn.org/ 등이 있다.
각 언어별로 ML 지원 라이브러리와 사용 용도를 정리해놓은 글이 있다. https://github.com/josephmisiti/awesome-machine-learning
mvn 명령 한방으로 제플린 + 스파크가 설치되니 학습하기 좋은것 같습니다....더 보기
'빅데이타 & 머신러닝 > 머신러닝' 카테고리의 다른 글
나이브 베이즈 분류 (Naive Bayesian classification) #1 - 소개 (8) | 2015.03.31 |
---|---|
머신러닝 개념 소개 및 kNN 알고리즘 소개 (3) | 2015.03.22 |
Numpy Install (1) | 2015.02.10 |
맨땅에 해딩 머신러닝 #2 - 선형 회귀 모델 (1) (0) | 2014.11.02 |
맨땅에 해딩 머신러닝 #1-기본 개념 잡기 (1) | 2014.10.30 |