Cree, entrene, rastree y comparta sus modelos ML con Layer AI

Estás leyendo la publicación: Cree, entrene, rastree y comparta sus modelos ML con Layer AI

La capa es una plataforma colaborativa de aprendizaje automático que permite a los usuarios crear, entrenar, rastrear y compartir modelos de aprendizaje automático. Permite la colaboración con el control de versiones semántico, el registro completo de artefactos y la generación de informes dinámicos, al mismo tiempo que ayuda a los usuarios a crear canalizaciones de aprendizaje automático de nivel de producción con una transición fluida de lo local a la nube. Este artículo se centra en la creación, el entrenamiento y el seguimiento de modelos de aprendizaje automático con la plataforma Layer AI. Los siguientes son los temas que se tratarán en este artículo.

Tabla de contenido

  1. Instalación de capa
  2. Conexión a la API de capa
  3. Construyendo el modelo
  4. Registro del modelo en Layer
  5. Entrenamiento remoto

En este artículo, construiremos un modelo de regresión en un conjunto de datos relacionado con la música incluida en el top 2000 de Spotify desde 2000 hasta 2019.

Instalación de capa

Este artículo usa un cuaderno de Colab, por lo que para instalar la capa, la sintaxis sería similar a la siguiente.

!pip capa de instalación

¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.

Conexión a la API de capa

Una vez que se complete el registro en la página web de Layer AI, cree un proyecto y luego conecte el portátil a Layer.

importar capa capa.login()

Revista de análisis de la India

Se necesita la clave para conectar el cuaderno a la API para eso, simplemente haga clic en el clic que da la capa en la salida y copie el código en el portapapeles y péguelo en el portal de salida.

🔥 Recomendado:  RedMagic 8S Pro y amplificador ¡8S Pro Plus con 24 GB de RAM presentado en China!

Una vez conectado a la API, inicie el proyecto utilizando el siguiente código

capa.init(“experimento-1”)

Revista de análisis de la India
Revista de análisis de la India

La capa proporcionará un enlace al proyecto iniciado y todas las actividades de la sesión actual se registrarán aquí.

Construyendo el modelo

Construcción de un modelo de regresión para predecir la popularidad de las canciones en función de las diferentes características. Para este artículo usando el algoritmo de impulso XG para la predicción

Importar bibliotecas necesarias

importar pandas como pd importar numpy como np importar seaborn como sns importar matplotlib.pyplot como plt

Leer y preprocesar los datos.

data=pd.read_csv(‘/content/drive/MyDrive/Datasets/songs_normalize.csv’) datos[:5]

Revista de análisis de la India

Los datos utilizados están relacionados con la industria musical. Se trata de las 2000 mejores canciones del 2000 al 2019 según Spotify. La columna de destino calcula la popularidad de la canción. Aquí hay una descripción detallada de las características.

Codificación de la variable categórica para procesar los datos como un conjunto de entrenamiento.

codificador=LabelEncoder() datos[‘explicit_enc’]=codificador.fit_transform(datos[‘explicit’]) X=datos.drop([‘artist’, ‘song’, ‘genre’, ‘popularity’,’explicit’],eje=1) y=datos[‘popularity’]

Ya que hay características relacionadas con la medición y la medición tiene una unidad de medida diferente. Entonces, necesito convertir los datos en forma estándar. Para este propósito, use Standard Scaler de la biblioteca sklearn.

std_scale=StandardScaler() X_scaler=std_scale.fit_transform(X) X_scaled = pd.DataFrame(X_scaler, column = X.columns) X_scaled.head()

Revista de análisis de la India

Dividir los datos en conjuntos de prueba y entrenamiento usando la división estándar de 30:70 respectivamente.

X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.30, random_state=42)

Entrenando al modelo

import xgboost from sklearn.metrics import mean_squared_error,r2_score xgb_model = xgboost.XGBRegressor() xgb_model.fit(X_train, y_train) predicciones = xgb_model.predict(X_test) rmse = np.sqrt(mean_squared_error(y_test, predicciones)) r_score = r2_score( y_test,predicciones) print(“Error cuadrático medio = “,np.round(rmse,3)) print(“R2 score = “,np.round(r_score,3))

Revista de análisis de la India

Registro del modelo en Layer

Simplemente agregue el decorador “@model” a su función de entrenamiento. El modelo entrenado devuelto se registrará en su Layer Project. Para permitir el seguimiento de experimentos, reemplace “imprimir” con “capa.log”.

🔥 Recomendado:  ¿Deberíamos llamar a Rust un lenguaje de programación fallido?

@model(“experiment_model”) def train_model(): xgb_model = xgboost.XGBRegressor() xgb_model.fit(X_train, y_train) predicciones = xgb_model.predict(X_test) table = pd.DataFrame(zip(predictions,y_test),columns=[‘Predicted Popularity’, “Actual Popularity”]) rmse = np.sqrt(mean_squared_error(y_test, predicciones)) r_score = r2_score(y_test,predictions) plt.figure(figsize=(10,6)) reg_plot=sns.regplot(x=predictions, y=y_test).figure plt.xlabel(“Popularidad prevista”) plt.ylabel(“Popularidad real”) layer.log({“Error cuadrático medio”: rmse}) layer.log({“Puntaje R2”:r_score}) layer.log( {“Gráfico de regresión”:reg_plot}) layer.log({“Predicciones vs Real”:table[:50]}) devuelve xgb_model xgb_model = train_model()

Revista de análisis de la India

El decorador “@model” se utilizará para proporcionar el nombre del modelo para que se pueda guardar y compartir o reutilizar en otro proyecto. Es necesario proporcionar toda la información relacionada con el modelo en una función. Una vez completado, se generaría un enlace donde se almacenaría todo el seguimiento de las versiones del modelo y otros detalles. Uno puede visitar manualmente la misma página continuando en la sección del modelo en el proyecto conectado a la computadora portátil.

Revista de análisis de la India

Al usar el “registro ()”, todos los datos se almacenan en el servidor API y se puede acceder a ellos en cualquier momento visitando la sección de modelos en el proyecto.

Entrenamiento remoto

La capa es un repositorio de metadatos sofisticado donde uno puede guardar sus modelos, conjuntos de datos y procesos. La canalización de aprendizaje automático podría registrarse y ejecutarse en Layer de la misma manera en que se registra a través del cuaderno. Esto es particularmente beneficioso cuando:

  • Los datos de entrenamiento son demasiado grandes para que los maneje la máquina local.
  • El modelo necesita infrarrojos especializados, como una GPU de gama alta, que no está disponible en la máquina local.

En lugar de ejecutar la función de tren directamente, use “layer.run()” para dárselo a la capa. La capa decapará y ejecutará la función en Layer infra.

capa.ejecutar([train_model])

🔥 Recomendado:  Spotlight: PhotoRoom ayuda a las empresas comerciales a destacarse con imágenes asombrosas
Revista de análisis de la India
Revista de análisis de la India

Conclusión

La capa es un repositorio de metadatos sofisticado donde puede guardar sus modelos, conjuntos de datos y procesos. Con este artículo hemos entendido la construcción, entrenamiento y registro de un modelo ML con la plataforma Layer AI.

Referencias