Beispiel 2 Daten

Beispiel 2 verwendet denselben Quellcode wie Beispiel 1.

Da jedoch ein anderer Datensatz verwendet wird, muss der Code andere Daten erfassen.

Datensammlung

Die in Beispiel 2 verwendeten Daten sind eine Liste von Hausobjekten:

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

Der Datensatz ist eine JSON-Datei, gespeichert unter:

https://github.com/meetnandu05/ml1/blob/master/house.json

Daten bereinigen

Bei der Vorbereitung auf maschinelles Lernen ist es immer wichtig:

  • Entfernen Sie die Daten, die Sie nicht benötigen
  • Bereinigen Sie die Daten von Fehlern

Daten entfernen

Eine clevere Möglichkeit, unnötige Daten zu entfernen, um nur die Daten zu extrahieren, die Sie benötigen .

Dies kann durch Iterieren (Überschleifen) Ihrer Daten mit einer Kartenfunktion erfolgen .

Die folgende Funktion nimmt ein Objekt und gibt nur x und y aus den Eigenschaften Horsepower und Miles_per_Gallon des Objekts zurück:

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

Fehler entfernen

Die meisten Datensätze enthalten irgendeine Art von Fehlern.

Eine clevere Möglichkeit, Fehler zu entfernen, besteht darin, eine Filterfunktion zu verwenden, um die Fehler herauszufiltern.

Der folgende Code gibt false zurück, wenn eine der Eigenschaften (x oder y) einen Nullwert enthält:

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

Abrufen von Daten

Wenn Sie Ihre Karten- und Filterfunktionen bereit haben, können Sie eine Funktion schreiben, um die Daten abzurufen.

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


Plotten der Daten

Hier ist ein Code, den Sie verwenden können, um die Daten zu zeichnen:

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