2011-01-27 33 views
23

Java based Mahout's objetivo es crear bibliotecas escalables de aprendizaje automático. ¿Hay alguna biblioteca equivalente en Python?Java Mahout equivalente en Python

+1

Puede usar Jython o JPype para integrar Mahout con su código Python. Ver mi pregunta similar: http://stackoverflow.com/questions/7491953/is-there-any-python-libraries-for-mahout –

+0

Python no se considera una buena opción para los grandes cómputos de conjuntos de datos, ya que el rendimiento es extremadamente lento. – Swapnil

Respuesta

19

scikits aprender es muy recomendable http://scikit-learn.sourceforge.net/

+4

Solo una nota: la implementación actual de scikit-learn aún no es capaz de aprovechar un clúster Hadoop para hacer computación distribuida. Sin embargo, es bastante escalable para abordar problemas de tamaño medio (por ejemplo, cientos de miles de muestras y características para modelos lineales), esp. si usa representaciones dispersas y/o arreglos memmap'ed. – ogrisel

1

Orange supuestamente es bastante decente, por lo que he oído, pero nunca he utilizado personalmente. PyML valdría la pena echarle un vistazo también. Además, Monte.

+1

Naranja ni siquiera está cerca de ser escalable. Casi todos sus algoritmos son procesos lentos por lotes, y no tienen la intención de hacerlos de otra forma debido a la orientación académica del proyecto. Lamentablemente, realmente no hay ningún equivalente Python de Mahout. – Cerin

+3

@Chris: el scikit-learn probablemente aún no está allí, pero tiene el objetivo de ser escalable y evitar las trampas de los proyectos académicos. Algunas de nuestras implementaciones para problemas estándar ya se escalan bastante bien. –

1

pysuggest es un contenedor de Python para SUGGEST, un motor de recomendación Top-N que implementa una variedad de algoritmos de recomendación para el filtrado colaborativo.

0

Una biblioteca interesante es crab.

En esta publicación, la biblioteca solo tiene implementaciones estables para algoritmos de filtrado colaborativo: basada en el usuario y en elementos.

Se incluye una implementación de SVD pero sus algoritmos experimentales y basados ​​en el contenido se encuentran en la hoja de ruta.

¡Compruébalo!

1

MLlib se recomienda. Es una máquina de aprendizaje escalable y puede leer datos de HDFS.