Los mejores paquetes de Python de datos para conocer en 2023


de la imagen Abrelo por Clemente Hélardot

2022 es un gran año para cualquier usuario de datos, especialmente para aquellos que usan Python, ya que hay muchos paquetes interesantes para mejorar nuestras capacidades de datos. Se debe estudiar diferente Paquetes de Python de datos en 2022 descrito y es posible que queramos algo nuevo para actualizar nuestra pila en el nuevo año.

A medida que nos acercamos a 2023, una variedad de paquetes de Python mejorarán nuestros flujos de trabajo de datos en el nuevo año. ¿Qué son estos paquetes? Echemos un vistazo a mi recomendación.

Desde paquetes de limpieza de datos hasta la implementación del aprendizaje automático, estos son los mejores paquetes de datos de Python que querrá conocer en 2023.

Pianista es un paquete Python de código abierto diseñado específicamente para los procedimientos de limpieza de datos a través del encadenamiento de métodos y diseñado para mejorar la API de Pandas para la limpieza de datos.

Conocemos muchos métodos de Panda para limpiar datos, como dropna para eliminar todos los valores faltantes. Con Pyjanitor, el proceso de limpieza de datos con la API de Pandas se mejorará mediante la implementación de métodos adicionales dentro de la API. ¿Como funciona? Probemos el paquete con datos de muestra.

usaríamos Datos de entrenamiento del Titanic Por ejemplo, de las licencias de Kaggle bajo CC0: Dominio público. Comencemos instalando el paquete Pyjanitor.

Descargar

Antes de realizar cualquier limpieza de datos con Pyjanitor, veamos nuestro conjunto de datos actual.

import pandas as pd
df = pd.read_csv('train.csv')
df.head()

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

Con el paquete Pyjanitor, podemos realizar varias limpiezas de datos de extensión y encadenamiento de métodos de cómo funciona la API de Pandas. Veamos cómo funciona el paquete con el siguiente código.

ejemplo de código

import janitor
df.remove_columns(["Cabin"]).expand_column(column_name="Embarked").clean_names()

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

Al importar el paquete Pyjanitor, se implementará automáticamente dentro de un DataFrame de Pandas. En nuestro código anterior, hicimos lo siguiente usando Pyjanitor:

  1. Elimine las columnas ‘Cabina’ usando el método remove_columns,
  2. Aplicar codificación categórica (One Hot Encoding) a la columna ‘Embarcado’ usando el método extension_column,
  3. Convierta todos los nombres de encabezados de variables a minúsculas y los espacios, si los hay, se reemplazarán con guiones bajos utilizando el método clean_names.

Pyjanitor todavía tiene muchas funciones que podemos usar para la limpieza de datos. Por favor refiérase a ellos documentos para obtener una lista completa de las API.

Pingüino es un paquete Python de análisis estadístico de código abierto para que cualquier científico de datos lo use para cualquier actividad estadística general. El paquete está diseñado para simplificar al proporcionar una línea de código, pero aún proporciona una variedad de pruebas estadísticas para usar.

Descargar

Después de instalar el paquete, intentemos realizar un análisis estadístico con Pingouin. Por ejemplo, haríamos una prueba T y una prueba ANOVA utilizando el conjunto de datos Titanic anterior.

ejemplo de código

import pingouin as pg

#T-Test
print('T-Test example')
pg.ttest( df['Age'], df['Fare'])

print('\n')
# ANOVA test
print('ANOVA test example')
pg.anova(data=df, dv='Age', between='SibSp', detailed=True)

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

Pinouin proporciona el resultado de la prueba estadística en un objeto de marco de datos con una sola línea. Hay muchas más funciones para ayudar a nuestro análisis que podemos explorar en las API de Pinouin documentos.

PyCaret es un paquete Python de código abierto diseñado para automatizar los flujos de trabajo de aprendizaje automático. El paquete proporciona un entorno de código bajo para acelerar la experimentación de modelos al proporcionar una herramienta de modelo de aprendizaje automático de extremo a extremo.

En un trabajo típico de ciencia de datos, hay muchas actividades, como limpiar nuestros datos, seleccionar un modelo, ajustar hiperparámetros y evaluar el modelo. PyCaret tiene como objetivo eliminar todas las molestias al reducir todo el código requerido a la menor cantidad de líneas posible. Un paquete es una colección de varios marcos de aprendizaje automático. Probemos PyCaret para saber más.

Descargar

Usando el conjunto de datos Titanic anterior; Desarrollaremos un clasificador modelo para predecir la variable Survive.

ejemplo de código

from pycaret.classification import *
clf_exp = setup(data = df, target="Survived") 

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

En el código anterior, comenzamos el experimento usando la función de configuración. Al pasar los datos y el objetivo, PyCaret extraerá nuestros datos y desarrollará un modelo de aprendizaje automático basado en los datos proporcionados. Los datos de salida reales son más largos que la imagen de arriba y capturan lo que está sucediendo en nuestro proceso de modelado.

