Python Machine Learning

Índice

  • ¿Qué es Python?
  • Entornos de desarrollo para Python
  • Scikit-Learn
  • Python como alternativa a R
  • Ejemplos prácticos
    • Iris Flower Dataset
    • Análisis de programas políticos
    • Clasificación de texto

Python

  • Python es un lenguaje de programación interpretado.
  • Su nombre proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python.
  • Soporta:
    • Programación orientada a objetos
    • Programación imperativa
    • Programación funcional.
  • Es multiplataforma y posee una licencia abierta.

Entornos de desarrollo para Python

  • Sublime Text
  • PyCharm
  • Spyder
  • ....

Scikit-Learn

Librería que proporciona un amplio conjunto de algoritmos de aprendizaje supervisado y no supervisado a través de una consistente interfaz en Python.

Publicado bajo licencia BSD y distribuido en muchos sistemas Linux, favorece el uso comercial y educacional.

Esta librería se ha construido sobre SciPy (Scientific Python), que debe ser instalada antes de utilizarse, así como:

  • NumPy
  • SciPy
  • Matplotlib
  • SymPy
  • Pandas

Características

Esta librería se centra en el modelado de datos y no en cargar y manipular los datos. Para estos fines, es mejor utilizar NumPy y Pandas. Algunas cosas que aporta Scikit-Learn son:

  • Clustering.
  • Validación cruzada.
  • Datasets de prueba.
  • Reducción de la dimensionalidad.
  • Ensemble methods
  • Feature selection
  • Parameter tuning

Cosas buenas

  • Interfaz consistente ante modelos de machine learning.
  • Proporciona muchos parámetros de configuración.
  • Documentación excepcional.
  • Desarrollo muy activo.
  • Comunidad.

Cosas no tan buenas

  • Más difícil que R.
  • R proporciona más facilidades para ENTENDER los modelos que se están construyendo. Scikit-learn va mucho más al grano.

Ejemplos

Conclusiones

Hay mundo más allá de R