tensorflowjs (5)
2019-07-16 本文已影响23人
zidea
MachineLearninginMarketing
图
今天示例来自 google 官方提供示例,通过学习官方示例我们可以结合自己工作生活中数据做一些小示例来学习机器学习
完成此练习你能够学到什么
- 如何通过对数据洗牌和规范(将数据正态分布)来准备数据
- 使用 tf.layers API.
来创建模型,从而来熟悉 TensorFlow.js 语法 - 在浏览器中,使用 tfjs-vis library 来可视化训练的全工作
依赖所需依赖
<body>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"> </script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-vis"></script>
<script src="app.js"></script>
</body>
- tf是对 tensorflow.js 库的引用
- tfvis是对ftjs-vis库的引用
async function getData() {
const carsDataReq = await fetch('https://storage.googleapis.com/tfjs-tutorials/carsData.json');
const carsData = await carsDataReq.json();
const cleaned = carsData.map(car => ({
mpg: car.Miles_per_Gallon,
horsepower: car.Horsepower,
}))
.filter(car => (car.mpg != null && car.horsepower != null));
return cleaned;
}
首先需要加载数据、并对数据格式化(进行预处理)和可视化要用于训练模型的数据。
可以从服务端获取 JSON 文件中加载“cars”数据集。数据集中包含了关于每辆给定汽车的许多特性。然后提取有关Horsepower和Miles_per_Gallon 的数据作为训练数据。
async function run() {
// 加载并绘制我们将对其进行训练的数据
const data = await getData();
const values = data.map(d => ({
x: d.horsepower,
y: d.mpg,
}));
tfvis.render.scatterplot(
{name: 'Horsepower v MPG'},
{values},
{
xLabel: 'Horsepower',
yLabel: 'MPG',
height: 300
}
);
}
document.addEventListener('DOMContentLoaded', run);
通过 map 来获得我们要进行训练的特性,通过 tfvis 将数据绘制成散点图。
图
async function getData() {
const carsDataReq = await fetch('https://storage.googleapis.com/tfjs-tutorials/carsData.json');
const carsData = await carsDataReq.json();
const cleaned = carsData.map(car => ({
mpg: car.Miles_per_Gallon,
horsepower: car.Horsepower,
}))
.filter(car => (car.mpg != null && car.horsepower != null));
return cleaned;
}
async function run() {
// 加载并绘制我们将对其进行训练的数据
const data = await getData();
const values = data.map(d => ({
x: d.horsepower,
y: d.mpg,
}));
tfvis.render.scatterplot(
{name: 'Horsepower v MPG'},
{values},
{
xLabel: 'Horsepower',
yLabel: 'MPG',
height: 300
}
);
}
document.addEventListener('DOMContentLoaded', run);