PredictabilityEstimate - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 7 min. de leitura
  • A API PredictabilityEstimate é um objeto programável usado em armazenamentos Inteligência preditiva. Este objeto fornece uma estimativa de quão previsíveis os campos de um conjunto de dados podem ser e quais recursos podem ser úteis para prever esses campos.

    Este A API requer o plug-in Inteligência preditiva (com.glide.platform_ml) e é fornecida no namespace sn_ml.

    O fluxo de configuração para treinamento da estimativa de previsibilidade é o seguinte:
    1. Crie um conjunto de dados usando a API DatasetDefinition.
    2. Use o construtor para criar um objeto de estimativa de previsibilidade.
    3. Adicione o objeto de estimativa de previsibilidade ao armazenamento de estimativa de previsibilidade usando o método PredictabilityEstimateStore - add().
    4. Treine a estimativa de previsibilidade usando o método submitTrainingJob(). Isso cria uma versão do objeto que você pode gerenciar usando a API PredictabilityEstimateVersion.
    5. Obtenha valores preditivos estimados usando o método PredictabilityEstimateVersion – getResults().
    Nota:
    Esta API é executada com privilégios totais. Para restringir o acesso do usuário, inclua um mecanismo de controle de acesso no script.

    Para obter diretrizes de uso, consulte Uso de APIs de ML.

    PredictabilityEstimate - PredictabilityEstimate(objeto de configuração)

    Cria uma estimativa de previsibilidade.

    Para obter novas estimativas de previsibilidade no mesmo conjunto de dados, use este construtor para criar um novo objeto PredictabilityEstimate com um nome exclusivo.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    config Objeto Objeto JavaScript que contém propriedades de configuração do estimativa de previsibilidade.
    {
      "dataset": {Object},
      "domainName": "String",
      "inputFieldNames": [Array],
      "label": "String",
      "minRowCount": "String",
      "predictedFieldName": "String",
      "trainingFrequency": "String"
    }
    config.conjunto de dados Objeto Nomede DatasetDefinition.
    config.domainName Cadeia de caracteres Opcional. Nome de domínio associado a este conjunto de dados. Consulte Domain Separation e Inteligência preditiva.

    Padrão: domínio atual, por exemplo, "global".

    config.inputFieldNames Matriz Lista de campos de entrada de candidatos como cadeias de caracteres a serem considerados para estimativa.
    config.rótulo Cadeia de caracteres Identifica a tarefa de previsão.
    config.minRowCount Cadeia de caracteres Opcional. Número mínimo de registros necessários no conjunto de dados para treinamento.

    Padrão: 10000

    config.predictedFieldName Cadeia de caracteres Identifica um campo a ser treinado para previsibilidade.
    config.FrequênciaDetreinamento Cadeia de caracteres Opcional. A frequência para retreinar o modelo.
    Valores possíveis:
    • a cada_30_dias
    • a cada_60_dias
    • a cada_90_dias
    • a cada_120_dias
    • a cada_180_dias
    • run_once
    Padrão: run_once

    O exemplo a seguir mostra como criar um trabalho de estimativa e adicioná-lo ao armazenamento PredictabilityEstimate.

    var myIncidentData = new sn_ml.DatasetDefinition({
      'tableName' : 'incident',
      'encodedQuery' : 'activeANYTHING'
    });
    
    var myEstimate = new sn_ml.PredictabilityEstimate({
      'label': "predictability estimate",
      'dataset' : myIncidentData,
      'inputFieldNames':['short_description'], 
      'predictedFieldName': 'category'
    });
    
    var myEstimateName = sn_ml.PredictabilityEstimateStore.add(myEstimate);

    PredictabilityEstimate - cancelTrainingJob()

    Cancela um trabalho para um objeto de estimativa de previsibilidade que foi enviado para treinamento.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 3. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como cancelar um trabalho de treinamento existente.

    var myEstimate = sn_ml.PredictabilityEstimateStore.get('ml_sn_global_global_predictability_estimate');
    
    myEstimate.cancelTrainingJob();

    PredictabilityEstimate - getActiveVersion()

    Objeto Obtém o ativo PredictabilityEstimateVersion.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 5. Retorna
    Tipo Descrição
    Objeto Objeto PredictabilityEstimateVersion ativo.

    O exemplo a seguir mostra como obter uma Estimativa de Previsibilidade versão ativa da loja e retornar seu status de treinamento.

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getActiveVersion().getStatus()), null, 2));

    Saída:

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

    PredictabilityEstimate - getAllVersions()

    Obtém todas as versões de uma estimativa de previsibilidade.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 7. Retorna
    Tipo Descrição
    Matriz APIVersões existentes de um objeto de solução. Veja também PredictabilityEstimateVersion.

    O exemplo a seguir mostra como obter todos os objetos de versão PredictabilityEstimate e chamar os métodos de versão de estimativa getVersionNumber() e getStatus() neles.

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    var mlEstimateVersions = mlEstimate.getAllVersions();
    
    for (i = 0; i < mlEstimateVersions.length; i++) {
    gs.print("Version " + mlEstimateVersions[i].getVersionNumber() + " Status: " + mlEstimateVersions[i].getStatus() +"\n");
    };

    Saída:

    Version 3 Status: {"state":"predictability_estimate_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 2 Status: {"state":"predictability_estimate_complete","percentComplete":"100","hasJobEnded":"true"}
    
    Version 1 Status: {"state":"predictability_estimate_cancelled","percentComplete":"0","hasJobEnded":"true"}

    PredictabilityEstimate - getLatestVersion()

    Obtém a versão mais recente de uma estimativa de previsibilidade.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 9. Retorna
    Tipo Descrição
    Objeto PredictabilityEstimateVersion objeto correspondente à versão mais recente de a PredictabilityEstimate().

    O exemplo a seguir mostra como obter a versão mais recente de uma estimativa de previsibilidade e retorna seu status de treinamento.

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getLatestVersion().getStatus()), null, 2));

    Saída:

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

    PredictabilityEstimate - getName()

    Obtém o nome do objeto a ser usado para interação com a loja.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 11. Retorna
    Tipo Descrição
    Cadeia de caracteres Nome do objeto de estimativa.

    O exemplo a seguir mostra como atualizar Estimativa de Previsibilidade as informações do conjunto de dados e imprimir o nome do objeto.

    // Update estimate
    var myIncidentData = new sn_ml.DatasetDefinition({
       'tableName' : 'incident',
       'fieldNames' : ['category', 'short_description', 'priority'],
       'encodedQuery' : 'activeANYTHING'
    });
    
    var myEstimate = new sn_ml.PredictabilityEstimate({
       'label': "my estimate",
       'dataset' : myIncidentData,
       'inputFieldNames':['short_description'],
       'predictedFieldName': 'category'
    });
    
    // update estimate
    sn_ml.PredictabilityEstimateStore.update('ml_x_snc_global_global_my_definition_4', myEstimate);
    
    // print estimate name
    gs.print('Estimate Name: '+myEstimate.getName());

    Saída:

    Estimate Name: ml_x_snc_global_global_my_definition_4

    PredictabilityEstimate - getProperties()

    Obtém propriedades do objeto de estimativa de previsibilidade.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 13. Retorna
    Tipo Descrição
    Objeto Conteúdo dos detalhes do objeto Dataset e PredictabilityEstimate() no PredictabilityEstimateStore.
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "inputFieldNames": [Array],
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "scope": "String",
      "trainingFrequency": "String"
    }
    <Object>.datasetProperties

    Lista as propriedades do objeto DatasetDefinition() associado à estimativa.

    {
      "encodedQuery": "String",
      "fieldDetails": [Array],
      "fieldNames": [Array],
      "tableName": "String"
    }
    <Object>.datasetProperties.tableName Nome da tabela para o conjunto de dados. Por exemplo, "tableName" : "Incidente".

    Tipo de dados: Cadeia de caracteres.

    <Object>.datasetProperties.fieldNames Lista de nomes de campo da tabela especificada como cadeias de caracteres. Por exemplo, "fieldNames" : ["short_description", "priority"].

    Tipo de dados: matriz.

    <Object>.datasetProperties.fieldNames.fieldDetails Lista de objetos JavaScript que especificam propriedades de campo.
    [
      {
        "name": "String",
        "type": "String"
      }
    ]

    Tipo de dados: matriz.

    <Object>.datasetProperties.fieldNames.fieldDetails.<object>.name Nome do campo que define o tipo de informação ao qual restringir este conjunto de dados.

    Tipo de dados: Cadeia de caracteres.

    <Object>.datasetProperties.fieldDetails.<object>.type Tipo de campo de aprendizado de máquina.

    Tipo de dados: Cadeia de caracteres.

    <Object>.datasetProperties.fieldDetails.encodedQuery Cadeia de caracteres de consulta codificada no formato Glide padrão. Consulte Cadeias de caracteres de consulta codificadas.

    Tipo de dados: Cadeia de caracteres.

    <Object>.domainName Nome de domínio associado a este conjunto de dados. Consulte Domain Separation e Inteligência preditiva.

    Tipo de dados: Cadeia de caracteres.

    <Object>.inputFieldNames Lista de campos de entrada de candidatos como cadeias de caracteres a serem considerados para estimativa.

    Tipo de dados: Cadeia de caracteres.

    <Object>.rótulo Identifica a tarefa de previsão.
    {
      "label": "my first prediction"
    }

    Tipo de dados: Cadeia de caracteres.

    <Object>.nome Nome atribuído pelo sistema.

    Tipo de dados: Cadeia de caracteres.

    <Object>.predictedFieldName Identifica um campo a ser treinado para previsibilidade.

    Tipo de dados: Cadeia de caracteres.

    <Object>.escopo Escopo do objeto. Atualmente, o único valor válido é global.

    Tipo de dados: cadeia de caracteres

    <Object>.trainingFrequency A frequência para retreinar o modelo.
    Valores possíveis:
    • a cada_30_dias
    • a cada_60_dias
    • a cada_90_dias
    • a cada_120_dias
    • a cada_180_dias
    • run_once
    Padrão: run_once

    Tipo de dados: Cadeia de caracteres.

    O exemplo a seguir obtém as propriedades de um objeto de estimativa de previsibilidade no repositório.

    var mySolution = sn_ml.PredictabilityEstimateStore.get('ml_sn_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
    Saída:
    *** 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 estimate definition",
      "name": "ml_x_snc_global_global_my_definition_26",
      "predictedFieldName": "category",
      "processingLanguage": "en",
      "scope": "global",
      "stopwords": [
        "Default English Stopwords"
      ],
      "trainingFrequency": "run_once"
    }

    PredictabilityEstimate - getVersion(cadeia de caracteres version)

    Obtém uma estimativa de previsibilidade pelo número de versão fornecido.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    versão Cadeia de caracteres Número da versão existente de uma estimativa de previsibilidade.
    Tabela 15. Retorna
    Tipo Descrição
    Objeto Versão especificada do objeto PredictabilityEstimate() na qual você pode chamar métodos de API PredictabilityEstimateVersion.

    O exemplo a seguir mostra como obter o status de treinamento de uma estimativa de previsibilidade por número de versão.

    var mlEstimate = sn_ml.PredictabilityEstimateStore.get('ml_x_snc_global_global_predictability_estimate');
    
    gs.print(JSON.stringify(JSON.parse(mlEstimate.getVersion('1').getStatus()), null, 2));

    Saída:

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

    PredictabilityEstimate - setActiveVersion(cadeia de caracteres version)

    Ativa uma versão especificada de uma estimativa de previsibilidade na loja.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    versão Cadeia de caracteres Nome da versão do objeto PredictabilityEstimate() a ser ativada.

    Ativar esta versão desativa qualquer outra versão.

    Tabela 17. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como ativar uma estimativa de previsibilidade versão de solução na Store.

    sn_ml.PredictabilityEstimate.setActiveVersion("ml_x_snc_global_global_my_estimate_definition");

    PredictabilityEstimate - submitTrainingJob()

    Envia um trabalho de treinamento.

    Nota:
    Antes de executar este método, você deve primeiro adicionar uma estimativa de previsibilidade ao armazenamento usando o método PredictabilityEstimateStore - add().
    Tabela 18. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 19. Retorna
    Tipo Descrição
    Objeto PredictabilityEstimateVersion objeto correspondente ao que PredictabilityEstimate está sendo treinado.

    O exemplo a seguir mostra como criar um conjunto de dados, aplicá-lo a uma estimativa de previsibilidade, adicione-a a uma loja e enviar o trabalho de treinamento.

    // Create a dataset 
    var myData = new sn_ml.DatasetDefinition({
    
      'tableName' : 'incident',
      'fieldNames' : ['assignment_group', 'short_description', 'description'],
      'encodedQuery' : 'activeANYTHING'
    
    });
    
    // Create an estimate 
    var myEstimate = new sn_ml.PredictabilityEstimate({
    
      'label': "my estimate definition",
      'dataset' : myData,
      'predictedFieldName' : 'assignment_group',
      'inputFieldNames':['short_description']
    
    });
    
    // Add the estimate to the store to later be able to retrieve it.
    var my_unique_name = sn_ml.PredictabilityEstimateStore.add(myEstimate);
    
    // Train the estimate - this is a long running job 
    var myEstimateVersion = myEstimate.submitTrainingJob();