Przykład 1 Dane


Zbieranie danych TensorFlow

Dane użyte w przykładzie 1 to lista obiektów samochodów, takich jak ta:

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

Zbiór danych to plik JSON przechowywany w:

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


Czyszczenie danych

Przygotowując się do uczenia maszynowego, zawsze ważne jest, aby:

  • Usuń dane, których nie potrzebujesz
  • Wyczyść dane z błędów

Usuń dane

Sprytny sposób na usunięcie niepotrzebnych danych, to wyodrębnienie tylko tych danych, których potrzebujesz .

Można to zrobić, iterując (przeglądając) dane za pomocą funkcji mapy .

Poniższa funkcja pobiera obiekt i zwraca tylko x i y z właściwości Horsepower i Miles_per_Gallon obiektu:

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

Usuń błędy

Większość zbiorów danych zawiera jakiś rodzaj błędów.

Sprytnym sposobem na usunięcie błędów jest użycie funkcji filtrowania w celu odfiltrowania błędów.

Poniższy kod zwraca wartość false, jeśli jedna z właściwości (x lub y) zawiera wartość pustą:

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

Pobieranie danych

Gdy masz gotowe funkcje mapy i filtrowania, możesz napisać funkcję pobierającą dane.

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


Wykreślanie danych

Oto kod, którego możesz użyć do wykreślenia danych:

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