Esempio 1 Dati


Raccolta dati TensorFlow

I dati utilizzati nell'Esempio 1 sono un elenco di oggetti auto come questo:

{
  "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"
},

Il set di dati è un file JSON archiviato in:

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


Dati di pulizia

Quando ci si prepara per l'apprendimento automatico, è sempre importante:

  • Rimuovi i dati che non ti servono
  • Pulisci i dati dagli errori

Rimuovi dati

Un modo intelligente per rimuovere i dati non necessari, per estrarre solo i dati di cui hai bisogno .

Questo può essere fatto iterando (eseguendo il ciclo) i tuoi dati con una funzione di mappa .

La funzione seguente prende un oggetto e restituisce solo xey dalle proprietà Horsepower e Miles_per_Gallon dell'oggetto:

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

Rimuovi gli errori

La maggior parte dei set di dati contiene alcuni tipi di errori.

Un modo intelligente per rimuovere gli errori consiste nell'utilizzare una funzione di filtro per filtrare gli errori.

Il codice seguente restituisce false se una delle proprietà (x o y) contiene un valore nullo:

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

Recuperando i dati

Quando hai la mappa e le funzioni di filtro pronte, puoi scrivere una funzione per recuperare i dati.

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


Tracciare i dati

Ecco del codice che puoi usare per tracciare i dati:

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