10 Paquetes de aprendizaje de máquina para dominar

Video: Machine Learning. ¿Pueden aprender las máquinas?

Hay algunos grandes paquetes de aprendizaje automático, como símbolo de intercalación (R) y NumPy (Python). Por supuesto, estos son buenos, paquetes versátiles que se pueden utilizar para comenzar su viaje de aprendizaje automático. Es importante tener más de unas pocas herramientas en su caja de herramientas, que es donde las sugerencias que se encuentran aquí entran en juego.

cloudera Oryx

cloudera Oryx es un proyecto de aprendizaje automático para Apache Hadoop que le proporciona una base para la realización de tareas de aprendizaje automático. Se hace hincapié en el uso de streaming de datos en tiempo real. Este producto ayuda a añadir la seguridad, la gobernabilidad y la funcionalidad de gestión que le falta a Hadoop para que pueda crear aplicaciones de nivel empresarial con mayor facilidad.

La funcionalidad proporcionada por Orix se basa en Apache Kafka y Spark Apache. tareas comunes de este producto son los filtros de spam en tiempo real y los motores de recomendación.

CUDA-Convnet

GPU permiten realizar tareas de aprendizaje automático significativamente más rápido. Puede añadir Acelerar a Anaconda para proporcionar soporte básico de la GPU para ese entorno. Caffe es un producto independiente que se puede utilizar para procesar las imágenes utilizando Python o MATLAB.

Video: El Aprendizaje De Maquinas

Si necesita realizar el procesamiento de imagen seria, obviamente necesita una GPU para hacerlo. los biblioteca CUDA-Convnet proporciona soporte específico para CUDA de Nvidia procesador de la GPU, lo que significa que puede proporcionar un procesamiento más rápido a costa de la flexibilidad de la plataforma (que debe tener un procesador de CUDA en su sistema). En su mayor parte, esta biblioteca ve uso en aplicaciones de la red neuronal.

ConvNetJS

Como se describe para CUDA-Convnet, ser capaz de reconocer objetos en imágenes es una importante tarea de aprendizaje de máquina, pero hacer el trabajo sin una buena biblioteca puede resultar difícil o imposible. Mientras CUDA-Convnet proporciona soporte para aplicaciones de escritorio de alta resistencia, ConvNetJS proporciona soporte de procesamiento de imágenes para aplicaciones de javascript. La característica importante de esta biblioteca es que funciona de forma asíncrona.

Cuando se realiza una llamada, la aplicación sigue trabajando. Una respuesta asíncrona permite que la aplicación sepa cuando las tareas, tales como la formación, completas para que el usuario no se siente como si el navegador se ha congelado (no responder de alguna manera). Teniendo en cuenta que estas tareas pueden tardar mucho tiempo en completarse, el apoyo llamada asincrónica es esencial.

e1071

Esta biblioteca R, e1071, desarrollado por el grupo TU Wien E1071 en la teoría de probabilidades, proporciona soporte para máquinas de vectores soporte (SVMs). Detrás de su interfaz de comandos R dirige una biblioteca de C ++ externa (con un API C para interactuar con otros idiomas) desarrollado en la Universidad Nacional de Taiwán. Puede encontrar más información sobre LIBSVM para la clasificación y la regresión SVM, junto con un montón de conjuntos de datos, tutoriales, e incluso una guía práctica para obtener más de SVM.

Además, se obtiene funciones de apoyo para el análisis de clases latentes, de corta duración transformada de Fourier, el agrupamiento difuso, cálculo de ruta más corta, en bolsas de agrupamiento, y Naïve Bayes clasificadores.

gbm

los máquinas impulsar gradiente (GBM) algoritmo utiliza la optimización de descenso de gradiente para determinar los pesos adecuados para el aprendizaje en el conjunto. El aumento de rendimiento resultante es impresionante, haciendo GBM una de las más poderosas herramientas de predicción que se puede aprender a utilizar en el aprendizaje automático. El paquete incluye soporte GBM GBM a R.

Video: Ejercicios y plantillas para aprender a coser a máquina

Este paquete también incluye métodos de regresión para los mínimos cuadrados, la pérdida absoluta, de pérdida de la distribución t, regresión cuantil, logística, logística multinomial, de Poisson, de Cox de riesgos proporcionales de verosimilitud parcial, pérdida exponencial AdaBoost, pérdida de bisagra Huberized, y el aprendizaje a Rank medidas (LambdaMart) .

