示例 1 数据

TensorFlow 数据收集

示例 1 中使用的数据是这样的汽车对象列表:

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

数据集是存储在以下位置的 JSON 文件:

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


清理数据

在准备机器学习时,始终重要的是:

  • 删除不需要的数据
  • 清除错误数据

删除数据

一种删除不必要数据的聪明方法,它只提取您需要的数据

这可以通过使用 map 函数迭代(循环)您的数据来完成。

下面的函数接受一个对象,并从对象的马力和 Miles_per_Gallon 属性中返回仅 x 和 y

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


删除错误

大多数数据集都包含某种类型的错误。

消除错误的一种聪明方法是使用过滤功能来过滤掉错误。

如果属性(x 或 y)中的一个包含空值,则以下代码返回 false:

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

获取数据

当您准备好地图和过滤器功能后,您可以编写一个函数来获取数据。

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

亲自试一试 »


绘制数据

这里有一些代码可以用来绘制数据:

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

亲自试一试 »