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'});
}