Skip to content

Prototype API

Ersikan edited this page Jan 13, 2021 · 17 revisions

API proto

actions nécessaires

  • Voir le dataset
  • Préciser le label
  • Créer un modèle
  • Voir le résultat du modèle

/dataset

POST /dataset

Envoie un nouveau dataset

GET /dataset

Récupère la liste des datasets

Config

GET /dataset/{id}/config

Récupère la liste des configs

POST /dataset/{id}/config

Ajoute une nouvelle config

POST /config/{id}/lint

Récupère des conseils sur les colonnes à enlever et pourquoi les enlever.

Renvoie une liste des lints par colonnes :

{
	"lints": {
		"COLUMN": [
			"this is the lint 1",
			"this column should not be used",
			"please disable the column",
			"this is the lint 4"
		],
		"OTHER COLUMN": [
			"this is a lint on another column"
		],
		"COLUMN WITHOUT LINTS": null
	}
}

GET /config/{id}/sweetviz

Renvoie la visualisation du dataset générée par Sweetviz.

Config format

{
	"label": "column_1"
	"columns": {
		"column_1": true,
		"column_2": false,
		"column_3": true,
		"column_4": true
	}
}

Model

POST /config/{id}/model

Crée un nouveau modèle et lance son entraînement.

Ici on rajoutera les paramètres avancés de TPOT pour plus contrôler le modèle

GET /model/{id}/status

Récupère l'état actuel de l'entraînement du modèle

status: null | starting | started | done

GET /model/{id}/export

Récupère le fichier python généré par TPOT correspondant à la meilleure pipeline

POST /model/{id}/predict

Prédit une valeur en utilisant le modèle créé par TPOT.

Le body doit contenir les valeur des différentes colonnes d'entrée du modèle.

Par exemple pour cette config, les colonnes d'entrées sont column_3 et column_4.

{
	"label": "column_1"
	"columns": {
		"column_1": true,
		"column_2": false,
		"column_3": true,
		"column_4": true
	}
}

Pour effectuer une prédiction il faut donc envoyer :

{
	"column_3": -3.14,
	"column_4": 42.42
}
Clone this wiki locally