Loading lesson path
The data used in Example 1, is a list of car objects like this:
{
"Name": "chevrolet chevelle malibu",
"Miles_per_Gallon": 18,
"Cylinders": 8,
"Displacement": 307,
"Horsepower": 130,
"Weight_in_lbs": 3504,
"Acceleration": 12,Formula
"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,Formula
"Year": "1970 - 01 - 01","Origin": "USA"
},The dataset is a JSON file stored at:
Formula
https://storage.googleapis.com/tfjs - tutorials/carsData.jsonWhen preparing for machine learning, it is always important to:
A smart way to remove unnecessary data, is to extract only the data you need. This can be done by iterating (looping over) your data with a map function. The function below takes an object and returns only x and y from the object's Horsepower and Miles_per_Gallon properties:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}Most datasets contain some type of errors. A smart way to remove errors is to use a filter function to filter out the errors. The code below returns false if one of the properties (x or y) contains a null value:
function removeErrors(obj) {
return obj.x != null && obj.y != null;
}When you have your map and filter functions ready, you can write a function to fetch the data.
async function runTF() {
const jsonData = await fetch("cardata.json");
let values = await jsonData.json();
values = values.map(extractData).filter(removeErrors);
}Here is some code you can use to plot the data:
function tfPlot(values, surface) {
tfvis.render.scatterplot(surface,
{values:values, series:['Original','Predicted']},
{xLabel:'Horsepower', yLabel:'MPG'});
}