¿Cómo realizo el análisis de datos / aprendizaje automático en Python?

Fundamentos :

  • Visualización: Pandas (para vista de tabla), Matplotlib y Bokeh (si desea interacción con las parcelas), etc.
  • Manipulación de datos (limpieza, muestreo, etc.): pandas
  • Cargando datos desde SQL: los pandas también pueden leer desde SQL
  • Carga de datos desde csv grande (IE extrayéndolo del disco): Pandas

Aprendizaje automático

  • redes neuronales / mapas autoorganizados / máquinas boltzmann restringidas: PyLearn2 (biblioteca Python pura) y Caffe (principalmente código C ++ pero hay un contenedor Python) son dos paquetes que puede usar para sus necesidades de DNN. Ambos están en desarrollo activo.
  • Métodos SVM / kernel: Scikit-Learn admite los métodos SVM / kernel. Utiliza LibSVM (código C ++) debajo del capó, por lo que el rendimiento es bueno.
  • Una búsqueda *: Idunno
  • Procesos de decisión de Markov: Idunno
  • Bosque aleatorio: Scikit-Learn
  • otras bibliotecas de ML útiles: hay muchas otras, pero no quiero nombrarlas porque no conozco tus problemas.

Como mínimo, debe tener estos en su arsenal: Pandas, Numpy, Scipy, Scikit-Learn, Matplotlib. Todos están incluidos si instala Anaconda.

NumPy agrega soporte para grandes matrices y matrices multidimensionales, junto con una gran biblioteca de funciones matemáticas de alto nivel para operar en estas matrices. NumPy apunta a la implementación de referencia CPython de Python. Por lo tanto, cualquier algoritmo que pueda expresarse principalmente como operaciones en matrices y matrices puede ejecutarse casi tan rápido como el código C equivalente.
Usando Numpy, obtienes funcionalidades similares a Matlab.
Para instalar, simplemente haga “pip install numpy”

Los pandas proporcionan funciones para la manipulación y análisis de datos. La mayoría de las funciones en R se pueden encontrar en Pandas.
Para instalar, simplemente haga “pip install pandas”

Scikit-learn proporciona varios algoritmos de clasificación, regresión y agrupación que incluyen máquinas de vectores de soporte, regresión logística, Bayes ingenuos, bosques aleatorios, aumento de gradiente, k-means y DBSCAN, y está diseñado para interactuar con las bibliotecas numéricas y científicas de Python Numpy y Scipy.
Scikit se refiere a SciPy Toolkit.
Para instalar, simplemente haga “pip install scikit-learn”

Consulte también nltk (kit de herramientas de lenguaje natural), SciPy y Matplotlib.

Primero debe descargar la distribución gratuita de Anaconda3. Recomiendo encarecidamente si está iniciando Python: comience con Python 3 (3.4 en este momento) y asegúrese de usar la distribución de Anaconda en Python 3.

A partir de ahí, si no va a pagar o tomar algún curso, le sugiero algunos libros, y lea en este orden (le estoy ahorrando algunos meses / años que perdí), 1.) Introducción a Python por Bill Lubanovic , esto servirá como una buena y rápida base en el lenguaje y algunas de las aplicaciones del mundo real. 2.) (Este se verá desalentador al principio, pero asegúrese de leerlo de principio a fin si nunca ha programado C / C ++ antes, porque este libro explicará la mayoría de las idiosincrasias del lenguaje) Learning Python de Mark Lutz – it es detallado y lo estoy leyendo por tercera vez (ya no es de principio a fin, pero consumiré algunos capítulos para actualizar mi comprensión de la sintaxis mental).

Después de haber leído estos dos libros y de haber tenido una sólida comprensión de su comprensión: enumere las comprensiones, generadores, decoradores, luego aprenda Haskell (no usar Haskell a diario, sino comprender la programación funcional básica). Luego, regrese a Python y use functools y tendrá una comprensión más amplia de por qué Python es un lenguaje increíble (OOP, de procedimiento y funcional) y apreciará muchas de las semánticas del lenguaje que los recién llegados no entienden sin aprender otros idiomas.

El análisis de datos (Python For Data Analysis es el mejor libro que he leído sobre el tema) está construido en “baterías incluidas” en Python. Por lo tanto, realmente necesita aprender el idioma para aprovechar plenamente el aspecto de los datos.

Las respuestas de Brian Feeny y Mochen Yang son acertadas, aquí están mis recomendaciones:

  • Para cargar datos desde SQL, recomiendo SQLAlchemy, The Database Toolkit for Python.
  • NumPy – Numpy y SciPy.org – SciPy.org son excelentes recursos para el trabajo científico genérico en python
  • Scikit-learn es probablemente lo que usarías para el trabajo genérico de aprendizaje automático.
  • Si desea una opción potente y altamente configurable para SVM o regresión logística, también le recomiendo que consulte el contenedor Python para LIBLINEAR – Una biblioteca para clasificación lineal grande.

También recomendaría revisar MadLib (que es una biblioteca de aprendizaje automático implementada en SQL, aunque accesible a través de una biblioteca de Python como SQLAlchemy).

Utilizará Pandas, Scipy y Numpy para la manipulación de datos. scikit / learn para el aprendizaje automático real scikit-learn: aprendizaje automático en Python.

  1. funciones de svm / kernel, bosques aleatorios, agrupamiento, preprocesamiento, rbm – scikit-learn: aprendizaje automático en Python
  2. pymdptoolbox – Una implementación de algoritmos de problemas de decisión de Markov para Python – Google Project Hosting
  3. Ejemplos: red neuronal de documentación NeuroLab 0.3.4

Hola, hay muchas fuentes desde donde puedes comenzar a aprender árboles de decisión y bosques aleatorios: una introducción visual para principiantes: una guía simple para el aprendizaje automático con árboles de decisión, Chris Smith comienza con el lenguaje python, no necesitas seguir tantos canales o fuentes, más bien, debería centrarse más en captar los conceptos básicos de la manera más eficiente. Cuanto más codifique, más será competente. Personalmente, me gustó este libro porque es muy breve, conciso, conceptual, al punto y explicativo. , después de estos dos tutoriales, tendrá una comprensión justa del lenguaje Python. Si sigues estrictamente estas dos fuentes, estoy bastante seguro de que ganarás mucha confianza para comenzar a hacer algunos buenos proyectos en Python. Luego, puedes comenzar a hacer algunos proyectos en Python y gradualmente intentar comenzar a cavar en varias bibliotecas. esto te guiará y la mejor de las suertes!

Descargo de responsabilidad No soy desarrollador web, pero agradezco el A2A. Encontré un recurso bastante bueno sobre varias opciones que puedes probar

PythonForArtificialIntelligence – Python Wiki

Scipy y Numpy para la manipulación de datos y algoritmos de aprendizaje automático. Matplotlib para visualización. Networkx para algoritmos de gráficos y visualización.

Usé esta biblioteca (Data Mining Fruitful & Fun). Diría que la API es bastante sencilla, pero realmente no puedo comentar sobre la documentación, ya que ha pasado mucho tiempo desde que hice ML. Pero recuerdo haber pasado un buen rato trabajando con la biblioteca y no demasiados momentos.