Función Tensorflow.js tf.data.csv()

Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.

La función tf.data.csv() se usa para crear un conjunto de datos CSV leyendo y decodificando archivos CSV desde la URL proporcionada o la ruta local.

Sintaxis: 

tf.data.csv(source, csvConfig);

Parámetros: este método acepta los siguientes dos parámetros.

  • fuente: Es una URL o ruta local para obtener un archivo CSV.
  • csv-Config: es un objeto CSV-Config que contiene configuraciones de lectura y decodificación de archivos CSV y es un argumento opcional que tiene las siguientes propiedades.
    • hasHeader: se utiliza para indicar si la primera fila del archivo CSV proporcionado es una línea de encabezado con nombres de columna y no debe incluirse en los datos.
    • columnNames: se utiliza para indicar una lista de strings que corresponde al nombre de la columna CSV.
    • columnConfigs: un dictado cuya clave son los nombres de las columnas, los valores son un objeto que indica si esta columna es obligatoria, el valor predeterminado del tipo de datos de la columna y si esta columna es la etiqueta. Tiene las siguientes claves:
      • requerido: se utiliza para hacer que el valor de esta columna sea obligatorio si se establece en verdadero.
      • dtype: se utiliza para indicar el tipo de datos de esta columna.
      • Predeterminado: se utiliza para indicar el valor predeterminado de esta columna.
      • IsLabel: Se utiliza para indicar si esta columna es etiqueta en lugar de características o no.
      • configureColumnsOnly: solo las columnas proporcionadas en columnconfigs se analizarán y proporcionarán durante la iteración si se establece en verdadero.
      • delimitador: se utiliza para indicar la string utilizada para analizar cada línea del archivo de entrada.
      • delimWhitespace: es cierto, el campo delimitador debe ser nulo, el delimitador de análisis es un espacio en blanco y tratar múltiples espacios en blanco continuos como un delimitador.

Valor devuelto: Devuelve el objeto tf.data.CSVDataset.

Ejemplo 1: en este ejemplo, crearemos un conjunto de datos leyendo y decodificando los archivos CSV al proporcionar una URL y una sola columna predicada del conjunto de datos.

Javascript

// Requiring module
const tf = require("@tensorflow/tfjs")
 
// Sample CSV data link
const csvUrl = `https://storage.googleapis.com/tfjs-examples/
multivariate-linear-regression/data/boston-housing-train.csv`;
 
async function predicateSingleColumn() {
    // We want to predict single column "indus".
    const list = ['crim', 'zn', 'indus',
        'chas', 'nox', 'rm',
        'age', 'dis', 'rad',
        'tax', 'ptratio',
        'lstat', 'medv'];
    const csvDataset = tf.data.csv(
        csvUrl, {
        hasHeader: true,
        columnNames: list,
        columnConfigs: {
            indus: {
                isLabel: true
            }
        },
        configuredColumnsOnly: true,
        delimWhitspace: true
    });
    console.log(csvDataset)
}
 
// Function call
predicateSingleColumn();

Producción: 

CSVDataset {
  size: null,
  input: URLDataSource {
    url: 'https://storage.googleapis.com/tfjs-examples/\n' +
      'multivariate-linear-regression/data/boston-housing-train.csv',
    fileOptions: {}
  },
  hasHeader: true,
  fullColumnNames: [
    'crim',    'zn',
    'indus',   'chas',
    'nox',     'rm',
    'age',     'dis',
    'rad',     'tax',
    'ptratio', 'lstat',
    'medv'
  ],
  columnNamesValidated: false,
  columnConfigs: { indus: { isLabel: true } },
  configuredColumnsOnly: undefined,
  delimiter: ',',
  delimWhitespace: false,
  base: TextLineDataset {
    size: null,
    input: URLDataSource {
      url: 'https://storage.googleapis.com/tfjs-examples/\n' +
        'multivariate-linear-regression/data/boston-housing-train.csv',
      fileOptions: {}
    }
  }
}

Ejemplo 2: en este ejemplo, crearemos un conjunto de datos leyendo y decodificando los archivos CSV al proporcionar URL y predicar varias columnas del conjunto de datos.

Javascript

// Requiring module
const tf = require("@tensorflow/tfjs")
 
// Sample CSV data link
const csvUrl = `https://storage.googleapis.com/tfjs-examples/
multivariate-linear-regression/data/boston-housing-train.csv`;
 
async function predicateMultipleColumns() {
    // We want to predict the multiple column.
    const list = ['crim', 'zn', 'indus',
        'chas', 'nox', 'rm',
        'age', 'dis', 'rad',
        'tax', 'ptratio',
        'lstat', 'medv'];
    const csvDataset = tf.data.csv(
        csvUrl, {
        hasHeader: true,
        columnNames: list,
        columnConfigs: {
            indus: {
                isLabel: true
            },
            rad: {
                isLabel: true
            },
            ram: {
                isLabel: true
            }
        },
        configuredColumnsOnly: true,
        delimWhitspace: true
    });
    console.log(csvDataset)
}
 
// Function call
predicateMultipleColumns();

Producción: 

CSVDataset {
  size: null,
  input: URLDataSource {
    url: 'https://storage.googleapis.com/tfjs-examples/\n' +
      'multivariate-linear-regression/data/boston-housing-train.csv',
    fileOptions: {}
  },
  hasHeader: true,
  fullColumnNames: [
    'crim',    'zn',
    'indus',   'chas',
    'nox',     'rm',
    'age',     'dis',
    'rad',     'tax',
    'ptratio', 'lstat',
    'medv'
  ],
  columnNamesValidated: false,
  columnConfigs: {
    indus: { isLabel: true },
    rad: { isLabel: true },
    ram: { isLabel: true }
  },
  configuredColumnsOnly: undefined,
  delimiter: ',',
  delimWhitespace: false,
  base: TextLineDataset {
    size: null,
    input: URLDataSource {
      url: 'https://storage.googleapis.com/tfjs-examples/\n' +
        'multivariate-linear-regression/data/boston-housing-train.csv',
      fileOptions: {}
    }
  }
}

Referencia: https://js.tensorflow.org/api/latest/#data.csv

Publicación traducida automáticamente

Artículo escrito por satyam00so 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 *