主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

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(每加仑英里数)属性中提取xy值:

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

清除数据错误(Remove Errors)

大多数数据集都存在某种类型的错误,清除数据错误的智能方法是使用过滤函数筛选剔除错误数据。

以下代码会在属性(xy)包含空值时返回 false:

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

获取数据(Fetching Data)

当您准备好mapfilter函数后,就可以编写数据获取函数了。

实例代码 运行代码
复制
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 评论