RegressionSolutionVersion - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 7 min. de leitura
  • A API RegressionSolutionVersion é um objeto programável usado em armazenamentos Inteligência preditiva.

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

    Use esta API ao trabalhar com versões de solução baseadas em objetos da API RegressionSolution no armazenamento RegressionSolution.

    O sistema cria uma versão de solução sempre que você treina uma definição de solução. A maioria das versões é criada durante o treinamento programado da solução.

    Os métodos nesta API podem ser acessados usando os seguintes métodos RegressionSolution :

    RegressionSolutionVersion - getProperties()

    Obtém propriedades do objeto de solução e número da versão.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Objeto Conteúdos dos detalhes da versão do Dataset e RegressionSolution. Os resultados variam de acordo com a configuração da propriedade do objeto.
    {
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},  
      "inputFieldNames": [Array],
      "isActive": Boolean,
      "label": "String",
      "name": "String",
      "predictedFieldName": "String",
      "predictedInterval": [Array],
      "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "versionNumber": "Number"
    }
    <Object>.datasetProperties

    Lista as propriedades do objeto DatasetDefinition() associado à solução.

    {
      "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.fieldNomes 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>.nome Nome do campo que define o tipo de informação ao qual este conjunto de dados será restrito.

    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 do domínio associado a este conjunto de dados. Consulte Separação de domínios e Inteligência preditiva.

    Tipo de dados: cadeia de caracteres.

    <Object>.codificador Objeto de codificador atribuído a esta solução. Consulte Codificador - Codificador (configuração de objeto).

    Tipo de dados: objeto.

    <Object>.inputFieldNames Lista de nomes de campos de entrada como cadeias de caracteres. O modelo usa esses campos usados para fazer previsões.

    Tipo de dados: cadeia de caracteres.

    <Object>.isActive Sinalizador que indica se esta versão está ativa.
    Valores válidos:
    • verdadeiro: a versão está ativa.
    • falso: a versão não está ativa.

    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>.predictedInterval Intervalo de valores que especifica o nível de confiança da previsão.

    Tipo de dados: matriz

    <Object>.processingLanguage Idioma de processamento no formato de código de idioma ISO 639-1 de duas letras.

    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>.palavras irrelevantes Opcional. Lista predefinida de cadeias de caracteres que o sistema gera automaticamente com base na configuração da propriedade language. Para obter detalhes, consulte Criação de uma lista de palavras irrelevantes personalizada.

    Tipo de dados: matriz.

    <Object>.versionNumber Objeto Número da versão do RegressionSolution.

    O exemplo a seguir obtém propriedades da versão do objeto ativo no armazenamento.

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

    Saída:

    {
      "datasetProperties": {
        "encodedQuery": "",
        "fieldNames": [
          "short_description",
          "sourcedc",
          "targetdc",
          "dbsize",
          "duration"
        ],
        "tableName": "cloudinfratext"
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [],
        "name": "wc_regression"
      },
      "inputFieldNames": [
        "short_description",
        "sourcedc",
        "targetdc",
        "dbsize"
      ],
      "isActive": "true",
      "label": "Regression Test for DB Restore",
      "name": "ml_x_snc_global_global_regression",
      "predictedFieldName": "duration",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "versionNumber": "1"
    }

    RegressionSolutionVersion - getStatus(Boolean includeDetails)

    Obtém o status de conclusão do treinamento.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    includeDetails Booliano Sinalizador que indica se o status deve ser retornado details.
    Valores válidos:
    • verdadeiro: retorna detalhes adicionais.
    • falso: não retorna detalhes adicionais.

    Padrão: falso

    Tabela 4. Retorna
    Tipo Descrição
    Objeto Objeto JavaScript que contém informações de status de treinamento para um objeto RegressionSolution.
    {
      "state": "String",
      "percentComplete": "Number as a String",
      "hasJobEnded": "Boolean value as a String",
      "details": {Object}
    }
    <Object>.estado Estado de conclusão do treinamento. Se o trabalho de treinamento atingir um estado terminal, o trabalho não sairá desse estado. Se o estado for terminal, a propriedade hasJobEnded será definida como verdadeira.
    Valores possíveis:
    • buscando_arquivos_para_treinamento
    • preparação_dados
    • tentar novamente
    • solution_cancelled (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solução_incompleta
    • treinamento_request_recebido
    • treinamento_request_timed_out (terminal)
    • solução_treinamento
    • carregando_solução
    • aguardando_treinamento

    Tipo de dados: cadeia de caracteres

    <Object>.hasJobEnded Sinalizador que indica se o treinamento foi concluído.
    Valores válidos:
    • verdadeiro: o treinamento está concluído.
    • falso: o treinamento está incompleto.

    Tipo de dados: valor booliano como cadeia de caracteres

    <Object>.percentConcluído Percentual de treinamento concluído. Se a porcentagem de conclusão for inferior a 100, o trabalho poderá estar em um estado terminal. Por exemplo, se o treinamento expirar.

    Tipo de dados: número como cadeia de caracteres

    Intervalo: 0 a 100

    <Object>.detalhes Objeto que contém uma lista de detalhes de treinamento adicionais.

    Tipo de dados: objeto

    O exemplo a seguir mostra um resultado bem-sucedido com o treinamento concluído.

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

    Saída:

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

    O exemplo a seguir mostra um resultado malsucedido com o treinamento concluído.

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

    Saída:

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

    RegressionSolutionVersion - getVersionNumber()

    Obtém o número da versão de um objeto de solução.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Cadeia de caracteres Número da versão.

    O exemplo a seguir mostra como obter um número de versão.

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

    Saída:

    Version number: 1

    RegressionSolutionVersion - prever (entrada de objeto, opções de objeto)

    Obtém os dados de entrada para uma previsão.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    entrada Objeto GlideRecord ou matriz de objetos JSON que contém nomes e valores de campo como pares de chave-valor.
    opções Objeto Valores opcionais para filtrar resultados de previsão.
    {
      "apply_threshold": Boolean,
      "top_n": Number
    }
    opções.apply_threshold Booliano Sinalizador que indica se o valor de limite da solução deve ser verificado e aplicado ao conjunto de resultados.
    Valores válidos:
    • verdadeiro: retorna resultados em que a confiança é maior que o limite.
    • falso: retorna todos os resultados.

    Padrão: verdadeiro

    opções.top_n Número Se fornecido, retorna os principais resultados, até o número especificado de previsões.
    Tabela 8. Retorna
    Tipo Descrição
    Objeto Objeto JSON que contém os resultados da previsão classificados por sys_id ou record_number.
    {
        <identifier>: [Array]
    }
    <Object>.<identifier> Lista de objetos com detalhes para cada resultado de previsão.

    Tipo de dados: matriz de objetos

    <identifier>: [
      {
        "confidence": Number,
        "predictedSysId": "String",
        "predictedValue": "String", 
        "threshold": Number
      }
    ]
    <Object>.<identifier> .<object>.confiança Valor da confiança associada à previsão. Por exemplo, 53,84.

    Tipo de dados: número

    <Object>.<identifier> .<object>.predictedSysId O sys_id do valor previsto. Os resultados podem ser de qualquer tabela na qual as informações estão sendo previstas.

    Tipo de dados: cadeia de caracteres

    <Object>.<identifier> .<object>.predictedValue Valor que representa o resultado da previsão.

    Tipo de dados: cadeia de caracteres

    <Object>.<identifier> .<object>.threshold Valor do limite configurado associado à previsão.

    Tipo de dados: número

    O exemplo a seguir mostra como exibir resultados de previsão para um método de previsão () que usa um GlideRecord por sys_id como entrada e inclui parâmetros opcionais para restringir aos três principais resultados e excluir o valor limite.

    var mlSolution = sn_ml.RegressionSolutionStore.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));
    {
            "<sys_id/now_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": ""
        }
      ]
    }

    O exemplo a seguir mostra como exibir resultados de previsão para um método de previsão () que usa uma matriz de nomes de campo como pares de chave-valor para entrada e inclui parâmetros opcionais para restringir aos três principais resultados e excluir o valor limite.

    var mlSolution = sn_ml.RegressionSolutionStore.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));
    {
      "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": ""
        }
      ]
    }