기계 학습 문제를 프로토 타이핑하기 위해 어떤 프로그래밍 언어를 권장합니까? 문제를 해결하기 위해 잘 문서화되어 있습니까?

현재 Octave에서 작업하고 있지만 문서화가 좋지 않아 진행 속도가 매우 느립니다.

어떤 언어는 배우고 사용하기 쉽고 기계 학습 문제를 해결하기 위해 잘 문서화되어 있습니까? 작은 데이터 세트 (수천 개의 예제)에서 프로토 타입을 제작하려고하므로 속도는 중요하지 않습니다.

편집 : 추천 엔진을 개발 중입니다. 따라서 정규 선형 회귀, 신경망, SVN 또는 공동 필터링을 사용하고 싶습니다.



답변

상자 밖에서 무언가를 사용하고 싶다면 Weka가 훌륭한 출발점이 될 수 있습니다. 아무것도 프로그래밍 할 필요가 없습니다. 데이터를 가져 와서 시각화하고 다른 모델로 플레이 할 수 있습니다.

체인의 다음 단계는 R입니다. 특히 R 데이터 구조에 맞게 데이터를 녹이는 것과 관련된 학습 곡선이 있지만 일단 극복하면 많은 노력없이 모든 머신 러닝 기능을 제공하는 수많은 라이브러리가 있습니다.

다음은 머신 러닝 알고리즘을 직접 프로그래밍하는 것입니다. 이미 Octave를 사용하고 대안을 찾고 있기 때문에 다른 시스템에서 알고리즘을 직접 코딩하지 않고 다른 사람이 작성한 라이브러리를 사용하는 것이 좋습니다.

R 경로를 따라 가면 Luis Torgo (R을 사용한 데이터 마이닝 : 사례 연구를 통한 학습)의 책이 매우 유용합니다 (공개 : 제휴 없음). 문제에 적응할 수있는 심층 사례 연구를 설명합니다.


답변

관심있는 특정 알고리즘을 지정하면 더 나은 답변을 얻을 수 있습니다. 나는 이런 종류의 일에 R을 사용합니다 (기계 학습이 아니라 시계열 계량 경제학을 사용합니다). 기존 기능을 여기에서 볼 수 있습니다.

http://cran.r-project.org/web/views/MachineLearning.html

그리고 Hastie, Tibshirani 및 Friedman의 통계 학습 요소에 분석을 구현하는 R 코드가 있습니다 .

http://www-stat.stanford.edu/~tibs/ElemStatLearn/

R의 패키징 시스템은 꽤 훌륭하고 사람들이 코드를 문서화하는 것을 방해하며 오픈 소스이므로 항상 구현을 살펴볼 수 있습니다. 필자는 몇 년간 Matlab을 사용하지 않았고 많은 머신 러닝에 사용하지 않았습니다. 툴박스는 일반적으로 잘 문서화되어 있지만 비용이 많이 들지만 사용자가 제공 한 코드는 다른 문서와 마찬가지로 문서화가 잘되지 않습니다.


답변

기계 학습 온라인 과정에서 Andrew Ng 는 Octave / Matlab 사용을 제안합니다.

이 과정의 다음 버전에 등록하는 것이 좋습니다. 실제로 유용하며 Octave 및 다양한 기계 학습 알고리즘에 대해 많은 것을 배우게됩니다.

편집 1 : R에서 일하는 것을 선호하는 다른 사람들과 동의하지만 기계 학습의 문제를 해결하기 위해 대부분의 계산은 행렬 형식이며 @Wayne, Matlab 또는 Octave 언어에서 지적한 것처럼 매우 인기가 있습니다. 그들의 힘 때문에. 다른 학생들이 제안한 기계 학습 과정 연습에 대한 솔루션을 살펴볼 수도 있습니다. 분명히 당신은 그들로부터 몇 가지를 배울 수 있습니다 :

고 카이젤 깃 허브

메르 완 깃 허브


답변

scikit은 배우기 (현재 sklearn) 대상 응용 프로그램 (L1 / L2 범 회귀, SVM 등)을 포함하여, 당신은 (데이터, 모델 및 결과를 처리하기 위해 속도, 잘 설계된 클래스) 기술 기준의 몇 가지를 충족해야합니다. 풍부한 문서 세트 와 많은 예제 가 함께 제공됩니다 . JMLR에 게시 된 논문 의 설명도 참조하십시오 .

Python의 대체 프레임 워크는 Orange입니다 .이 인터페이스는 부드러운 GUI를 통해 또는 명령 줄에서 직접 사용할 수 있습니다. 협업 필터링의 경우 pyrsvd흥미로울 수 있지만 시도한 적이 없습니다. 그러나 Apache Mahout협업 필터링에 사용될 수 있습니다 .


답변

산업 프로토 타입 (실제 사람들이 사용하고 순수 연구용으로 사용하지 않는 것)을 언급한다면, 파이썬은 현재 갈 수있는 유일한 방법입니다.

Matlab, Octave 또는 R을 사용하면 ML 연구에 사용하기 쉬운 환경을 얻을 수 있지만 모델을 사용자 인터페이스 또는 웹 서비스와 함께 사용하는 것은 악몽이 될 것입니다.

파이썬에서 우리는 (광범위한 과학 생태계 모두가 행운 sklearn을 시각화를위한 wragling 데이터 팬더,하기 matplotlib / 시본, ML 용) 및 애플리케이션 생태계 (생각 장고와 나머지 프레임 워크 ).

파이썬 배우기 쉬운 언어입니다. 앞으로 나는 자바 스크립트 생태계가 과학적으로 파이썬처럼 들리기를 희망하지만, 훌륭한 프로젝트에도 불구하고 곧 그런 일이 일어나지 않을 것입니다.

상자에 싸지 말고 일반적인 언어를 사용하십시오!