Exemple 2 Données

L'exemple 2 utilise le même code source que l'exemple 1.

Mais, comme un autre jeu de données est utilisé, le code doit collecter d'autres données.

Collecte de données

Les données utilisées dans l'exemple 2 sont une liste d'objets maison :

{
"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,
},

L'ensemble de données est un fichier JSON stocké à :

https://github.com/meetnandu05/ml1/blob/master/house.json

Données de nettoyage

Lors de la préparation à l'apprentissage automatique, il est toujours important de :

  • Supprimez les données dont vous n'avez pas besoin
  • Nettoyer les données des erreurs

Supprimer les données

Un moyen intelligent de supprimer les données inutiles, c'est d'extraire uniquement les données dont vous avez besoin .

Cela peut être fait en itérant (en bouclant) vos données avec une fonction map .

La fonction ci-dessous prend un objet et renvoie uniquement x et y à partir des propriétés Horsepower et Miles_per_Gallon de l'objet :

function extractData(obj) {
  return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}

Supprimer les erreurs

La plupart des ensembles de données contiennent un certain type d'erreurs.

Une façon intelligente de supprimer les erreurs consiste à utiliser une fonction de filtrage pour filtrer les erreurs.

Le code ci-dessous renvoie false si l'une des propriétés (x ou y) contient une valeur nulle :

function removeErrors(obj) {
  return obj.x != null && obj.y != null;
}

Récupération des données

Lorsque vos fonctions de carte et de filtre sont prêtes, vous pouvez écrire une fonction pour récupérer les données.

async function runTF() {
  const jsonData = await fetch("cardata.json");
  let values = await jsonData.json();
  values = values.map(extractData).filter(removeErrors);
}


Tracer les données

Voici un code que vous pouvez utiliser pour tracer les données :

function tfPlot(values, surface) {
  tfvis.render.scatterplot(surface,
    {values:values, series:['Original','Predicted']},
    {xLabel:'Rooms', yLabel:'Price',});
}