Dados do Exemplo 1
Coleta de dados do TensorFlow
Os dados usados no Exemplo 1 são uma lista de objetos de carro como este:
{
"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"
},
O conjunto de dados é um arquivo JSON armazenado em:
https://storage.googleapis.com/tfjs-tutorials/carsData.json
Dados de limpeza
Ao se preparar para o aprendizado de máquina, é sempre importante:
- Remova os dados que você não precisa
- Limpe os dados de erros
Remover dados
Uma maneira inteligente de remover dados desnecessários, é extrair apenas os dados que você precisa .
Isso pode ser feito iterando (fazendo um loop) seus dados com uma função de mapa .
A função abaixo pega um objeto e retorna apenas x e y das propriedades Horsepower e Miles_per_Gallon do objeto:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}
Remover erros
A maioria dos conjuntos de dados contém algum tipo de erro.
Uma maneira inteligente de remover erros é usar uma função de filtro para filtrar os erros.
O código abaixo retorna false se uma das propriedades (x ou y) contiver um valor nulo:
function removeErrors(obj) {
return obj.x != null && obj.y != null;
}
Buscando dados
Quando você tiver suas funções de mapa e filtro prontas, poderá escrever uma função para buscar os dados.
async function runTF() {
const jsonData = await fetch("cardata.json");
let values = await jsonData.json();
values = values.map(extractData).filter(removeErrors);
}
Plotando os dados
Aqui está algum código que você pode usar para plotar os dados:
function tfPlot(values, surface) {
tfvis.render.scatterplot(surface,
{values:values, series:['Original','Predicted']},
{xLabel:'Horsepower', yLabel:'MPG'});
}