Las mejores bibliotecas de Python para el aprendizaje automático

El aprendizaje automático, como su nombre indica, es la ciencia de programar una computadora mediante la cual pueden aprender de diferentes tipos de datos. Una definición más general dada por Arthur Samuel es: «El aprendizaje automático es el campo de estudio que brinda a las computadoras la capacidad de aprender sin ser programadas explícitamente». Por lo general, se utilizan para resolver varios tipos de problemas de la vida. 
En los viejos tiempos, las personas solían realizar tareas de aprendizaje automático codificando manualmente todos los algoritmos y fórmulas matemáticas y estadísticas. Esto hizo que el procesamiento fuera lento, tedioso e ineficiente. Pero en los días modernos, se vuelve mucho más fácil y eficiente en comparación con los viejos tiempos con varias bibliotecas, marcos y módulos de Python. Hoy, Python es uno de los lenguajes de programación más populares para esta tarea y ha reemplazado a muchos lenguajes en la industria, una de las razones es su vasta colección de bibliotecas. Las bibliotecas de Python que se utilizan en Machine Learning son: 
 

 

Machine-Learning-Course

  • entumecido
  • Scipy
  • Scikit-aprender
  • Teano
  • TensorFlow
  • Keras
  • PyTorch
  • pandas
  • matplotlib

entumecido

NumPy es una biblioteca de Python muy popular para el procesamiento de arrays y arreglos multidimensionales grandes, con la ayuda de una gran colección de funciones matemáticas de alto nivel. Es muy útil para cálculos científicos fundamentales en Machine Learning. Es particularmente útil para el álgebra lineal, la transformada de Fourier y las capacidades de números aleatorios. Las bibliotecas de gama alta como TensorFlow usan NumPy internamente para la manipulación de tensores. 
 

Python3

# Python program using NumPy
# for some basic mathematical
# operations
 
import numpy as np
 
# Creating two arrays of rank 2
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
 
# Creating two arrays of rank 1
v = np.array([9, 10])
w = np.array([11, 12])
 
# Inner product of vectors
print(np.dot(v, w), "\n")
 
# Matrix and Vector product
print(np.dot(x, v), "\n")
 
# Matrix and matrix product
print(np.dot(x, y))

Producción: 
 

219 

[29 67] 

[[19 22]
 [43 50]]

Para obtener más detalles, consulte Numpy
  
 

SciPy

SciPy es una biblioteca muy popular entre los entusiastas del aprendizaje automático, ya que contiene diferentes módulos para optimización, álgebra lineal, integración y estadísticas. Hay una diferencia entre la biblioteca SciPy y la pila SciPy. SciPy es uno de los paquetes principales que componen la pila de SciPy. SciPy también es muy útil para la manipulación de imágenes. 
 

Python3

# Python script using Scipy
# for image manipulation
 
from scipy.misc import imread, imsave, imresize
 
# Read a JPEG image into a numpy array
img = imread('D:/Programs / cat.jpg') # path of the image
print(img.dtype, img.shape)
 
# Tinting the image
img_tint = img * [1, 0.45, 0.3]
 
# Saving the tinted image
imsave('D:/Programs / cat_tinted.jpg', img_tint)
 
# Resizing the tinted image to be 300 x 300 pixels
img_tint_resize = imresize(img_tint, (300, 300))
 
# Saving the resized tinted image
imsave('D:/Programs / cat_tinted_resized.jpg', img_tint_resize)

Imagen original: 
 

Imagen teñida: 
 

Imagen teñida redimensionada: 
 

resized_tinted_image

Para obtener más detalles, consulte la documentación
  
 

Scikit-aprender

Scikit-learn es una de las bibliotecas de ML más populares para algoritmos de ML clásicos. Está construido sobre dos bibliotecas básicas de Python, a saber, NumPy y SciPy. Scikit-learn es compatible con la mayoría de los algoritmos de aprendizaje supervisados ​​y no supervisados. Scikit-learn también se puede usar para la extracción y el análisis de datos, lo que la convierte en una excelente herramienta para quienes comienzan con ML. 
 

