Esempio 2 Dati

L'esempio 2 utilizza lo stesso codice sorgente dell'esempio 1.

Tuttavia, poiché viene utilizzato un altro set di dati, il codice deve raccogliere altri dati.

Raccolta dati

I dati utilizzati nell'Esempio 2 sono un elenco di oggetti casa:

{
"Avg. Area Income": 79545.45857,
"Avg. Area House Age": 5.682861322,
"Avg. AreaNumberofRooms": 7.009188143,
"Avg. Area Number of Bedrooms": 4.09,
"Area Population": 23086.8005,
"Price": 1059033.558,
},
{
"Avg. Area Income": 79248.64245,
"Avg. Area House Age": 6.002899808,
"Avg. AreaNumberofRooms": 6.730821019,
"Avg. Area Number of Bedrooms": 3.09,
"Area Population": 40173.07217,
"Price": 1505890.915,
},

Il set di dati è un file JSON archiviato in:

https://github.com/meetnandu05/ml1/blob/master/house.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:'Rooms', yLabel:'Price',});
}