Veamos el resultado del modelo y extraigamos el mejor modelo de los datos de entrenamiento.

best_model = compare_models(sort="precision")

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

El experimento del clasificador PyCaret probará los datos de entrenamiento contra 14 clasificadores diferentes y devolverá el mejor modelo. En nuestro caso es RidgeClassifier.

Hay muchos experimentos que puedes hacer con PyCaret. Visítalos para explorar más documentos.

BentoML es un paquete Python de código abierto para entregar un modelo a producción rápidamente y con la menor cantidad de líneas posible. El paquete está diseñado para centrarse en un modelo de aprendizaje automático de producción que el usuario puede utilizar fácilmente.

Probemos el paquete BentoML y veamos cómo funciona.

Descargar

Para el ejemplo de BentoML, usaríamos el código manual de paquete con una pequeña modificación.

ejemplo de código

Entrenaríamos un clasificador modelo usando la base de datos iris.

from sklearn import svm, datasets

iris = datasets.load_iris()
X, y = iris.data, iris.target

iris_clf = svm.SVC()
iris_clf.fit(X, y)

Con BentoML, podemos almacenar nuestro modelo de aprendizaje automático en una tienda de modelos local o en la nube y recuperarlo para la producción.

import bentoml

bentoml.sklearn.save_model("iris_clf", iris_clf)

Luego podemos usar el modelo almacenado en el entorno BentoML usando el patrón de ejecución.

# Create a Runner instance and implement a runner instance in local
iris_clf_runner = bentoml.sklearn.get("iris_clf:latest").to_runner()
iris_clf_runner.init_local()

# Using the predictor on unseen data
iris_clf_runner.predict.run([[4.1, 2.3, 5.5, 1.8]])

Salida

Próximo; Podemos iniciar el servicio modelo almacenado en BentoML ejecutando el siguiente código para crear un archivo de Python e iniciar el servidor.

%%writefile service.py
import numpy as np
import bentoml
from bentoml.io import NumpyNdarray

iris_clf_runner = bentoml.sklearn.get("iris_clf:latest").to_runner()

svc = bentoml.Service("iris_clf_service", runners=[iris_clf_runner])

@svc.api(input=NumpyNdarray(), output=NumpyNdarray())
def classify(input_series: np.ndarray) -> np.ndarray:
    return iris_clf_runner.predict.run(input_series)

Iniciamos el servidor ejecutando el siguiente código.

!bentoml serve service.py:svc --reload

Salida

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

El resultado mostrará el registro actual del servidor de desarrollo y dónde podemos acceder a él. Si estamos satisfechos con el resultado del desarrollo, podemos entrar en producción. Te recomiendo que te postules a documentos para el proceso de fabricación.

Streamlit es un paquete Python de código abierto para crear aplicaciones web personalizadas para científicos de datos. El paquete proporciona un código profundo para construir y personalizar varias aplicaciones de datos. Probemos el paquete para ver cómo funciona.

Descargar

La aplicación web Streamlit funciona mediante la ejecución de un script de Python usando Streamlit. Entonces, antes de ejecutarlo, debemos prepararlo antes de ejecutarlo con el comando streamlit. Podemos ejecutar el siguiente ejemplo usando su IDE favorito o Jupyter Notebook, pero prefiero mostrar cómo creamos una aplicación web con Streamlit en nuestro Jupyter Notebook.

ejemplo de código

%%writefile streamlit_example.py
import streamlit as st
import pandas as pd
import numpy as np

st.title('Titanic Data')

data = pd.read_csv('train.csv')

st.write('Shows top 5 of the data')
st.dataframe(data.head())

st.title('Bar Chart Visualization with Age')

col = st.selectbox('Select the categorical columns', data.select_dtypes('object').columns)

st.bar_chart(data, x = col, y='Age')

El código anterior creará un script llamado streamlit_example.py y creará una aplicación web similar a la siguiente salida si ejecutamos el comando Streamlit.

!streamlit run streamlit_example.py

Los mejores paquetes de Python de datos para conocer en 2023
Foto por autor

El código es fácil de aprender y no le llevará tiempo crear su aplicación web con Streamlit. puedes aplicar a documentos Si quieres saber más sobre lo que puedes crear con el paquete Streamlit.

En el período previo a 2023, necesitamos mejorar nuestro conjunto de habilidades de datos incluso más que en 2022. Qué mejor manera de agregar a nuestro arsenal de datos que aprendiendo de algunos paquetes increíbles de Python que ayudarán a mejorar nuestros flujos de trabajo de datos. Estos son los mejores paquetes de Python

  1. Pianista
  2. Pingüino
  3. PyCaret
  4. BentoML
  5. Streamlit

Cornelio Yudha Wijaya es subgerente de ciencia de datos y escritor de datos. Mientras trabaja a tiempo completo en Allianz Indonesia, le gusta compartir consejos sobre Python y datos a través de las redes sociales y medios de escritura.

Leave a Reply

Your email address will not be published. Required fields are marked *