-
Notifications
You must be signed in to change notification settings - Fork 2
Prototype API
Envoie un nouveau dataset au format CSV.
Récupère la liste des datasets.
["titanic.csv", "bad_columns.csv", "iris.csv", "test.csv"]
Récupère les informations sur le datasets, comme la liste des configs ou la liste des colonnes
{
"columns": ["column1", "column2", "column3"],
"configs": ["600465fe160c3c5beeba568c"],
"name": "dataset.csv",
"size": 3249
}
Lint une config envoyée dans le body, au lieu de lint une config déjà enregistrée dans la base de données.
Voir la route GET /config/{id}/lint
pour plus d'informations.
Renvoie la visualisation du dataset générée par Sweetviz, sous forme de page HTML.
Supprime un dataset et toute ses données associées (configs, modèles).
Ajoute une nouvelle config.
Le body est un objet JSON contenant trois clés:
-
columns
: Un object spécifiant pour chaque nom de colonne, si la colonne est activée ou non. Une colonne désactivée ne sera pas utilisée dans les modèles créés à partir de cette config. -
label
: La colonne que l'on souhaite prédire grâce à nos modèles. -
model_type
: Le type de modèle correspondant au problème. Le type peut êtreclassification
ouregression
pour l'instant. Par exemple si l'on souhaite prédire une valeur continue on utiliseraregression
, et si l'on souhaite classer une donnée dans un nombre fixe de catégories précises, on utiliseclassification
.
{
"columns": {
"column1": true,
"column2": false,
"column3": true
},
"label": "column3",
"model_type": "classification"
}
Le type de modèle à entraîner peut être défini grâce à la propriété model_type
. Pour l'instant le type de modèle peut être soit classification
, soit regression
.
Récupère les informations sur la config
{
"columns": {
"column1": true,
"column2": false,
"column3": true
},
"id": "60196f7d2dec24ae0bda7e53",
"label": "column3",
"model_type": "classification",
"models": [
"60196fc82dec24ae0bda7e54",
"60196fc92dec24ae0bda7e55",
"60196fca2dec24ae0bda7e56"
]
}
Récupère des conseils sur les colonnes à enlever et pourquoi les enlever.
Renvoie une liste de tableau par colonnes :
Index 0 : La description du conseil
Index 1 : Le lien d'information du conseil (le conseil peux ne pas avoir de lien. Exemple : le conseil indiquant que toutes les valeurs sont les mêmes)
Index 2 : True = test négatif (malus), False = test positif (bonus)
{
"lints": {
"COLUMN_1": [
["Lint 1 description", "link.com", true],
["Lint 2 description", "link.com", false],
["Lint 3 description", "", true]
],
"OTHER_COLUMN": [
["Lint 1 description", "link.com", false],
["Lint 2 description", "", true],
["Lint 3 description", "link.com", true]
]
}
}
Renvoie la visualisation du dataset générée par Sweetviz, sous forme de page HTML.
Cette visualisation prend en compte le label
de la config.
Supprime la config.
Crée un nouveau modèle.
Le body contient un objet JSON dont les clés seront fournies à TPOT à la création du modèle. Toutes les clés ont une valeur par défaut et peuvent ne pas être présentes. Les clés suivantes sont acceptées :
generations
population_size
offspring_size
mutation_rate
crossover_rate
scoring
subsample
config_dict
template
early_stop
Pour plus d'information sur leur utilité et leur signification, référez vous à la documentation de TPOT.
{
"generations": 1,
"population_size": 10
}
Récupère les informations sur le modèle
{
"id": "60196fca2dec24ae0bda7e56",
"model_config": {
"generations": 1,
"population_size": 10
},
"status": "not started",
"analysis": {
"f1_score": 0.9407407407407407,
"testing_accuracy": 0.9333333333333333,
"training_accuracy": 0.9583333333333334
}
}
Lance l'entraînement d'un modèle.
Récupère l'état actuel de l'entraînement du modèle
Le résultat est un objet json contenant les propriétés suivantes:
-
status
:not started
|starting
|started
|exporting
|done
|error
-
logs
: contient les logs affichés par TPOT dans la console s'ils sont disponibles
Récupère le fichier python généré par TPOT correspondant à la meilleure pipeline
Récupère un graphique de la matrice de confusion, une fois que le modèle a été entrainé.
Prédit des valeurs en utilisant le modèle créé par TPOT.
Le body doit contenir les valeurs des différentes colonnes d'entrée du modèle, tel que spécifié dans la config.
La réponse est un objet JSON contenant une unique entrée, le nom de la colonne prédite et sa valeur.
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": "Bonjour"
},
{
"column_3": 42,
"column_4": "Bonsoir"
}
]
Et on recevra :
[
{
"column_1": 42
},
{
"column_1": 24
}
]
Supprime le modèle.