Python e aprendizado de máquina

Python y el aprendizaje automático

Aproveche el poder de Python en el aprendizaje automático. Cree modelos de aprendizaje automático inteligentes y escalables. Transforme su toma de decisiones basada en datos con Python.

Imagem em destaque

Para muchos, Python no es un lenguaje del pasado, sino más bien un lenguaje del presente y del futuro. Aunque Python se creó en los años 80, ocupa un lugar destacado en el desarrollo web y en las industrias que dependen de lenguajes de programación simples y flexibles.

Python se adapta a este proyecto mejor que muchos otros lenguajes. De hecho, Python es un lenguaje tan sencillo de aprender y utilizar que suele ser uno de los primeros lenguajes con los que trabajan los nuevos en programación. ¿Qué hace que Python sea tan fácil de usar? En primer lugar, es un lenguaje interpretado, lo que significa que no necesitas compilar código para ejecutarlo: simplemente escribe y ejecuta tu código.

Python también sigue una filosofía que permite escribir unas pocas líneas de código para completar una tarea. Y con tantos módulos, clases, excepciones, tipos de datos y bibliotecas disponibles, hay muy poco que este lenguaje no pueda hacer.

Aunque la especialidad de Python es la web y las aplicaciones web, tiene varios otros trucos bajo la manga. Uno de esos trucos es el aprendizaje automático. Para aquellos que no lo saben, el aprendizaje automático es un subconjunto de la inteligencia artificial donde los algoritmos informáticos mejoran automáticamente con la experiencia. En otras palabras, hacer que una computadora realice alguna tarea sin realmente programarla para esa tarea.

Y teniendo en cuenta que el aprendizaje automático se ha generalizado y que empresas como Google, Amazon, LinkedIn y Facebook dependen de él, el aprendizaje automático está permitiendo saltos exponenciales en los avances tecnológicos modernos.

Echemos un vistazo a por qué debería considerar Python para sus necesidades de aprendizaje automático.

¿Python es bueno para el aprendizaje automático?

En una palabra, sí. De hecho, se considera que Python es el lenguaje elegido para el aprendizaje automático. Aunque Python puede considerarse "más lento" que algunos lenguajes, sus capacidades de manipulación de datos son una de las mejores.

Pero, ¿qué hace que Python sea tan excepcional con el aprendizaje automático? Hay varias razones, que incluyen:

1- Es fácil de aprender (en comparación con otros lenguajes capaces de integrarse con ML).

2- Es de código abierto, lo que significa que puede integrarse mejor con las nuevas tecnologías a medida que surgen.

3- Puede interactuar con prácticamente cualquier lenguaje y plataforma de programación.

4- Tiene un ecosistema bibliotecario increíble.

5- Es muy flexible, con capacidad de seguir rutas orientadas a objetos o guionadas.

6- Ofrece muchas opciones de visualización.

7- Tiene un gran apoyo comunitario.

¿Cómo empiezo a aprender aprendizaje automático con Python?

Para comenzar con Machine Learning y Python, primero debe aprender el lenguaje Python. Una vez que lo hayas solucionado, también necesitarás familiarizarte con un marco como Django. Con ellos bajo control, deberías aprender una de las bibliotecas específicas de ML. También deberá comprender los conceptos básicos del aprendizaje automático. Por ejemplo, cada algoritmo de aprendizaje automático utiliza tres conceptos principales:

1- Representación, que es como se representa el conocimiento.

2- Evaluación, que es la forma de evaluar programas, enfocándose en precisión, predicción, recuperación, error cuadrático, verosimilitud, probabilidad posterior, costo, margen, entropía y divergencia kL.

3- Optimización, que es como se generan los programas de ML.

También deberá comprender los cuatro tipos de aprendizaje automático:

1- El aprendizaje supervisado es donde los datos de entrenamiento incluyen el resultado deseado.

2- El aprendizaje no supervisado es cuando los datos del entrenamiento no incluyen el resultado deseado.

3- El aprendizaje semisupervisado es cuando los datos de entrenamiento incluyen más de un resultado deseado.

4- El aprendizaje por refuerzo es donde un agente aprende a lograr una meta en un entorno incierto y complejo.

Una vez que tenga una comprensión sólida de cómo funciona realmente el aprendizaje automático, estará listo para comenzar su viaje usando Python para hacerlo realidad.

¿Python es lo suficientemente rápido para el aprendizaje automático?

Aunque Python no es el lenguaje de programación más rápido disponible, ya ha demostrado ser más que capaz de manejar las demandas del aprendizaje automático. Para superar lo que algunos podrían considerar una crisis, Python tiene una serie de herramientas disponibles para compensar. Por ejemplo, Pandas es una herramienta utilizada en ciencia de datos para limpiar, transformar, manipular y analizar datos. Con estas herramientas, puede asegurarse de que los datos utilizados con el aprendizaje automático estén mejor optimizados para su uso.

¿Qué versión de Python es mejor para el aprendizaje automático?

En un momento, la mejor versión de Python para usar en el aprendizaje automático era la 2.7. Sin embargo, la iteración 2.x de Python ha quedado obsoleta, lo que significa que tendrá que utilizar una versión de Python 3.0 o posterior. Al momento de escribir este artículo, la última versión estable de Python es 3.9.0. Si desea las últimas funciones y actualizaciones de seguridad, lo mejor que puede hacer es utilizar estas o versiones más recientes (si están disponibles).

Biblioteca de aprendizaje automático de Python

