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://www.kaicz.com/uploads/20250703/carsdata.json
数据清洗(Data Cleaning)
在准备机器学习数据时,务必遵循以下两个关键原则:
- 移除不需要的数据
- 清洗数据错误
移除数据(Remove Data)
移除不需要的数据最好的办法就是只提取所需数据,这一点我们可以使用map
函数对数据进行遍历迭代提取所需字段。
以下函数接收一个对象,并仅从该对象的 Horsepower(马力)和 Miles_per_Gallon(每加仑英里数)属性中提取x
和y
值:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}
清除数据错误(Remove Errors)
大多数数据集都存在某种类型的错误,清除数据错误的智能方法是使用过滤函数筛选剔除错误数据。
以下代码会在属性(x
或y
)包含空值时返回 false:
function removeErrors(obj) {
return obj.x != null && obj.y != null;
}
获取数据(Fetching Data)
当您准备好map
和filter
函数后,就可以编写数据获取函数了。
async function runTF() {
const jsonData = await fetch("cardata.json");
let values = await jsonData.json();
values = values.map(extractData).filter(removeErrors);
}
数据可视化(Plotting the Data)
以下是可用于绘制数据的代码示例:
function tfPlot(values, surface) {
tfvis.render.scatterplot(surface,
{values:values, series:['Original','Predicted']},
{xLabel:'Horsepower', yLabel:'MPG'});
}
评论区 0
发表评论
教程介绍
机器学习是人工智能的子领域,通过算法让计算机从数据中自动学习规律,并做出预测或决策。
29
章节
39
阅读
0
评论
反馈提交成功
感谢您的反馈,我们将尽快处理您的反馈