El paquete también ofrece funciones convenientes para la validación cruzada y para averiguar cómo ajustar sin sobreajuste el número de árboles, una hiper-parámetro crucial del algoritmo.

Gensim

Gensim es una biblioteca de Python que puede realizar el procesamiento del lenguaje natural (NLP) y el aprendizaje no supervisado en los datos textuales. Ofrece una amplia gama de algoritmos para elegir: TF-IDF, proyecciones al azar, la asignación de Dirichlet latente, el análisis semántico latente, y dos algoritmos semánticos: word2vec y document2vec.

Word2vec se basa en redes neuronales (y no el aprendizaje superficial profunda, redes) y permite transformaciones significativas de las palabras a los vectores de coordenadas que se pueden utilizar de una manera semántica. Por ejemplo, operando sobre el vector que representa París, restando el vector Francia, y luego añadiendo el vector Italia resultados en el vector Roma, lo que demuestra cómo se puede utilizar el modelo de la derecha Word2vec las matemáticas y para operar las operaciones semánticas en el texto.

glmnet

Regularización es como una solución eficaz, rápido y fácil de usar cuando se tiene muchas características y desea reducir la varianza de las estimaciones debido a la multicolinealidad entre los predictores. Una forma de regularización es Lasso, que es una de las formas de apoyo que recibe de glmnet (Con el otro ser elástico-net). Este paquete se ajusta a la, modelos de regresión multinomial Poisson, y Cox lineal, logístico y.

Video: Cómo aprenden las Máquinas. Aprendizaje automático

También puedes usar glmnet para realizar la predicción, el trazado, y K-veces la validación cruzada. El profesor Rob Tibshirani, el creador de la L1 (también conocido como el lazo) regularización también ayudó a desarrollar este paquete. Además, Gensim proporciona multiprocesamiento y capacidades fuera del núcleo, lo que le permite acelerar el procesamiento de los algoritmos y manejar datos de texto grandes que la memoria RAM disponible.

randomForest

Puede mejorar un árbol de decisión replicando muchas veces y promediar los resultados para obtener una solución más general. El paquete de código abierto R para realizar esta tarea es randomForest. Se puede utilizar para realizar tareas de clasificación y regresión en base a un bosque de árboles utilizando datos aleatorios. La versión de este paquete de Python aparece como RandomForestClassifier y RandomForestRegressor, ambos de los cuales se encuentran en scikit-learn.

SciPy

los pila SciPy contiene una serie de otras bibliotecas que también se puede descargar por separado. Estas bibliotecas proporcionan apoyo para las matemáticas, la ciencia y la ingeniería. Al obtener SciPy, se obtiene un conjunto de librerías diseñadas para trabajar juntos para crear aplicaciones de diversos tipos. Estas bibliotecas son

  • NumPy
  • SciPy
  • matplotlib
  • IPython
  • sympy
  • pandas

La biblioteca SciPy en sí se centra en las rutinas numéricas, tales como rutinas de integración numérica y optimización. SciPy es una biblioteca de propósito general que proporciona la funcionalidad para múltiples dominios de problemas. También proporciona apoyo a las bibliotecas de dominio específico, como scikit-learn, Scikit-imagen, y statsmodels. El sitio contiene muchos conferencias y tutoriales sobre las funciones del SciPy.

XGBoost

Otros tipos de máquinas impulsar gradiente existen que se basan en un conjunto ligeramente diferente de los enfoques de optimización y las funciones de costo. los XGBoost paquete le permite aplicar GBM a cualquier problema, gracias a su amplia gama de funciones objetivo y las métricas de evaluación. Funciona con una variedad de idiomas, incluyendo Python, R, Java y C ++.

A pesar del hecho de que la MBG es un algoritmo secuencial (y por lo tanto más lento que otros que pueden tomar ventaja de los ordenadores multinúcleo modernos), XGBoost aprovecha el procesamiento multi-hilo con el fin de buscar en paralelo para las mejores divisiones entre las características. El uso de múltiples hilos ayuda XGBoost a su vez en un inmejorable rendimiento en comparación con otras implementaciones de GBM, tanto en R y Python. Debido a todo lo que contiene, el nombre completo del paquete es extremo Gradiente Impulso (o XGBoost para abreviar).

Artículos Relacionados