ClassificationSolutionVersion : global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 12 minutes de lecture
  • L’API ClassificationSolutionVersion est un objet pouvant contenir des scripts 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 .

    Cette API permet d’utiliser les versions de solution basées sur les objets d’API ClassificationSolution dans le magasin ClassificationSolution.

    Le système crée une version de solution chaque fois que vous formez une définition de solution. La plupart des versions sont créées lors d’une formation planifiée sur la solution.

    Les méthodes de cette API sont accessibles à l’aide des méthodes suivantes ClassificationSolution : global :

    ClassificationSolutionVersion : getPredictionPerformance(Options de l’objet)

    Calcule la précision et la couverture de la solution.

    Pour utiliser cette méthode, vous devez d’abord créer des paramètres à l’aide de la méthode setPredictionSettings( ).

    Tableau 1. Paramètres
    Nom Type Description
    options Objet Sélectionne une mesure à récupérer dans un intervalle de dates. Pour plus d’informations, consultez Configuration des métriques cibles.
    {
      "fromDate": "String",
      "metricName": "String",
      "toDate": "String"
    }
    options.fromDate Chaîne Facultatif. Date de début à partir de laquelle récupérer les mesures au format date/heure du système.
    options.metricName Chaîne Nom de la mesure.
    Valeurs valides :
    • precision
    • coverage
    option.toDate Chaîne Facultatif. Date de fin à partir de laquelle récupérer les mesures.

    Formnt : format date/heure du système.

    Tableau 2. Renvoie
    Type Description
    Objet Objet JavaScript analysable contenant les résultats pour la métrique d’entrée.
    {
      "metricName" : "String",
      "metricValue" : "String",
      "numberOfPredictionsConsidered" : "String"
    }
    Objet.nom_mesure Nom de la mesure sélectionnée comme entrée.

    Type de données : chaîne

    Valeur Object.metricValue Valeur de la mesure sélectionnée.

    Type de données : chaîne

    Objet.nombred’enregistrementsconsidérés Nombre d’enregistrements dans la table Résultats de prédictions [ml_predictor_results] pris en compte pour les calculs.

    Type de données : chaîne

    L’exemple suivant montre comment obtenir une valeur de précision à partir de la version active d’une solution.

    // Get precision value
    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionPerformance({"metricName": "precision"})), null, 2));

    Sortie :

    {
      "metricName": "precision",
      "metricValue": "70.10",
      "numberOfPredictionsConsidered": "10"
    }

    ClassificationSolutionVersion : getPredictionSettings()

    Obtient la précision estimée, la couverture estimée, les valeurs de rappel estimées de la table Solutions ML [ml_solution] et les enregistrements de la table Fiabilité de classe [ml_class].

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Objet Renvoie les paramètres de prédiction pour chaque classe. Les données incluent les valeurs de précision, de couverture, de rappel et de distribution de toutes les classes incluses dans le modèle formé à partir de la table Solutions ML [ml_solution]. Pour plus d’informations, consultez Composants de modèle prédictif.
    {
      "<class name>": {Object}
    }
    <Object>.<nom de classe> Données statistiques de formation de la table Fiabilité de classe [ml_class]. Pour plus d’informations, consultez Configuration des métriques cibles.

    Type de données : objet

    {
      "precision": "String",
      "coverage": "String",
      "recall": "String"
    }
    <Object>.<nom de classe>.precision Mesure de précision estimée de la solution pour cette classe.

    Type de données : chaîne (valeur numérique)

    <Object>.<nom de classe>.couverture Mesure de couverture de solution estimée pour cette classe.

    Type de données : chaîne (valeur numérique)

    <Object>.<nom de classe>.rappel Mesure estimée de rappel de solution pour cette classe.

    Type de données : chaîne (valeur numérique)

    L’exemple suivant montre comment obtenir les paramètres de prédiction d’une version de solution active.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionSettings()), null, 2));

    Sortie :

    {
      "solutionSettings": {
        "precision": "61.69",
        "coverage": "66.75",
        "recall": "57.54"
      },
      "classSettings": {
        "Approvals": {
          "precision": "100",
          "coverage": "0",
          "recall": "0"
        },
        "Authentication": {
          "precision": "38.71",
          "coverage": "98.44",
          "recall": "56.25"
        },
        "Automation": {
          "precision": "100",
          "coverage": "0",
          "recall": "0"
        }, ...

    ClassificationSolutionVersion : getProperties()

    Obtient les propriétés de l’objet de solution et numéro de version.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    Objet Contenu de l’ensemble de données et détails de la version de la solution de classification . Les résultats varient selon la configuration des propriétés d’objet.
    {
      "algorithmConfig": {
        "algorithm": "String",
        "targetClassRecall": "String"
      },
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String",   
      "inputFieldNames": [Array],
      "isActive": Boolean,
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "stopwords": [Array],
      "trainingFrequency": "String",
      "versionNumber": "Number"
    }
    <Object>.config algorithme Méthode de codage de la solution.

    Type de données : objet

    <Object>.algorithmConfig.algorithme Nom de l’algorithme de codage pour la formation de cette solution.
    Valeurs possibles :
    • xgboost: encodage XGBoost pour optimiser l’entraînement.
    • logisticRegression: Méthode utilisant le modèle de régression logistique pour les cibles catégorielles telles que nominales ou ordinales.

    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

    Répertorie les propriétés de l’objet DatasetDefinition() associé à la solution.

    Type de données : objet

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }
    <Object>.datasetProperties.tableName Nom de la table de 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 sous forme de 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 d’objets

    [
      {
        "name": "String",
        "type": "String"
      }
    ]
    <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. Voir Chaînes de requête codées.

    Type de données : chaîne

    <Object>nom .domainName Nom de 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 d’encodeur affecté à cette solution. Reportez-vous à Encodeur : encodeur (configuration 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 de champs d’entrée sous forme de chaînes. Le modèle utilise ces champs utilisés pour faire des prédictions.

    Type de données : chaîne

    <Object>.isActive Marqueur indiquant si cette version est active.
    Valeurs valides :
    • vrai : la version est active.
    • false : la version n’est pas active.

    Type de données : chaîne

    <Object>.étiquette Identifie la tâche de prédiction.
    {
      "label": "my first prediction"
    }

    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 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 paramètre de language propriété. Pour en savoir plus, consultez Créer une liste de mots vides personnalisée.

    Type de données : tableau

    <Object>.trainingFrequency Fréquence de reformation du modèle.
    Valeurs possibles :
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    Par défaut : run_once

    Type de données : chaîne

    <Object>.versionNumber Numéro de version de Objet ClassificationSolution.

    Type de données : chaîne

    L’exemple suivant obtient les propriétés de la version de l’objet actif dans le magasin.

    // Get properties
    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getProperties()), null, 2));

    Sortie :

    *** Script: {
      "datasetProperties": {
        "encodedQuery": "activeANYTHING^EQ",
        "fieldNames": [
          "short_description",
          "category"
        ],
        "tableName": "incident"
      },
      "domainName": "global",
      "inputFieldNames": [
        "short_description"
      ],
      "isActive": "true",
      "label": "Incident Categorization_Trainer",
      "name": "ml_incident_categorization",
      "predictedFieldName": "category",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "versionNumber": "1"
    }

    ClassificationSolutionVersion : getStatus(booléen includeDetails)

    Obtient l’état d’achèvement de la formation.

    Tableau 7. Paramètres
    Nom Type Description
    includeDetails Booléen Marqueur indiquant s’il faut renvoyer l’état details.
    Valeurs valides :
    • vrai : renvoyer des détails supplémentaires.
    • faux : ne renvoie pas de détails supplémentaires.

    Valeur par défaut : false

    Tableau 8. Renvoie
    Type Description
    Objet Objet JavaScript contenant des informations sur l’état de la formation pour un objet ClassificationSolution .
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.état État d’achèvement de la formation. Si la tâche de formation atteint un état terminal, la tâche ne quitte pas cet état. Si l’état est terminal, la hasJobEnded propriété est définie sur vrai.
    Valeurs possibles :
    • fetching_files_for_training
    • preparing_data
    • retry
    • solution_cancelled (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solution_incomplete
    • training_request_received
    • training_request_timed_out (terminal)
    • training_solution
    • uploading_solution
    • waiting_for_training

    Type de données : chaîne

    <Object>.hasJobEnded Marqueur indiquant si la formation est terminée.
    Valeurs valides :
    • vrai : la formation est terminée.
    • faux : la formation est incomplète.

    Type de données : valeur booléenne sous forme de chaîne

    <Object>.pourcentterminé Pourcentage d’achèvement de la formation. Si le pourcentage d’achèvement est inférieur à 100, la tâche peut être dans un état terminal. Par exemple, si la formation expire.

    Type de données : Nombre sous forme de chaîne

    Plage : 0 à 100

    <Object>.Détails Objet contenant une liste de détails supplémentaires sur la formation.

    Type de données : objet

    L’exemple suivant montre un résultat de réussite lorsque la formation est terminée.

    // Get status
    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus(true), null, 2)));

    Sortie :

    {
     "state":"solution_complete",
     "percentComplete":"100",
     "hasJobEnded":"true",
     "details":{"stepLabel":"Solution Complete"} // This information is only returned if getStatus(true);
    }

    L’exemple suivant montre un résultat d’échec lorsque la formation est terminée.

    // Get status
    var solutionName = 'ml_x_snc_global_global_classification_solution';
    var mlSolution = sn_ml.ClassificationSolutionStore.get(solutionName);
    var trainingStatus = mlSolution.getLatestVersion().getStatus();
    
    gs.print(JSON.stringify(JSON.parse(trainingStatus), null, 2));

    Sortie :

    {
     "state":"solution_error",
     "percentComplete":"100",
     "hasJobEnded":"true"
    }

    ClassificationSolutionVersion : getTrainingStatistics()

    Obtient toutes les statistiques de formation pour une solution donnée.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Objet Objet JavaScript contenant des statistiques pour chaque classe incluse dans la formation et des valeurs pour chaque classe exclue de la formation. Pour plus d’informations, consultez Composants de modèle prédictif.
    {
      "includedClasses": {Object},
      "excludedClasses": {Object}
    }
    <Object>.includedClasses Objet contenant les valeurs de précision, de couverture, de rappel et de distribution de chaque classe du modèle formé.

    Type de données : objet

    
      "includedClasses": {
        "<class name>": {
          "distribution": "String",
          "statistics": [Array]
        },
    <Object>.includedClasses.<nom de classe>.distribution Valeur de la distribution de probabilité de résultat pour cette classe.

    Type de données : chaîne

    <Object>.includedClasses.<nom de classe>.statistiques Liste des objets fournissant des données statistiques sur l’entraînement. Pour plus d’informations, consultez Configuration des métriques cibles.

    Type de données : tableau d’objets

    [
      {
        "coverage": "String",
        "precision": "String",
        "recall": "String",
        "selected": "String"
      }
    ]
    <Object>.includedClasses.<nom de classe>.statistiques.couverture Mesure de couverture de solution estimée pour cette classe.

    Type de données : chaîne (valeur numérique)

    <Object>.includedClasses.<nom de classe>.statistics.precision Mesure de précision estimée de la solution pour cette classe.

    Type de données : chaîne (valeur numérique)

    <Object>.includedClasses.<nom de classe>.statistiques.rappel Mesure estimée de rappel de solution pour cette classe.

    Type de données : chaîne (valeur numérique)

    <Object>.includedClasses.<nom de classe>.statistiques.sélectionné Marqueur indiquant si cette classe contient des enregistrements inclus dans la formation sur la solution.
    Valeurs valides :
    • vrai : cette classe contient des enregistrements sélectionnés pour la formation de la solution.
    • faux : cette classe est exclue de la formation.

    Type de données : chaîne (valeur booléenne)

    Valeur par défaut : false

    <Object>.excludedClasses Distribution et nombre de lignes de toutes les classes exclues de la formation.

    Type de données : objet

    
      "excludedClasses": {
        "<class name>": {
          "distribution": "0.11",
          "rowCount": "9"
        }
    <Object>.excludedClasses.<nom de classe>.distribution Valeur de la distribution de probabilité de résultat pour cette classe.

    Type de données : chaîne

    <Object>.excludedClasses.<nom de classe>.rowCount Nombre de lignes exclues de la formation.

    Type de données : chaîne (valeur numérique)

    L’exemple suivant montre comment obtenir des statistiques de formation à partir de la solution active.

    // Get training stats
    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getTrainingStatistics()), null, 2));

    Sortie :

    {
      "includedClasses": {
        "Approvals": {
          "distribution": "0.43",
          "statistics": [
            {
              "precision": "100",
              "coverage": "0",
              "recall": "0",
              "selected": "true"
            }
          ]
        }, 
        "Authentication": {
          "distribution": "4.3",
          "statistics": [
            {
              "precision": "39.33",
              "coverage": "95.31",
              "recall": "54.69",
              "selected": "false"
            },
            {
              "precision": "100",
              "coverage": "0",
              "recall": "0",
              "selected": "false"
            },
         ...
        }
        ...
      "excludedClasses": {
        "ACE": {
          "distribution": "0.11",
          "rowCount": "9"
        },
        "AHA": {
          "distribution": "0.01",
          "rowCount": "1"
        }, 
        ...
    }

    ClassificationSolutionVersion : getVersionNumber()

    Obtient le numéro de version de Un objet de solution.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Numéro de version.

    L’exemple suivant montre comment obtenir un numéro de version.

    // Get version number
    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));

    Sortie :

    Version number: 1

    ClassificationSolutionVersion : predict(Object input, Object options)

    Obtient les données d’entrée pour une prédiction.

    Tableau 13. Paramètres
    Nom Type Description
    entrée Objet GlideRecord ou tableau d’objets JSON contenant des noms de champs et des valeurs sous forme de paires clé-valeur.
    options Objet Valeurs facultatives pour le filtrage des résultats de prédiction.
    {
      "apply_threshold": Boolean,
      "top_n": Number
    }
    options.apply_threshold Booléen Marqueur indiquant s’il faut vérifier la valeur de seuil de la solution et l’appliquer à l’ensemble de résultats.
    Valeurs valides :
    • vrai : renvoie des résultats dans lesquels la confiance est supérieure au seuil.
    • faux : renvoie tous les résultats.

    Valeur par défaut : vrai

    options.top_n Numéro Si elle est fournie, elle renvoie les meilleurs résultats, jusqu’au nombre spécifié de prédictions.
    Tableau 14. Renvoie
    Type Description
    Objet Objet JSON contenant les résultats de prédiction triés par sys_id ou par record_number.
    {
        <identifier>: [Array]
    }
    <Object>.<identificateur> Liste d’objets avec des détails pour chaque résultat de prédiction.

    Type de données : tableau d’objets

    <identifier>: [
      {
        "confidence": Number,
        "predictedSysId": "String",
        "predictedValue": "String", 
        "threshold": Number
      }
    ]
    <Object>.<identificateur>..<object> confiance Valeur de la fiabilité associée à la prédiction. Par exemple, 53,84.

    Type de données : nombre

    <Object>.<identificateur>..<object> predictedSysId La sys_id de la valeur prévue. Les résultats peuvent provenir de n’importe quelle table sur laquelle des informations sont prévues.

    Type de données : chaîne

    <Object>.<identificateur>..<object> Valeur predictedValue Valeur représentant le résultat de la prédiction.

    Type de données : chaîne

    <Object>.<identificateur>..<object> seuil Valeur du seuil configuré associé à la prédiction.

    Type de données : nombre

    L’exemple suivant montre comment afficher les résultats de prédiction pour une méthode predict() qui utilise un GlideRecord par sys_id comme entrée et inclut des paramètres facultatifs pour restreindre aux trois premiers résultats et exclure la valeur de seuil.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("<sys_id>");
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.getVersion(1).predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    Sortie :

    {
      "<sys_id/gr>": [
        {
          "confidence": 62.10782320780268,
          "threshold": 20.36,
          "predictedValue": "Clone Issues",
          "predictedSysId": ""
        },
        {
          "confidence": 6.945237375770391,
          "threshold": 16.63,
          "predictedValue": "Instance Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 5.321061076300759,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        }
      ]
    }

    L’exemple suivant montre comment afficher les résultats de prédiction pour une méthode predict() qui prend un tableau de noms de champs sous forme de paires clé-valeur pour l’entrée et inclut des paramètres facultatifs pour restreindre aux trois premiers résultats et exclure la valeur de seuil.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
    
    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, {short_description:"need help with password"}];
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    var results = mlSolution.predict(input, options);
    
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    Sortie :

    {
      "1": [
        {
          "confidence": 37.5023032262591,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 24.439964862166583,
          "threshold": 23.7,
          "predictedValue": "Administration",
          "predictedSysId": ""
        },
        {
          "confidence": 11.736320486031047,
          "threshold": 100,
          "predictedValue": "Security",
          "predictedSysId": ""
        }
      ],
      "2": [
        {
          "confidence": 99,
          "threshold": 17.77,
          "predictedValue": "Email",
          "predictedSysId": ""
        },
        {
          "confidence": 3.182137005157543,
          "threshold": 10.72,
          "predictedValue": "Authentication",
          "predictedSysId": ""
        },
        {
          "confidence": 2.8773826570713514,
          "threshold": -1,
          "predictedValue": "Email (I/f)",
          "predictedSysId": ""
        }
      ]
    }

    ClassificationSolutionVersion : setPredictionSettings(options d’objet)

    Définit les valeurs de précision, de couverture ou de rappel au niveau de la solution ou de la classe.

    Tableau 15. Paramètres
    Nom Type Description
    options Objet Valeurs de configuration des mesures. Pour en savoir plus sur ces fonctionnalités, reportez-vous à la rubrique Configuration des métriques cibles.
    {  	 
       "metricName" : "String",
       "metricValue" : "String",
       "className" : "String"
    }
    options.metricName Chaîne Nom de la mesure à définir.
    Valeurs valides :
    • coverage
    • precision
    • recall
    option.valeur métrique Chaîne Valeur numérique à affecter à la mesure.
    options.className Chaîne Facultatif. Nom de la classe à laquelle limiter les résultats. Utilisez la méthode getTrainingStatistics() pour récupérer une liste complète de classes pour une solution.
    Tableau 16. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment définir une métrique de précision sur 89,5 pour une classe nommée Problèmes de clone.

    var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
    var input = {"metricName" : "precision", "metricValue" : "89.5", "className" : "Clone Issues"};
    
    mlSolution.getActiveVersion().setTrainingStatistics(input);