示例 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
在准备机器学习时,以下几点始终很重要:
删除不必要数据的明智方法是提取仅您需要的数据。
这可以通过使用迭代(循环)您的数据来完成地图功能。
下面的函数接受一个对象并返回只有 x 和 y从对象的 Horsepower 和 Miles_per_Gallon 属性:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}
大多数数据集都包含某种类型的错误。
消除错误的一个聪明方法是使用过滤功能来过滤掉错误。
如果其中一个属性(x 或 y)包含 null 值,下面的代码将返回 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'});
}
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!