Python3

# Python script using Scikit-learn
# for Decision Tree Classifier
 
# Sample Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
 
# load the iris datasets
dataset = datasets.load_iris()
 
# fit a CART model to the data
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
 
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
 
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

Producción: 
 

DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
            max_features=None, max_leaf_nodes=None,
            min_impurity_decrease=0.0, min_impurity_split=None,
            min_samples_leaf=1, min_samples_split=2,
            min_weight_fraction_leaf=0.0, presort=False, random_state=None,
            splitter='best')
              precision    recall  f1-score   support

           0       1.00      1.00      1.00        50
           1       1.00      1.00      1.00        50
           2       1.00      1.00      1.00        50

   micro avg       1.00      1.00      1.00       150
   macro avg       1.00      1.00      1.00       150
weighted avg       1.00      1.00      1.00       150

[[50  0  0]
 [ 0 50  0]
 [ 0  0 50]]

  
Para obtener más detalles, consulte la documentación
  
 

Teano

Todos sabemos que Machine Learning es básicamente matemática y estadística. Theano es una biblioteca popular de Python que se utiliza para definir, evaluar y optimizar expresiones matemáticas que involucran arrays multidimensionales de manera eficiente. Se logra optimizando la utilización de CPU y GPU. Se usa ampliamente para pruebas unitarias y autoverificación para detectar y diagnosticar diferentes tipos de errores. Theano es una biblioteca muy potente que se ha utilizado en proyectos científicos de computación intensiva a gran escala durante mucho tiempo, pero es lo suficientemente simple y accesible como para que las personas la utilicen en sus propios proyectos. 
 

Python3

# Python program using Theano
# for computing a Logistic
# Function
 
import theano
import theano.tensor as T
x = T.dmatrix('x')
s = 1 / (1 + T.exp(-x))
logistic = theano.function([x], s)
logistic([[0, 1], [-1, -2]])

Producción: 
 

array([[0.5, 0.73105858],
       [0.26894142, 0.11920292]])

Para obtener más detalles, consulte la documentación
  
 

TensorFlow

TensorFlow es una biblioteca de código abierto muy popular para computación numérica de alto rendimiento desarrollada por el equipo de Google Brain en Google. Como sugiere el nombre, Tensorflow es un marco que implica definir y ejecutar cálculos que involucran tensores. Puede entrenar y ejecutar redes neuronales profundas que se pueden usar para desarrollar varias aplicaciones de IA. TensorFlow se usa ampliamente en el campo de la investigación y la aplicación del aprendizaje profundo. 
 

Python3

#  Python program using TensorFlow
#  for multiplying two arrays
 
# import `tensorflow`
import tensorflow as tf
 
# Initialize two constants
x1 = tf.constant([1, 2, 3, 4])
x2 = tf.constant([5, 6, 7, 8])
 
# Multiply
result = tf.multiply(x1, x2)
 
# Initialize the Session
sess = tf.Session()
 
# Print the result
print(sess.run(result))
 
# Close the session
sess.close()

Producción: 
 

[ 5 12 21 32]

Para obtener más detalles, consulte la documentación
  
 

Keras

It provides many inbuilt methods for groping, combining and filtering data.

Keras es una biblioteca de aprendizaje automático muy popular para Python. Es una API de redes neuronales de alto nivel capaz de ejecutarse sobre TensorFlow, CNTK o Theano. Puede funcionar sin problemas tanto en la CPU como en la GPU. Keras hace que sea realmente para los principiantes de ML construir y diseñar una red neuronal. Una de las mejores cosas de Keras es que permite la creación de prototipos fácil y rápido.
Para obtener más detalles, consulte la documentación
  
 

PyTorch

PyTorch es una biblioteca popular de aprendizaje automático de código abierto para Python basada en Torch, que es una biblioteca de aprendizaje automático de código abierto que se implementa en C con un contenedor en Lua. Tiene una amplia selección de herramientas y bibliotecas compatibles con Computer Vision, Natural Language Processing (NLP) y muchos más programas ML. Permite a los desarrolladores realizar cálculos en tensores con aceleración de GPU y también ayuda a crear gráficos computacionales. 
 

