Ejemplo 2 Datos
El ejemplo 2 usa el mismo código fuente que el ejemplo 1.
Pero, debido a que se usa otro conjunto de datos, el código debe recopilar otros datos.
Recopilación de datos
Los datos utilizados en el Ejemplo 2 son una lista de objetos de la casa:
{
"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,
},
El conjunto de datos es un archivo JSON almacenado en:
https://github.com/meetnandu05/ml1/blob/master/house.jsonLimpieza de datos
Al prepararse para el aprendizaje automático, siempre es importante:
- Elimina los datos que no necesitas
- Limpiar los datos de errores
Eliminar datos
Una forma inteligente de eliminar datos innecesarios es extraer solo los datos que necesita .
Esto se puede hacer iterando (recorriendo) sus datos con una función de mapa .
La siguiente función toma un objeto y devuelve solo x e y de las propiedades Horsepower y Miles_per_Gallon del objeto:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}
Eliminar errores
La mayoría de los conjuntos de datos contienen algún tipo de error.
Una forma inteligente de eliminar errores es usar una función de filtro para filtrar los errores.
El siguiente código devuelve falso si una de las propiedades (x o y) contiene un valor nulo:
function removeErrors(obj) {
return obj.x != null && obj.y != null;
}
Recuperacion de datos
Cuando tenga listas las funciones de mapa y filtro, puede escribir una función para obtener los datos.
async function runTF() {
const jsonData = await fetch("cardata.json");
let values = await jsonData.json();
values = values.map(extractData).filter(removeErrors);
}
Trazar los datos
Aquí hay un código que puede usar para trazar los datos:
function tfPlot(values, surface) {
tfvis.render.scatterplot(surface,
{values:values, series:['Original','Predicted']},
{xLabel:'Rooms', yLabel:'Price',});
}