Ejemplo 1 Datos


Recopilación de datos de TensorFlow

Los datos utilizados en el Ejemplo 1 son una lista de objetos de automóviles como este:

{
  "Name": "chevrolet chevelle malibu",
  "Miles_per_Gallon": 18,
  "Cylinders": 8,
  "Displacement": 307,
  "Horsepower": 130,
  "Weight_in_lbs": 3504,
  "Acceleration": 12,
  "Year": "1970-01-01",
  "Origin": "USA"
},
{
  "Name": "buick skylark 320",
  "Miles_per_Gallon": 15,
  "Cylinders": 8,
  "Displacement": 350,
  "Horsepower": 165,
  "Weight_in_lbs": 3693,
  "Acceleration": 11.5,
  "Year": "1970-01-01",
  "Origin": "USA"
},

El conjunto de datos es un archivo JSON almacenado en:

https://storage.googleapis.com/tfjs-tutorials/carsData.json


Limpieza de datos

Al prepararse para el aprendizaje automático, siempre es importante:

  • Elimina los datos que no necesitas
  • Limpiar los datos de errores

Eliminar datos

Una forma inteligente de eliminar datos innecesarios es extraer solo los datos que necesita .

Esto se puede hacer iterando (recorriendo) sus datos con una función de mapa .

La siguiente función toma un objeto y devuelve solo x e y de las propiedades Horsepower y Miles_per_Gallon del objeto:

function extractData(obj) {
  return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}

Eliminar errores

La mayoría de los conjuntos de datos contienen algún tipo de error.

Una forma inteligente de eliminar errores es usar una función de filtro para filtrar los errores.

El siguiente código devuelve falso si una de las propiedades (x o y) contiene un valor nulo:

function removeErrors(obj) {
  return obj.x != null && obj.y != null;
}

Recuperacion de datos

Cuando tenga listas las funciones de mapa y filtro, puede escribir una función para obtener los datos.

async function runTF() {
  const jsonData = await fetch("cardata.json");
  let values = await jsonData.json();
  values = values.map(extractData).filter(removeErrors);
}


Trazar los datos

Aquí hay un código que puede usar para trazar los datos:

function tfPlot(values, surface) {
  tfvis.render.scatterplot(surface,
    {values:values, series:['Original','Predicted']},
    {xLabel:'Horsepower', yLabel:'MPG'});
}