Python3

# Python program using PyTorch
# for defining tensors fit a
# two-layer network to random
# data and calculating the loss
 
import torch
 
 
dtype = torch.float
device = torch.device("cpu")
# device = torch.device("cuda:0") Uncomment this to run on GPU
 
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
 
# Create random input and output data
x = torch.random(N, D_in, device = device, dtype = dtype)
y = torch.random(N, D_out, device = device, dtype = dtype)
 
# Randomly initialize weights
w1 = torch.random(D_in, H, device = device, dtype = dtype)
w2 = torch.random(H, D_out, device = device, dtype = dtype)
 
learning_rate = 1e-6
for t in range(500):
    # Forward pass: compute predicted y
    h = x.mm(w1)
    h_relu = h.clamp(min = 0)
    y_pred = h_relu.mm(w2)
 
    # Compute and print loss
    loss = (y_pred - y).pow(2).sum().item()
    print(t, loss)
 
    # Backprop to compute gradients of w1 and w2 with respect to loss
    grad_y_pred = 2.0 * (y_pred - y)
    grad_w2 = h_relu.t().mm(grad_y_pred)
    grad_h_relu = grad_y_pred.mm(w2.t())
    grad_h = grad_h_relu.clone()
    grad_h[h < 0] = 0
    grad_w1 = x.t().mm(grad_h)
 
    # Update weights using gradient descent
    w1 -= learning_rate * grad_w1
    w2 -= learning_rate * grad_w2

Producción: 
 

0 47168344.0
1 46385584.0
2 43153576.0
...
...
...
497 3.987660602433607e-05
498 3.945609932998195e-05
499 3.897604619851336e-05

Para obtener más detalles, consulte la documentación
  
 

pandas

Pandas es una biblioteca popular de Python para el análisis de datos. No está directamente relacionado con el aprendizaje automático. Como sabemos, el conjunto de datos debe estar preparado antes del entrenamiento. En este caso, Pandas es útil ya que fue desarrollado específicamente para la extracción y preparación de datos. Proporciona estructuras de datos de alto nivel y una amplia variedad de herramientas para el análisis de datos. Proporciona muchos métodos incorporados para agrupar, combinar y filtrar datos. 
 

Python3

# Python program using Pandas for
# arranging a given set of data
# into a  table
 
# importing pandas as pd
import pandas as pd
 
data = {"country": ["Brazil", "Russia", "India", "China", "South Africa"],
       "capital": ["Brasilia", "Moscow", "New Delhi", "Beijing", "Pretoria"],
       "area": [8.516, 17.10, 3.286, 9.597, 1.221],
       "population": [200.4, 143.5, 1252, 1357, 52.98] }
 
data_table = pd.DataFrame(data)
print(data_table)

Producción: 
 

Para obtener más detalles, consulte Pandas
  
 

matplotlib

matplotlibLogo

Matplotlib es una biblioteca de Python muy popular para la visualización de datos. Al igual que Pandas, no está directamente relacionado con Machine Learning. Es particularmente útil cuando un programador quiere visualizar los patrones en los datos. Es una biblioteca de gráficos 2D que se utiliza para crear gráficos y diagramas 2D. Un módulo llamado pyplot facilita a los programadores el trazado, ya que proporciona funciones para controlar estilos de línea, propiedades de fuente, ejes de formato, etc. Proporciona varios tipos de gráficos y diagramas para la visualización de datos, a saber, histograma, gráficos de error, chats de barra. , etc, 
 

Python3

#  Python program using Matplotlib
# for forming a linear plot
 
# importing the necessary packages and modules
import matplotlib.pyplot as plt
import numpy as np
 
# Prepare the data
x = np.linspace(0, 10, 100)
 
# Plot the data
plt.plot(x, x, label ='linear')
 
# Add a legend
plt.legend()
 
# Show the plot
plt.show()

Producción: 
 

linear_plot

Para obtener más detalles, consulte la documentación .
 

Publicación traducida automáticamente

Artículo escrito por Rahul_Roy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *