Příklad 2 Data

Příklad 2 používá stejný zdrojový kód jako příklad 1.

Ale protože se používá jiná datová sada, kód musí shromažďovat jiná data.

Sběr dat

Data použitá v příkladu 2 jsou seznamem objektů domu:

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

Datová sada je soubor JSON uložený na adrese:

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

Čištění dat

Při přípravě na strojové učení je vždy důležité:

  • Odstraňte data, která nepotřebujete
  • Vyčistěte data od chyb

Odebrat data

Chytrý způsob, jak odstranit nepotřebná data, extrahovat pouze data, která potřebujete .

To lze provést iterací (smyčkou) vašich dat pomocí funkce mapy .

Níže uvedená funkce vezme objekt a vrátí pouze x a y z vlastností objektu Horsepower a Miles_per_Gallon:

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

Odstraňte chyby

Většina datových sad obsahuje nějaký typ chyb.

Chytrý způsob, jak odstranit chyby, je použít funkci filtru k odfiltrování chyb.

Níže uvedený kód vrátí hodnotu false, pokud jedna z vlastností (x nebo y) obsahuje hodnotu null:

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

Načítání dat

Když máte připravené funkce mapy a filtru, můžete napsat funkci pro načtení dat.

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


Vykreslování dat

Zde je nějaký kód, který můžete použít k vykreslení dat:

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