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

TensorFlow 数据收集

示例 2 中使用的数据是一个房子对象列表,如下所示:

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

该数据集是一个 JSON 文件,存储位置在:

https://www.kaicz.com/uploads/20250704/houses.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("houses.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 章节
20 阅读
0 评论