ClassificationSolution : globale
L’API ClassificationSolution est un objet pouvant contenir des scripts et utilisé dans les Intelligence prédictive magasins.
Ce L’API nécessite 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().
- Formez 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 .
- Obtenir des prédictions à l’aide de la méthode ClassificationSolutionVersion – predict().
Pour obtenir des instructions d’utilisation, consultez 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 la solution. |
| config.algorithmConfig | Objet | Objet JavaScript contenant les propriétés de configuration de l’algorithme. |
| config.algorithmConfig.algorithm | Chaîne | Méthode d’encodage 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 de DatasetDefinition . |
| config.domainName | Chaîne | Facultatif. Nom du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive. Par défaut : domaine actuel, par exemple, |
| config.encoder | Objet | Facultatif. Objet d’encodeur 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 pour 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 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 l’ensemble de données pour la formation. Par défaut : 10 000 |
| config.predictedFieldName | Chaîne | Identifie un champ à former pour des raisons de prévisibilité. |
| config.processingLanguage | Chaîne | Facultatif. Traitement du langage au format de code de langue ISO 639-1 à deux lettres. 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, reportez-vous à la section Créer une liste de mots vides personnalisés. 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 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 |
|---|---|
| Aucun |
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();
ClassificationSolution : getActiveVersion()
Obtient l’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 magasin 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"
}
ClassificationSolution : 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 également ClassificationSolutionVersion API. |
L’exemple suivant montre comment obtenir tous les objets de version ClassificationSolution et appeler les méthodes de version de solution getVersionNumber() et getStatus() sur eux.
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"}
ClassificationSolution : 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"
}
ClassificationSolution : getName()
Obtient le nom de l’objet à utiliser pour l’interaction 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 du 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
ClassificationSolution : getProperties()
Obtient les propriétés de l’objet de solution.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Contenu des détails de l’ensemble de données et de l’objet ClassificationSolution() dans 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 qui représente un pourcentage. Type de données : chaîne |
| <Object>.datasetProperties (en anglais seulement) | 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 l’ensemble de données. Par exemple, « tableName » : « Incident ». Type de données : chaîne. |
| <Object>.datasetProperties.fieldNames | Liste des 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 du champ.
Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>. nom | Nom du champ définissant le type d’informations auquel limiter 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 du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive. Type de données : chaîne. |
| <Object>.codeur | Objet encodeur 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 pour 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 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 des raisons de prévisibilité. Type de données : chaîne. |
| <Object>.processingLanguage | Traitement du langage 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 global.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, reportez-vous à la section 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 numéro de version fourni.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Numéro de version existante d’une solution. |
| Type | Description |
|---|---|
| Objet | Version spécifiée de l’objet ClassificationSolution() sur lequel vous pouvez appeler les méthodes d’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 toutes les autres versions. |
| Type | Description |
|---|---|
| Aucun |
L’exemple suivant montre comment activer une version de solution dans le Store.
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 d’entraînement ClassificationSolution . |
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();