Interfaz de entrada y salida para el algoritmo Light GBM - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Interfaz de entrada y salida para el algoritmo Light GBM

La potenciación de gradientes funciona en los datos tabulares, con las filas que representan observaciones, una columna que representa la variable de destino o la etiqueta, y las columnas restantes que representan las características.

La SageMaker implementación de Light GBM apoya CSV el entrenamiento y la inferencia:

  • Para el entrenamiento ContentType, las entradas válidas deben ser text/csv.

  • Para la inferencia ContentType, las entradas válidas deben ser text/csv.

nota

Para el CSV entrenamiento, el algoritmo asume que la variable objetivo está en la primera columna y que CSV no tiene un registro de encabezado.

A modo de CSV inferencia, el algoritmo asume que la CSV entrada no tiene la columna de etiquetas.

Formato de entrada para los datos de entrenamiento, los datos de validación y las características categóricas

Ten cuidado con el formato de los datos de entrenamiento para introducirlos en el modelo LightGBM. Debe proporcionar la ruta a un bucket de Amazon S3 que contenga los datos de entrenamiento y de validación. También puede incluir una lista de características categóricas. Utilice los canales train y validation para proporcionar los datos de entrada. o utilice solo el canal train si lo prefiere.

nota

Ambos train training son nombres de canales válidos para Light GBM Training.

Uso de ambos canales (train y validation)

Puede proporcionar los datos de entrada mediante dos rutas S3, una para el canal train y otra para el canal validation. Cada ruta S3 puede ser un prefijo S3 que apunta a uno o más CSV archivos o una ruta S3 completa que apunta a un CSV archivo específico. Las variables de destino deben estar en la primera columna del CSV archivo. Las variables predictoras (características) deben estar en las columnas restantes. Si se proporcionan varios CSV archivos para los validation canales train o, el GBM algoritmo Light concatena los archivos. Los datos de validación se utilizan para calcular una puntuación de validación al final de cada iteración de potenciación. Hay una interrupción anticipada cuando la puntuación de validación deja de mejorar.

Si sus predictores incluyen características categóricas, puede proporcionar un JSON archivo con un nombre categorical_index.json en la misma ubicación que el archivo o los archivos de datos de entrenamiento. Si proporcionas un JSON archivo para las características categóricas, tu train canal debe apuntar a un prefijo S3 y no a un archivo específico. CSV Este archivo debe contener un diccionario de Python donde la clave sea la cadena "cat_index_list" y el valor sea una lista de enteros únicos. Cada número entero de la lista de valores debe indicar el índice de columnas de las características categóricas correspondientes del archivo de datos de entrenamiento. CSV Cada valor debe ser un entero positivo (mayor de cero, ya que cero representa el valor objetivo), menor que el Int32.MaxValue (2147483647) y menor que el número total de columnas. Solo debe haber un archivo de índice JSON categórico.

Uso del canal train exclusivamente

También puede proporcionar sus datos de entrada mediante una única ruta S3 para el canal train. Esta ruta de S3 debe apuntar a un directorio con un nombre de subdirectorio train/ que contenga uno o más CSV archivos. Si lo desea, puede incluir otro subdirectorio en la misma ubicación denominada validation/ que también tenga uno o más CSV archivos. Si no se proporcionan los datos de validación, se toma una muestra aleatoria del 20 % de los datos de entrenamiento para que ejerzan como datos de validación. Si sus predictores incluyen características categóricas, puede proporcionar un JSON archivo con un nombre categorical_index.json en la misma ubicación que los subdirectorios de datos.

nota

Para el modo de entrada de CSV entrenamiento, la memoria total disponible para el algoritmo (el recuento de instancias multiplicado por la memoria disponible en elInstanceType) debe poder almacenar el conjunto de datos de entrenamiento.

SageMaker Light GBM usa el módulo Joblib de Python para serializar o deserializar el modelo, que se puede usar para guardar o cargar el modelo.

Para usar un modelo entrenado con Light con SageMaker el módulo GBM JobLib
  • Utilice el siguiente código de Python:

    import joblib import tarfile t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = joblib.load(model_file_path) # prediction with test data # dtest should be a pandas DataFrame with column names feature_0, feature_1, ..., feature_d pred = model.predict(dtest)