2011-11-27 2 views
1

파이썬 기계 학습 알고리즘은 웹 애플리케이션을 위해 얼마나 잘 확장됩니까?파이썬 기계 학습 알고리즘은 얼마나 잘 확장됩니까?

지금까지 나는 Mahout 라이브러리에 깊은 인상을 받았지만 파이썬 프로그래머로서 정말 스케일링에 도움이되는 라이브러리가 있기를 바랬습니다.

+1

나는 또한 슬라이드를 슬라이드에 따라 파이썬 개발자를위한 mahout 대안으로 배치 된 Python 권장 라이브러리 인 Crab을 발견했습니다. – RubyGladiator

+2

일반적인 규칙은 알고리즘이 언어 나 플랫폼보다 스케일링에 더 적합하다는 것입니다. 어떤 경우에는 레이먼드 (Raymond)가 지적한 것처럼 성능이 중요한 섹션은 C 또는 C++을 사용하여 코딩되거나 NumPy를 사용하여 코딩 될 수 있습니다 (자체적으로 C 또는 C++ 성능) 또는 뭐든간에. 나는 당신이 파이썬을 사용하는 것에 대해 고정 된 성능 저하를 지불 할 것이고, 그 패널티는 작을 것이라고 생각 하겠지만 - 확실한 유일한 방법은 당신이 관심을 갖고있는 특정 라이브러리를 여러 가지 다른 스케일의 예제로 테스트하는 것입니다. – Steve314

+1

FWIW, 내 프로그램 중 하나에서 ID3과 비슷한 코드를 사용합니다. 순진하게 코드화되었으므로, C + +로 작성된 경우에도 매우 느리게 실행됩니다. 이는 조합 폭발을 관리하지 못해서입니다. 아주 작은 경우 만 처리해야하므로 신경 쓰지는 않습니다. 그러나 알고리즘이 언어 나 플랫폼보다 훨씬 더 중요 할 수 있다는 사실을 여전히 보여줍니다. – Steve314

답변

5

순수 파이썬 코드는 컴파일 된 언어보다 느리게 실행되는 경향이 있습니다. 대신, 빠른 개발을 선호합니다.

파이썬 코더가 속도가 필요할 때, 그들은 NumPy을 사용하여 pypy을 실행하거나 Cython을 사용하여 빠른 확장을 구성하는 경향이 있습니다.

이러한 대안은 기계 학습 응용 프로그램에 각각 적용될 수 있습니다. 인기있는 도구 (잘 확장되는 것으로 보이는 도구)는 PyBrainPyML입니다.

+0

은 hadoop 도움말에 Python 코드를 실행하거나 Hadoop/Pig를 UDF로 실행하는 데 도움이됩니까? – RubyGladiator

+0

scikit-learn은 잘 자르고 (numpy와 scipy의 도움으로) 잘 알려져 있습니다. – sunqiang

+1

@RubyGladiator Hadoop은 확장을위한 훌륭한 도구입니다. 일부 ML 알고리즘은 하위 문제로 쉽게 분할되지만 다른 알고리즘은보다 어려울 수 있습니다. 질문에 대한 정답은 특정 애플리케이션의 세부 사항에 달려 있습니다. –

관련 문제