Volver a la página principal
miércoles 18 diciembre 2024
2

Cómo usar mlpack::data::Load y mlpack::data::Save en C++

Las funciones mlpack::data::Load y mlpack::data::Save son herramientas fundamentales en la biblioteca mlpack para gestionar la entrada y salida de datos. Estas funciones permiten cargar y guardar conjuntos de datos en múltiples formatos, como CSV, TSV, binarios y más, facilitando el trabajo con modelos de aprendizaje automático.

Descripción general de mlpack::data::Load

La función mlpack::data::Load permite cargar datos desde archivos en una matriz arma::mat o en otro formato soportado por la biblioteca.

Sintaxis básica

#include <mlpack/core.hpp>
using namespace mlpack;

arma::mat dataset;
data::Load("archivo.csv", dataset, true); // true para datos transpuestos
Parámetro Tipo Descripción
filename std::string Ruta al archivo a cargar.
matrix arma::mat Objeto donde se almacenan los datos cargados.
transpose bool Indica si las columnas del archivo representan características (true) o muestras (false).

Descripción general de mlpack::data::Save

La función mlpack::data::Save se utiliza para guardar datos desde una matriz u otro objeto en un archivo en el formato especificado.

Sintaxis básica

#include <mlpack/core.hpp>
using namespace mlpack;

arma::mat dataset;
// Rellenar 'dataset' con datos
data::Save("resultado.csv", dataset, true); // true para guardar transpuesto
Parámetro Tipo Descripción
filename std::string Ruta donde se guardarán los datos.
matrix arma::mat Objeto que contiene los datos a guardar.
transpose bool Indica si las columnas del archivo representan características (true) o muestras (false).

Ejemplo práctico: Carga y guardado de datos

Cargar y mostrar un archivo CSV

#include <mlpack/core.hpp>
#include <iostream>

using namespace mlpack;

int main()
{
    arma::mat data;

    // Cargar datos desde un archivo CSV.
    if (!data::Load("datos.csv", data, true))
    {
        std::cerr << "Error al cargar el archivo." << std::endl;
        return -1;
    }

    // Mostrar los primeros cinco datos.
    std::cout << "Primeros 5 datos: " << std::endl << data.cols(0, 4) << std::endl;

    return 0;
}

Modificar y guardar los datos

#include <mlpack/core.hpp>
#include <iostream>

using namespace mlpack;

int main()
{
    arma::mat data;

    // Cargar datos desde un archivo CSV.
    data::Load("datos.csv", data, true);

    // Realizar una transformación (normalización por ejemplo).
    data /= arma::max(data);

    // Guardar los datos normalizados en un nuevo archivo.
    if (!data::Save("datos_normalizados.csv", data, true))
    {
        std::cerr << "Error al guardar el archivo." << std::endl;
        return -1;
    }

    std::cout << "Archivo guardado exitosamente." << std::endl;

    return 0;
}

Tabla de formatos soportados

Formato Extensión Compatible con Load Compatible con Save
CSV .csv ✔️ ✔️
TSV .tsv ✔️ ✔️
Binario .bin ✔️ ✔️
ARFF .arff ✔️ ✔️
PGM .pgm ✔️ ✔️

Errores comunes

1. Error al cargar archivos: Verifica que el archivo existe y que el formato sea válido.

2. Dimensiones incorrectas: Si los datos no están en el formato esperado, ajusta el parámetro transpose.

Referencias

Consulta la documentación oficial de mlpack para más detalles sobre las funciones mlpack::data::Load y mlpack::data::Save.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer