Solution de classification : globale
L’API ClassificationSolution est un objet pouvant contenir des scripts utilisés dans les Intelligence prédictive magasins.
Ce L’API requiert le module d’extension Intelligence prédictive (com.glide.platform_ml) et est fournie dans l’espace de noms sn_ml .
- Créez un jeu de données à l’aide de l’API DatasetDefinition .
- Facultatif. Créez un encodeur à l’aide de l’API Encoder .
- Utilisez le constructeur pour créer un objet de solution de classification.
- Ajoutez l’objet de solution au magasin de solutions de classification à l’aide de la méthode ClassificationSolutionStore - add( ).
- Entraînez la solution à l’aide de la méthode submitTrainingJob(). Cela crée une version de l’objet que vous pouvez gérer à l’aide de l’API ClassificationSolutionVersion .
- Obtenez des prédictions à l’aide de la méthode ClassificationSolutionVersion – predict().
Pour obtenir des instructions d’utilisation, reportez-vous à la section Utilisation des API ML.
ClassificationSolution : ClassificationSolution(Object config)
Crée une solution de classification.
| Nom | Type | Description |
|---|---|---|
| configuration | Objet | Objet JavaScript contenant les propriétés de configuration de l’attribut Solution. |
| config.algorithmConfig | Objet | Objet JavaScript contenant les propriétés de configuration de l’algorithme. |
| config.algorithmConfig.algorithm | Chaîne | Méthode de codage de votre solution.
Valeurs possibles :
|
| config.algorithmConfig.targetClassRecall | Chaîne | Applique un paramètre de rappel de classe pour orienter l’entraînement d’une solution afin de biaiser une classe spécifique. Le format est « <ClassName :RecallValue> » où la valeur de rappel est un nombre compris entre 0 et 100 représentant un pourcentage. Par exemple, pour définir et appliquer ce paramètre de solution avec une précision de 90 % pour tous les enregistrements que vous formez dans la classe Email, la valeur est définie sur « Email :90 ». |
| config.dataset | Objet | Nom DatasetDefinition . |
| config.domainName | Chaîne | Facultatif. Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive. Par défaut : domaine actuel, par exemple, |
| config.encoder | Objet | Facultatif. Objet de codeur formé à affecter à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet). |
| config.groupByFieldName | Chaîne | Facultatif. Nom de champ par lequel le système regroupe les enregistrements afin de créer des solutions de classification. Pour plus d’informations sur l’utilisation, reportez-vous à la rubrique Utilisation de Grouper par pour la classification. |
| config.inputFieldNames | Tableau | Liste des noms des champs d’entrée sous forme de chaînes. Le modèle utilise ces champs utilisés pour effectuer des prédictions. |
| config.label | Chaîne | Identifie la tâche de prédiction. |
| config.minRowCount | Chaîne | Facultatif. Nombre minimum d’enregistrements requis dans le jeu de données pour la formation. Par défaut : 10 000 |
| config.predictedFieldName | Chaîne | Identifie un champ à former pour la prévisibilité. |
| config.processingLanguage | Chaîne | Facultatif. Langue de traitement au format de code de langue ISO 639-1 à deux lettres. Valeur par défaut : « en » |
| config.mots vides | Tableau | Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés. Valeur par défaut : mots vides en anglais |
| config.trainingFrequency | Chaîne | Fréquence de reformation du modèle.
Valeurs possibles :
|
L’exemple suivant montre comment créer un objet et l’ajouter à la propriété Magasin ClassificationSolution.
var myData = new sn_ml.DatasetDefinition(
{
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'fieldDetails' : [
{
'name' : 'category',
'type' : 'nominal'
},
{
'name' : 'short_description',
'type' : 'text'
}],
'encodedQuery' : 'activeANYTHING'
});
var mySolution = new sn_ml.ClassificationSolution({
'label': "my solution definition",
'dataset' : myData,
'predictedFieldName' : 'category',
'inputFieldNames': ['short_description']
});
var myClassificationName = sn_ml.ClassificationSolutionStore.add(mySolution);
ClassificationSolution : cancelTrainingJob()
Annule une tâche pour un objet de solution qui a été soumis pour une formation.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment annuler une tâche de formation existante.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification');
mySolution.cancelTrainingJob();
SolutionClassificationSolution : getActiveVersion()
Obtient l’élément actif Objet ClassificationSolutionVersion.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Objet ClassificationSolutionVersion actif. |
L’exemple suivant montre comment obtenir une version active Solution de classification à partir du Store et renvoyer son état de formation.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
Solution de classification : getAllVersions()
Obtient toutes les versions de une solution de classification.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Versions existantes d’un objet de solution. Voir aussi Version de la solution de classification API. |
L’exemple suivant montre comment obtenir tous les objets de version ClassificationSolution et y appeler les méthodes de version de solution getVersionNumber() et getStatus().
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
var mlSolutionVersions = mlSolution.getAllVersions();
for (i = 0; i < mlSolutionVersions.length; i++) {
gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");
};
Sortie :
Version 3 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
Version 2 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
Version 1 Status: {"state":"solution_cancelled","percentComplete":"0","hasJobEnded":"true"}
SolutionClassificationSolution : getLatestVersion()
Obtient la dernière version de une solution.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | ClassificationSolutionVersion Objet correspondant à la dernière version de a ClassificationSolution(). |
L’exemple suivant montre comment obtenir la dernière version d’une solution et renvoyer son état de formation.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
SolutionClassification : getName()
Obtient le nom de l’objet à utiliser pour interagir avec le magasin.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de l’objet de solution. |
L’exemple suivant montre comment mettre à jour Solution de classification les informations d’un jeu de données et imprimer le nom de l’objet.
// Update solution
var myIncidentData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'encodedQuery' : 'activeANYTHING'
});
var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('classification'));
var myClassification = new sn_ml.ClassificationSolution({
'label': "my classification solution",
'dataset' : myIncidentData,
'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
'predictedFieldName': 'category'
});
// update solution
sn_ml.ClassificationSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myClassification);
// print solution name
gs.print('Solution Name: '+myClassification.getName());
Sortie :
Solution Name: ml_x_snc_global_global_my_solution_definition_4
SolutionClassification : getProperties()
Obtient les propriétés de l’objet de solution.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Contenu du jeu de données et détails de l’objet ClassificationSolution() dans le ClassificationSolutionStore. |
| <Object>.algorithmConfig | Méthode de codage de la solution. Type de données : objet. |
| <Object>.algorithmConfig.algorithm | Nom de l’algorithme de codage pour la formation de cette solution. Valeurs possibles :
Type de données : chaîne. |
| <Object>.algorithmConfig.targetClassRecall | Paramètre de rappel de classe pour orienter l’entraînement d’une solution afin de biaiser une classe spécifique. La valeur de rappel est un nombre compris entre 0 et 100 représentant un pourcentage. Type de données : chaîne |
| <Object>.datasetProperties | Répertorie les propriétés de l’objet DatasetDefinition() associé à la solution.
Type de données : objet. |
| <Object>.datasetProperties.tableName | Nom de la table pour le jeu de données. Par exemple, « tableName » : « Incident ». Type de données : chaîne. |
| <Object>.datasetProperties.fieldNames | Liste de noms de champs de la table spécifiée en tant que chaînes. Par exemple, « fieldNames » : ["short_description », « priority"]. Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails | Liste des objets JavaScript qui spécifient les propriétés des champs.
Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>. Nom | Nom du champ définissant le type d’informations auquel restreindre cet ensemble de données. Type de données : chaîne. |
| <Object>.datasetProperties.fieldDetails.<object>. Type | Type de champ d’apprentissage machine. Type de données : chaîne. |
| <Object>.datasetProperties.fieldDetails.encodedQuery | Chaîne de requête codée au format Glide standard. Reportez-vous à la section Chaînes de requêtes codées. Type de données : chaîne. |
| <Object>.Domainname | Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive. Type de données : chaîne. |
| <Object>.Encodeur | Objet codeur affecté à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet). Type de données : objet. |
| <Object>.groupByFieldName | Nom de champ par lequel le système regroupe les enregistrements afin de créer des solutions de classification. Type de données : chaîne |
| <Object>.inputFieldNames | Liste des noms des champs d’entrée sous forme de chaînes. Le modèle utilise ces champs utilisés pour effectuer des prédictions. Type de données : chaîne. |
| <Object>.Étiquette | Identifie la tâche de prédiction.
Type de données : chaîne. |
| <Object>.Nom | Nom affecté par le système. Type de données : chaîne. |
| <Object>.predictedFieldName | Identifie un champ à former pour la prévisibilité. Type de données : chaîne. |
| <Object>.processingLanguage | Langue de traitement au format de code de langue ISO 639-1 à deux lettres. Type de données : chaîne. |
| <Object>.Portée | Périmètre de l’objet. Actuellement, la seule valeur valide est globale.Type de données : chaîne |
| <Object>.mots vides | Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés. Type de données : tableau. |
| <Object>.trainingFrequency | Fréquence de reformation du modèle. Valeurs possibles :
Type de données : chaîne. |
L’exemple suivant obtient les propriétés d’un objet solutiondans le magasin.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification_solution');
gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
*** Script: {
"datasetProperties": {
"tableName": "incident",
"fieldNames": [
"category",
"short_description",
"priority",
"assignment_group.name"
],
"fieldDetails": [
{
"name": "category",
"type": "nominal"
},
{
"name": "short_description",
"type": "text"
}
]
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"label": "my solution definition",
"name": "ml_x_snc_global_global_my_solution_definition_26",
"predictedFieldName": "category",
"processingLanguage": "en",
"scope": "global",
"stopwords": [
"Default English Stopwords"
],
"trainingFrequency": "run_once"
}ClassificationSolution : getVersion(version de chaîne)
Obtient une solution par le numéro de version fourni.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Numéro de version existant d’une solution. |
| Type | Description |
|---|---|
| Objet | Version spécifiée de l’objet ClassificationSolution() sur lequel vous pouvez appeler les méthodes de l’API ClassificationSolutionVersion . |
L’exemple suivant montre comment obtenir l’état de formation d’une solution par numéro de version.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution : setActiveVersion(version de chaîne)
Active une version spécifiée d’une solution dans le magasin.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Nom de la version de l’objet ClassificationSolution() à activer. L’activation de cette version désactive toute autre version. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment activer une version de solution dans le magasin.
sn_ml.ClassificationSolution.setActiveVersion("ml_incident_categorization");
ClassificationSolution : submitTrainingJob()
Soumet une tâche de formation.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | ClassificationSolutionVersion Objet correspondant à l’objet ClassificationSolution de formation. |
L’exemple suivant montre comment créer un jeu de données, l’appliquer à une solution, ajouter la solution à un magasin et soumettre la tâche de formation.
// Create a dataset
var myData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['assignment_group', 'short_description', 'description'],
'encodedQuery' : 'activeANYTHING'
});
// Create a solution
var mySolution = new sn_ml.ClassificationSolution({
'label': "my solution definition",
'dataset' : myData,
'predictedFieldName' : 'assignment_group',
'inputFieldNames':['short_description']
});
// Add the solution to the store to later be able to retrieve it.
var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);
// Train the solution - this is a long running job
var myClassifierVersion = mySolution.submitTrainingJob();