Solution de régression : globale

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 8 minutes de lecture
  • L’API RegressionSolution est un objet pouvant contenir des scripts utilisé 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 .

    Le flux de configuration de la solution à la formation est le suivant :
    1. Créez un jeu de données à l’aide de l’API DatasetDefinition .
    2. Facultatif. Créez un encodeur à l’aide de l’API Encoder .
    3. Utilisez le constructeur pour créer un objet de solution de régression.
    4. Ajoutez l’objet de solution au magasin de solutions de régression à l’aide de la méthode RegressionSolutionStore - add().
    5. 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 RegressionSolutionVersion .
    6. Obtenez des prédictions à l’aide de la méthode RegressionSolutionVersion – predict().
    Remarque :
    Cette API s’exécute avec tous les privilèges. Pour restreindre l’accès des utilisateurs, incluez un mécanisme de contrôle d’accès dans le script.

    Pour obtenir des instructions d’utilisation, reportez-vous à la section Utilisation des API ML.

    RegressionSolution : RegressionSolution(Object config)

    Crée une solution de régression.

    Tableau 1. Paramètres
    Nom Type Description
    configuration Objet Objet JavaScript contenant les propriétés de configuration de l’attribut Solution.
    {
      "algorithmConfig": {Object},
      "dataset": {Object},
      "domainName": "String",
      "encoder": {Object},
      "inputFieldNames": [Array],
      "label": "String",
      "minRowCount": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    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, « global ».

    config.encoder Objet Facultatif. Objet de codeur formé à affecter à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet).
    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 Obligatoire sauf si le paramètre predictedInterval. Identifie un champ à former pour la prévisibilité.
    config.predictedInterval Tableau Obligatoire sauf si le paramètre predictedFieldName. Définit une gamme de champs pour former votre solution à la confiance. Prend en charge la fourniture de 2 champs de date non numériques. Par exemple, 'predictedInterval' : ['sys_updated_on', 'sys_created_on'].
    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 :
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    Valeur par défaut : run_once

    L’exemple suivant montre comment créer un objet et l’ajouter à la propriété Magasin RegressionSolution.

    var myNewData = new sn_ml.DatasetDefinition(
      { 
         'tableName' : 'incident', 
         'fieldNames' : ['category', 'short_description', 'priority'],
         'fieldDetails' : [
           {
             'name' : 'category',
             'type' : 'nominal'
           },
           {
             'name' : 'short_description',
             'type' : 'text'
           }], 
         'encodedQuery' : 'activeANYTHING'
      });
    
    var mySimSolution = new sn_ml.SimilaritySolution({
      'label': "my solution definition",
      'dataset' : myNewData,
      'predictedFieldName' : 'category',
      'inputFieldNames': ['short_description']
    });
    
    var mySimilarityName = sn_ml.SimilaritySolutionStore.add(mySimSolution);

    L’exemple suivant montre comment créer un objet à former à l’aide de la predictedInterval propriété.

    var myIncidentData = new sn_ml.DatasetDefinition({
    'tableName' : 'incident',
    'fieldNames' : ['short_description', 'sys_updated_on','sys_created_on'],
    'encodedQuery' : 'activeANYTHING'
    });
     
    var mySolution = new sn_ml.RegressionSolution({
    'label': 'reg assinGroup',
    'dataset' : myIncidentData,
    'predictedInterval': ['sys_updated_on', 'sys_created_on'],
    'inputFieldNames': ['short_description']
    });
     
    var my_unique_name = sn_ml.RegressionSolutionStore.add(mySolution)

    RegressionSolution : cancelTrainingJob()

    Annule une tâche pour un objet de solution qui a été soumis pour une formation.

    Tableau 2. Paramètres
    Nom Type Description
    Aucun
    Tableau 3. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment annuler une tâche de formation existante.

    var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression');
    
    mySolution.cancelTrainingJob();

    Solution de régression : getActiveVersion()

    Obtient l’élément actif Objet RegressionSolutionVersion.

    Tableau 4. Paramètres
    Nom Type Description
    Aucun
    Tableau 5. Renvoie
    Type Description
    Objet Objet RegressionSolutionVersion actif.

    L’exemple suivant montre comment obtenir une version active Solution de régression à partir du Store et renvoyer son état de formation.

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));

    Sortie :

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

    Solution de régression : getAllVersions()

    Obtient toutes les versions de un objet RegressionSolution .

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Tableau Versions existantes d’un objet de solution. Voir aussi Version de la solution de régression API.

    L’exemple suivant montre comment obtenir tous les objets de version de RegressionSolution et y appeler les méthodes de version de solution getVersionNumber() et getStatus().

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
    
    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"}

    Solution de régression : getLatestVersion()

    Obtient la dernière version de une solution.

    Tableau 8. Paramètres
    Nom Type Description
    Aucun
    Tableau 9. Renvoie
    Type Description
    Objet RegressionSolutionVersion Objet correspondant à la dernière version de a RegressionSolution().

    L’exemple suivant montre comment obtenir la dernière version d’une solution et renvoyer son état de formation.

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));

    Sortie :

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

    Solution de régression : getName()

    Obtient le nom de l’objet à utiliser pour interagir avec le magasin.

    Tableau 10. Paramètres
    Nom Type Description
    Aucun
    Tableau 11. Renvoie
    Type Description
    Chaîne Nom de l’objet de solution.

    L’exemple suivant montre comment mettre à jour Solution de régression 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('regression'));
    
    var myRegression = new sn_ml.RegressionSolution({
       'label': "my regression solution",
       'dataset' : myIncidentData,
       'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
       'predictedFieldName': 'category'
    });
    
    // update solution
    sn_ml.RegressionSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myRegression);
    
    // print solution name
    gs.print('Solution Name: '+myRegression.getName());

    Sortie :

    Solution Name: ml_x_snc_global_global_my_solution_definition_4

    Solution de régression : getProperties()

    Obtient les propriétés de l’objet de solution.

    Tableau 12. Paramètres
    Nom Type Description
    Aucun
    Tableau 13. Renvoie
    Type Description
    Objet Contenu du jeu de données et détails de l’objet RegressionSolution() dans le RegressionSolutionStore.
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "inputFieldNames": [Array],
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String"
    }
    <Object>.datasetProperties

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

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }

    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 » : [&quot;short_description », « priority&quot;].

    Type de données : tableau.

    <Object>.datasetProperties.fieldNames.fieldDetails Liste des objets JavaScript qui spécifient les propriétés des champs.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    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>.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.
    {
      "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>.predictedInterval Plage de valeurs spécifiant le niveau de confiance de prédiction.

    Type de données : tableau

    <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 :
    • every_30_days
    • every_60_days
    • every_90_days
    • every_120_days
    • every_180_days
    • run_once
    Valeur par défaut : run_once

    Type de données : chaîne.

    L’exemple suivant obtient les propriétés d’un objet solutiondans le magasin.

    var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression_solution');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    Sortie :
    *** Script: {
      "datasetProperties": {
        "tableName": "cloudinfratext",
        "fieldNames": [
          "short_description",
          "sourcedc",
          "targetdc",
          "dbsize",
          "duration"
        ]
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wc_regression"
      },
      "inputFieldNames": [
        "short_description",
        "sourcedc",
        "targetdc",
        "dbsize"
      ],
      "label": "Regression Test for DB Restore",
      "name": "ml_x_snc_global_global_regression",
      "predictedFieldName": "duration",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "every_30_days"
    }

    RegressionSolution : getVersion(version de chaîne)

    Obtient une solution par le numéro de version fourni.

    Tableau 14. Paramètres
    Nom Type Description
    version Chaîne Numéro de version existant d’une solution.
    Tableau 15. Renvoie
    Type Description
    Objet Version spécifiée de l’objet RegressionSolution() sur lequel vous pouvez appeler les méthodes de l’API RegressionSolutionVersion .

    L’exemple suivant montre comment obtenir l’état de formation d’une solution par numéro de version.

    var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
    
    gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));

    Sortie :

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

    RegressionSolution : setActiveVersion(String version)

    Active une version spécifiée d’une solution dans le magasin.

    Tableau 16. Paramètres
    Nom Type Description
    version Chaîne Nom de la version de l’objet RegressionSolution() à activer.

    L’activation de cette version désactive toute autre version.

    Tableau 17. Renvoie
    Type Description
    Néant

    L’exemple suivant montre comment activer une version de solution dans le magasin.

    sn_ml.RegressionSolution.setActiveVersion("ml_incident_categorization");

    RegressionSolution : submitTrainingJob()

    Soumet une tâche de formation.

    Remarque :
    Avant d’exécuter cette méthode, vous devez d’abord ajouter une solution au magasin à l’aide de la méthode RegressionSolutionStore - add().
    Tableau 18. Paramètres
    Nom Type Description
    Aucun
    Tableau 19. Renvoie
    Type Description
    Objet RegressionSolutionVersion Objet correspondant à l’objet RegressionSolution 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.RegressionSolution({
    
      '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.RegressionSolutionStore.add(mySolution);
    
    // Train the solution - this is a long running job 
    var myRegressionVersion = mySolution.submitTrainingJob();