Antes de cubrir un ejemplo, necesitará saber qué bibliotecas están disponibles para su uso en aprendizaje automático en Python. Los idiomas disponibles son:

  • NumPy es una biblioteca para grandes matrices multidimensionales y procesamiento de matrices.
  • SciPy es una biblioteca que contiene módulos de optimización, álgebra lineal, integración y estadística.
  • Scikit-learn es la biblioteca utilizada para algoritmos clásicos de aprendizaje automático (en particular, aquellos para aprendizaje supervisado y no supervisado)
  • Theano se utiliza para definir, evaluar y optimizar expresiones matemáticas que involucran matrices multidimensionales.
  • TensorFlow es un marco que implica definir y ejecutar cálculos que involucran tensores.
  • Keras es una API de red neuronal de alto nivel.
  • PyTorch permite a los desarrolladores realizar cálculos en tensores con aceleración de GPU.
  • Pandas es una de las bibliotecas más populares para análisis de datos.
  • Matplotlib es la biblioteca más utilizada para la visualización de datos.

Ejemplo de aprendizaje automático de Python

Demostremos un experimento básico utilizando el aprendizaje automático con Python en Ubuntu Linux. Primero necesitarás instalar Python con el comando:

 sudo apt-get install python3 -y

Una vez que se complete la instalación, deberá instalar las bibliotecas necesarias. Primero, instalemos las bibliotecas necesarias con el comando:

 sudo apt-get install python3-numpy python3-scipy python3-matplotlib python3-pandas python3-sympy python3-nose python3-sklearn -y

Luego obtenga acceso a la consola de Python con el comando:

 python3

En esta consola, verifique todas las bibliotecas requeridas pegando lo siguiente y presionando Enter en su teclado:

 # Python version
 import sys
 print('Python: {}'.format(sys.version))
 # SciPy
 import scipy
 print('scipy: {}'.format(scipy.__version__))
 # NumPy
 import numpy
 print('numpy: {}'.format(numpy.__version__))
 # matplotlib
 import matplotlib
 print('matplotlib: {}'.format(matplotlib.__version__))
 # pandas
 import pandas
 print('pandas: {}'.format(pandas.__version__))
 # scikit-learn
 import sklearn
 print('sklearn: {}'.format(sklearn.__version__))

La salida debe imprimir las versiones de cada biblioteca.

A continuación, carguemos las bibliotecas. Pegue lo siguiente en la consola:

 # Load libraries
 from pandas import read_csv
 from pandas.plotting import scatter_matrix
 from matplotlib import pyplot
 from sklearn.model_selection import train_test_split
 from sklearn.model_selection import cross_val_score
 from sklearn.model_selection import StratifiedKFold
 from sklearn.metrics import classification_report
 from sklearn.metrics import confusion_matrix
 from sklearn.metrics import accuracy_score
 from sklearn.linear_model import LogisticRegression
 from sklearn.tree import DecisionTreeClassifier
 from sklearn.neighbors import KNeighborsClassifier
 from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
 from sklearn.naive_bayes import GaussianNB

Presione Enter para regresar a la consola de Python.

Cargue un conjunto de datos para el experimento con lo siguiente:

 # Load dataset
 url = "
 names = ('sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class')
 dataset = read_csv(url, names=names)

Vea las primeras 20 líneas de datos con el comando:

 # head
 print(dataset.head(20))

Deberías ver impresas las primeras 20 líneas de datos.

Resumamos todos los datos pegando lo siguiente en la consola de Python:

 # summarize the data
 from pandas import read_csv
 # Load dataset
 url = "
 names = ('sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class')
 dataset = read_csv(url, names=names)
 # shape
 print(dataset.shape)
 # head
 print(dataset.head(20))
 # descriptions
 print(dataset.describe )
 # class distribution
 print(dataset.groupby('class').size )

Finalmente, puede crear y evaluar modelos a partir de los datos cargados pegando lo siguiente en la consola:

 # Spot Check Algorithms
 models =
 models.append(('LR', LogisticRegression(solver="liblinear", multi_)))
 models.append(('LDA', LinearDiscriminantAnalysis ))
 models.append(('KNN', KNeighborsClassifier ))
 models.append(('CART', DecisionTreeClassifier ))
 models.append(('NB', GaussianNB ))
 models.append(('SVM', SVC(gamma="auto"))) 
# evaluar cada modelo por turno
 resultados =
 nombres =
 para nombre, modelo en modelos:
 kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
 cv_results = cross_val_score(modelo, X_train, Y_train, cv=kfold, puntuación='precisión')
 resultados.append(cv_resultados)
 nombres.append(nombre)
 print('%s: %f (%f)' % (nombre, cv_results.mean, cv_results.std))

Después de pegar el texto anterior en la consola, presione Entrar e imprimirá los diferentes modelos y estimaciones de precisión, que se pueden comparar para elegir el más preciso.

Y ese es un ejemplo bastante simple de aprendizaje automático con Python.

Conclusión

Y es así como y por qué Python es considerado el mejor lenguaje para Machine Learning. Con esta información, estás listo para comenzar tu viaje en este fascinante campo. Hay mucho que aprender y apenas hemos arañado la superficie, así que espere dedicar una buena cantidad de tiempo a aprender los conceptos básicos de esta complicada tecnología.

Si le gustó este artículo, consulte uno de nuestros otros artículos sobre Python.

  • ¿Es Django el framework web para perfeccionistas?
  • Los 5 mejores sitios web creados con Python
  • ¿Qué puede hacer un buen desarrollador de Python para ayudar a su empresa?
  • Cómo contratar un programador Python
  • ¿Para qué se utiliza Python?

Fuente: BairesDev

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.