Örnek 2 Veri

Örnek 2, Örnek 1 ile aynı kaynak kodunu kullanır.

Ancak başka bir veri kümesi kullanıldığı için kodun başka verileri toplaması gerekir.

Veri toplama

Örnek 2'de kullanılan veriler, ev nesnelerinin bir listesidir:

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

Veri kümesi, şu konumda depolanan bir JSON dosyasıdır:

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

Verileri Temizleme

Makine öğrenimine hazırlanırken şunlar her zaman önemlidir:

  • İhtiyacınız olmayan verileri kaldırın
  • Verileri hatalardan temizleyin

Verileri Kaldır

Gereksiz verileri kaldırmanın akıllı bir yolu, yalnızca ihtiyacınız olan verileri çıkarmaktır .

Bu, verilerinizi bir harita işleviyle yineleyerek (döngü yaparak) yapılabilir .

Aşağıdaki işlev bir nesneyi alır ve nesnenin Beygir Gücü ve Miles_per_Gallon özelliklerinden yalnızca x ve y'yi döndürür:

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

Hataları Kaldır

Çoğu veri kümesi bir tür hata içerir.

Hataları ortadan kaldırmanın akıllı bir yolu, hataları filtrelemek için bir filtre işlevi kullanmaktır .

Aşağıdaki kod, özelliklerden biri (x veya y) boş bir değer içeriyorsa false döndürür:

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

Veri işleniyor

Haritanız ve filtre fonksiyonlarınız hazır olduğunda, verileri getirmek için bir fonksiyon yazabilirsiniz.

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


Verileri Çizmek

Verileri çizmek için kullanabileceğiniz bazı kodlar:

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