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.jsonDonné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',});
}