RegressionSolutionVersion - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. 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.

    Esta API é usada para trabalhar com versões de solução baseadas em objetos de API RegressionSolution no repositório RegressionSolution.

    O sistema cria uma versão da 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údo dos detalhes da versão do conjunto de dados e da solução de regressão. 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.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>codificador Objeto codificador atribuído a esta solução. Consulte Codificador – Codificador (configuração do 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.
    • false: 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 Criar uma lista de palavras irrelevantes personalizadas.

    Tipo de dados: matriz.

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

    O exemplo a seguir obtém as 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(booliano 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 detailsdeve ser retornado.

    Valores válidos:
    • verdadeiro: retorna detalhes adicionais.
    • false: 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 verdadeiro.
    Valores possíveis:
    • buscando_arquivos_para_treinamento
    • preparação_dados
    • tentar novamente
    • solution_cancelled (terminal)
    • solution_complete (terminal)
    • solution_error (terminal)
    • solution_incomplete
    • treinamento_solicitação_recebido
    • treinamento_request_timed_out (terminal)
    • treinamento_solução
    • 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.
    • false: o treinamento está incompleto.

    Tipo de dados: valor booliano como cadeia de caracteres

    <Object>.percentComplete Número entre zero e 100 que representa o percentual de conclusão do treinamento. 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

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

    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 - forecast (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 de campo e valores 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 limite da solução deve ser verificado e aplicado ao conjunto de resultados.
    Valores válidos:
    • verdadeiro: retorna resultados nos quais a confiança é maior que o limite.
    • falso: retorna todos os resultados.

    Padrão: verdadeiro

    opções.top_n Número Se fornecido, retornará 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 de cada resultado de previsão.
    <identifier>: [
      {
        "confidence": Number,
        "predictedSysId": "String",
        "predictedValue": "String", 
        "threshold": Number
      }
    ]

    Tipo de dados: matriz

    <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 estejam 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 forecast () 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 forecast() que usa uma matriz de nomes de campo como pares de chave-valor para entrada e inclui parâmetros opcionais para restringir os 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": ""
        }
      ]
    }