ClusteringSolutionVersion - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 19 min. de leitura
  • A API ClusteringSolutionVersion é 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 da API ClusteringSolution no armazenamento ClusteringSolution.

    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 ClusteringSolution :

    ClusteringSolutionVersion - cancelUpdateJob()

    Cancela um trabalho de atualização em um instrutor.

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

    O exemplo a seguir mostra como cancelar um trabalho de treinamento ativo que foi enviado usando o método submitTrainingJob().

    var myCluster = new sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    var mlSolutionVersion = myCluster.getActiveVersion();
    
    mlSolutionVersion.cancelUpdateJob();

    ClusteringSolutionVersion - deleteClusterAssignments(opções de objeto)

    Exclui atribuições de cluster de linhas por posição na sequência de tabela ou GlideDateTime.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    opções Objeto Objeto que define uma opção para excluir atribuições de cluster.
    Nota:
    Somente uma opção de exclusão é válida.
    opções.atualizadoAté Cadeia de caracteres Exclui linhas para clusters com valores update_since que ocorrem antes deste valor. O formato deve ser fornecido como GlideDateTime.
    { "updatedUntil" : "String" }
    opções.sequênciaAté Cadeia de caracteres Exclui linhas para clusters com valores insert_sequence ocorrendo antes deste valor na tabela Detalhes do cluster de ML [ml_cluster_detail]. O valor do ponto de partida da posição da sequência é 1.
    { "sequenceUntil" : Number }
    Tabela 4. Retorna
    Tipo Descrição
    Número Número de linhas excluídas da tabela Detalhes do cluster de ML [ml_cluster_detail].

    O exemplo a seguir mostra como excluir linhas para clusters com tempo update_since anterior a '2020-06-28 02:50:53'.

    var mlSolution = sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    var mlSolutionVersion = mlSolution.getActiveVersion();
    
    var options = {};
    options.updatedUntil = '2020-06-28 02:50:53';
    
    var results = mlSolutionVersion.deleteClusterAssignments(options);
    
    gs.print("Number of deleted rows: "+results);

    Saída:

    Number of deleted rows: 6417

    O exemplo a seguir mostra como excluir linhas para clusters com update_since que são posicionados sequencialmente antes de 1000.

    var mlSolution = sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    var mlSolutionVersion = mlSolution.getActiveVersion();
    
    var options = {};
    options.sequenceUntil = 1000;
    
    var results = mlSolutionVersion.deleteClusterAssignments(options);
    
    gs.print("Number of deleted rows: "+results);

    Saída:

    Number of deleted rows: 999

    ClusteringSolutionVersion - getClusterAssignments(opções de objeto)

    Obtém atribuições para uma solução de cluster.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    opções Objeto Valores a serem usados para restringir os resultados retornados por grupo, nível, horários de atualização do sistema e número de linha da tabela em uma solução de cluster. É preciso especificar pelo menos um argumento.
    {
         "cluster_id": "String",
         "group_by": "String",
         "limit": Number,
         "sequenceSince": Number,
         "sequenceUntil": Number,
         "topNPerCluster": Number,
         "updatedSince": "String",
         "updatedUntil": "String"
    }
    opções.cluster_id Cadeia de caracteres Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    opções.agrupar_por Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assignment_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar Agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte Criar e treinar uma solução de clustering .

    opções.limite Número Opcional. Número máximo de atribuições de cluster a serem recuperadas.
    opções.sequênciaDesde Número Posição inicial em uma sequência de tabela. Retorna informações para clusters com insert_sequence habilitado e posicionado após este valor na tabela Detalhes do cluster de ML [ml_cluster_detail]. O valor do ponto de partida da posição da sequência é 1.
    opções.sequênciaAté Número Retorna atribuições para clusters com valores insert_sequence ocorrendo antes deste valor na tabela Detalhes do cluster de ML [ml_cluster_detail]. O valor do ponto de partida da posição da sequência é 1.
    opções.topNPerCluster Número Número dos principais resultados a serem recebidos para cada cluster.
    opções.atualizadoDesde Cadeia de caracteres Opcional. Data e hora. Retorna informações para clusters com sys_updated_on após o valor fornecido em GlideDateTime.
    opções.atualizadoAté Cadeia de caracteres Opcional. Data e hora. Retorna informações para clusters com sys_updated_on antes do valor fornecido em GlideDateTime.
    Tabela 6. Retorna
    Tipo Descrição
    Matriz Lista de objetos que contêm informações de cluster em ordem crescente por cluster_id.
    [
        {
           "cluster_id": "String",
           "group_by": "String",
           "rec_display_id": "String",
           "rec_sys_id": "String"
         }
    ]
    <object>.cluster_id Número de cluster exclusivo em uma solução de clusters.
    <object>.group_by se agrupado, nome do campo de segmentação associado a este cluster.
    <object>.rec_display_id Tipo e número de registro.
    <object>.rec_sys_id sys_id do registro.

    O exemplo a seguir mostra como usar o objeto options para filtrar resultados de cluster.

    var mlSolution = sn_ml.ClusteringSolutionStore.get("solution_name");
    
    var mlSolutionVersion = mlSolution.getActiveVersion();
    
    var options = {};
    options.clusterId = 56;
    options.topNPerCluster = 10;
    options.updatedUntil = '2020-01-17 23:16:14'; 
    options.updatedSince = '2020-01-17 23:16:13'; 
    options.sequenceUntil = 1000; 
    options.sequenceSince = 1100; 
    options.limit = 100;
    
    var results = mlSolutionVersion.getClusterAssignments(options)
    
    gs.print(results);

    Saída:

    [{"cluster_id":"1","rec_display_id":"Incident": "INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
     {"cluster_id":"1","rec_display_id":"Incident": "INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]

    ClusteringSolutionVersion - getClusterInfo(opções de objeto)

    Obtém informações para uma solução de cluster especificada na loja. A medição de pureza fornece informações como uma porcentagem para os campos de cluster nos quais a pureza se baseia.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opcional. Objeto que contém propriedades que permitem filtrar resultados em uma solução de cluster.
    {
      "clusterId": "String",     
      "groupBy": "String",
      "limit": "String",
      "recSysId": "String",
      "sequenceSince": Number,
      "sequenceUntil": Number,
      "updatedSince": "String",
      "updatedUntil": "String"
    }

    Padrão: retorne associações de cluster para todos os clusters.

    opções.clusterId Cadeia de caracteres Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    opções.groupBy Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assignment_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar Agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte Criar e treinar uma solução de clustering .

    opções.limite Número Opcional. Número máximo de atribuições de cluster a serem recuperadas.
    opções.recSysId Cadeia de caracteres Opcional. Sys_id de um registro pelo qual encontrar informações do cluster.
    opções.sequênciaDesde Número Posição inicial em uma sequência de tabela. Retorna informações para clusters com insert_sequence habilitado e posicionado após este valor na tabela Detalhes do cluster de ML [ml_cluster_detail]. O valor do ponto de partida da posição da sequência é 1.
    opções.sequênciaAté Número Opcional. Posição final em uma sequência de tabela. Retorna atribuições para clusters com valores insert_sequence ocorrendo antes deste valor na tabela Detalhes do cluster de ML [ml_cluster_detail]. O valor do ponto de partida da posição da sequência é 1.
    opções.atualizadoDesde Cadeia de caracteres Formato Opcional. Data e hora. Retorna informações para clusters com sys_updated_on após o valor fornecido em GlideDateTime.
    opções.atualizadoAté Cadeia de caracteres Opcional. Data e hora. Retorna informações para clusters com sys_updated_on antes do valor fornecido em GlideDateTime.
    Tabela 8. Retorna
    Tipo Descrição
    Matriz Lista de objetos que contêm informações do cluster.
    [
      {   
        "cluster_concept": "String",
        "cluster_id": "String",
        "cluster_quality": "String",
        "cluster_size": "String",
        "group_by": "String",
        "insert_sequence": "String",
        "purity": "String",
        "sys_updated_on": "String"
      }
    ]
    <object>.cluster_concept Conjunto de palavras que descrevem o cluster em ordem decrescente de frequência.

    Tipo de dados: cadeia de caracteres

    <object>.cluster_id Número de cluster exclusivo em uma solução de clusters.
    <object>.cluster_quality Número de 0 a 100. Números mais altos indicam maior densidade de cluster.

    Tipo de dados: cadeia de caracteres

    <object>.cluster_size Número de registros em um cluster.

    Tipo de dados: cadeia de caracteres

    <object>.group_by se agrupado, nome do campo de segmentação associado a este cluster.

    Tipo de dados: cadeia de caracteres

    <object>.insert_sequence Número da posição sequencial do cluster na tabela Resumo do cluster [ml_cluster_summary].

    Tipo de dados: cadeia de caracteres

    <object>.purity Valor percentual que representa a pureza da qualidade do cluster.
    <object>.sys_updated_on Valor de GlideDateTime do sistema que representa a data e a hora da última atualização deste cluster.

    Tipo de dados: cadeia de caracteres

    O exemplo a seguir mostra como definir o parâmetro de objeto de opções e imprimir os resultados do cluster filtrados.

    var mlSolution = sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    var mlSolutionVersion = mlSolution.getActiveVersion();
    
    var options = {};
    options.updatedSince = '2020-05-28 02:09:53'; 
    options.updatedUntil = '2020-05-28 03:15:00';
    options.sequenceSince = 1;
    options.limit = 10;
    
    var results = mlSolutionVersion.getClusterInfo(options);
    
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    Saída:

    [
      {
        "cluster_id": "1",
        "cluster_quality": "100",
        "cluster_size": "17",
        "purity": "",
        "insert_sequence": "8",
        "group_by": "VPN   Customer",
        "sys_updated_on": "2020-05-28 02:09:53",
        "cluster_concept": "vpn instance connection ldap user log unable usability tunnel"
      },
      {
        "cluster_id": "1",
        "cluster_quality": "100",
        "cluster_size": "10",
        "purity": "",
        "insert_sequence": "24",
        "group_by": "Live Feed",
        "sys_updated_on": "2020-05-28 02:09:53",
        "cluster_concept": "feed live user note work disable group default usability sort"
      },
      {
        "cluster_id": "1",
        "cluster_quality": "100",
        "cluster_size": "18",
        "purity": "",
        "insert_sequence": "40",
        "group_by": "Integrations",
        "sys_updated_on": "2020-05-28 02:09:53",
        "cluster_concept": "integrate usability certificate error"
      },
    ...
    ]

    ClusteringSolutionVersion - getProperties()

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

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Objeto Conteúdo dos detalhes da versão do conjunto de dados e do ClusteringSolution. Os resultados variam de acordo com a configuração da propriedade do objeto.
    {
      "algorithmConfig": {Object},
      "datasetProperties": {Object},
      "domainName": "String",
      "encoder": {Object},
      "groupByFieldName": "String", 
      "inputFieldNames": [Array],
      "isActive": "Boolean",
      "label": "String",
      "minRecordsPerCluster" : Number,
      "name": "String",  "processingLanguage": "String",
      "scope": "String",
      "stopwords": [Array],
      "trainingFrequency": "String",
      "updateFrequency": "String",
      "versionNumber": "Number"
    }
    <Object>.algorithmConfig Os resultados da propriedadeObjeto JavaScript que contém propriedades de configuração do algoritmo. variam de acordo com o valor definido na propriedade algorithm.
    'algorithmConfig' : {
      "algorithm": "String",  
      // See algorithmConfig.algorithm setting description for property settings based on algorithm
    }

    Tipo de dados: objeto.

    <Object>.algoritmoConfig.algoritmo Método para codificar sua solução.
    Propriedades para dbscan:
    'algorithmConfig': {
      "algorithm": "dbscan",
      "distanceMetric": "String",
      "epsilon": Number,
      "minimumNeighbours": Number
    }
    Propriedades para kmeans:
    'algorithmConfig': {
      "algorithm": "kmeans",
      "targetCoverage": Number
    }

    Tipo de dados: Cadeia de caracteres.

    <Object>.algorithmConfig.istanceMetric Somente algoritmo DBSCAN. Métrica de distância para verificar objetos de dados semelhantes.

    Tipo de dados: Cadeia de caracteres.

    <Object>.algorithmConfig.eposilon Somente algoritmo DBSCAN. Valor decimal entre 0 e 1 que representa o tamanho do raio de pesquisa do bairro.

    Tipo de dados: número.

    <Object>.algoritmoConfig.minimumVizinhos Somente algoritmo DBSCAN. Número mínimo de vizinhos necessários em um ponto para fazer parte de um cluster. Para levenshteinDistance, o valor deve ser 1 para que nenhum ponto seja excluído do conjunto de dados.

    Tipo de dados: número.

    <Object>.algorithmConfig.targetCoverage Somente o algoritmo K-means. Campo Percentil para filtrar registros menos semelhantes entre si.

    Tipo de dados: número.

    <Object>.datasetProperties

    Lista as propriedades do objeto DatatsetDefinition associado à solução.

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

    Tipo de dados: objeto.

    <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.

    Objeto.encoderProperties Objeto codificador atribuído a esta solução. Consulte Codificador – Codificador (configuração do objeto).

    Tipo de dados: objeto.

    Objeto.agruparPorNomeDeCampo Nome do campo pelo qual o sistema agrupa registros em um ou mais clusters.

    Tipo de dados: cadeia de caracteres

    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>.minRecordsPerCluster Número mínimo de registros a serem permitidos em qualquer cluster.

    Tipo de dados: número.

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

    Tipo de dados: Cadeia de caracteres.

    <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>.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.

    <Object>.updateFrequency A frequência com que o modelo para a definição da solução deve ser recriado.
    Valores possíveis:
    • do_not_update
    • a cada_1_dia
    • a cada_1_hora
    • a cada_6_horas
    • a cada_12_horas
    • a cada_1_minuto
    • a cada_15_minutos
    • a cada_30_minutos
    Padrão: do_not_update

    Tipo de dados: cadeia de caracteres

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

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

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

    Saída:

    *** Script: {
      "algorithmConfig": {
        "algorithm": "kmeans",
        "targetCoverage": "90"
      },
      "datasetProperties": {
        "tableName": "incident",
        "fieldNames": [
          "category",
          "short_description",
          "state",
          "description"
        ],
        "encodedQuery": "activeANYTHING"
      },
      "domainName": "global",
      "encoderProperties": {
        "datasetsProperties": [
          {
            "tableName": "incident",
            "fieldNames": [
              "assignment_group",
              "short_description",
              "description"
            ],
            "encodedQuery": "activeANYTHING"
          }
        ],
        "domainName": "global",
        "isActive": "true",
        "label": "my encoder definition",
        "name": "ml_x_snc_global_global_my_encoder_definition",
        "processingLanguage": "en",
        "stopwords": [
          "Default English Stopwords"
        ],
        "versionNumber": "1"
      },
      "groupByFieldName": "category",
      "inputFieldNames": [
        "short_description"
      ],
      "isActive": "true",
      "label": "clustering solution",
      "minRecordsPerCluster": 2,
      "name": "ml_x_snc_global_global_clustering_solution",
      "processingLanguage": "en",
      "stopwords": [
        "Default English Stopwords"
      ],
      "updateFrequency": "do_not_update",
      "versionNumber": "1"
    }

    ClusteringSolutionVersion - getStatus(booliano includeDetails)

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

    Tabela 11. 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 12. Retorna
    Tipo Descrição
    Objeto Objeto JavaScript que contém informações de status de treinamento para um objeto ClusteringSolution.
    {
      "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.ClusteringSolutionStore.get('ml_x_snc_global_global_cluster_solution');
    
    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_cluster_solution';
    var mlSolution = sn_ml.ClusteringSolutionStore.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"
    }

    ClusteringSolutionVersion - getTopNPurityInfo(Opções de objeto)

    Obtém os principais resultados de pureza para uma solução de cluster. A medição de pureza fornece informações como uma porcentagem para os campos de cluster nos quais a pureza se baseia.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opções que determinam o número e o formato dos principais resultados de pureza do cluster.
    {
      "clusterIds": [Array],
      "groupBy": [Array],
      "purityFields": [Array],
      "topN": Number,
      "topNFields": Number
    }
    opções.clusterIds Matriz Opcional. Lista de IDs de cluster fornecidos como cadeias de caracteres. Um ID de cluster é fornecido na tabela Resumo do cluster [ml_cluster_summary]. Se fornecido, este método retorna informações de cluster de pureza para cada cluster especificado.

    Padrão: este método retorna informações de pureza para todos os clusters.

    opções.groupBy Matriz Opcional. Lista de cadeias de caracteres de campo group_by da sua tabela para ajudar o sistema a identificar a classe que é mais frequente no cluster. Se fornecido, retorna informações de pureza para soluções de cluster usando campos group_by. A tabela Resumo do cluster [ml_cluster_summary] lista os clusters e qualquer valor de Agrupar por associado.

    Este campo se aplica somente a clusters que usam group by na definição de cluster. Os campos qualificados são listados no campo Tabela. Para obter detalhes sobre o recurso agrupar por, consulte Criar e treinar uma solução de clustering.

    opções.purityFields Matriz Opcional. Lista de cadeias de caracteres de campo de pureza. Se fornecido, este método retornará somente informações para esses campos de pureza. Você pode exibir valores de pureza para um cluster nas listas da tabela Resumo do cluster [ml_cluster_summary].
    Nota:
    Se purity_fields e top_n_fields forem fornecidos, este método retornará top_n_fields primeiro e, em seguida, selecionará campos de purity_fields.

    Padrão: retorne informações de pureza para todos os campos de pureza salvos para o cluster.

    opções.topN Número Opcional. Restringe o número de previsões para retornar aos valores mais altos de cada campo de pureza.

    Valor máximo: 10

    Padrão: retorna todas as informações de pureza para cada campo de pureza.

    opções.topNFields Número Opcional. Restringe o número de campos de pureza retornados aos campos com a pureza mais alta para cada cluster.

    Valor máximo: 10

    Padrão: retorna todos os campos no cluster.

    Tabela 14. Retorna
    Tipo Descrição
    Cadeia de caracteres Cadeia de caracteres formatada em JSON que contém uma lista de clusters com campos de pureza e detalhes.
    Nota:
    Os resultados variam de acordo com as configurações feitas no parâmetro de entrada options.

    As informações a seguir ilustram como os resultados de pureza do cluster são classificados e categorizados. Consulte o exemplo para obter a saída real.

    {
      "<clusterID>":[
        // List sorted by purity per field
        { "<fieldName>":[
          // List sorted by purity per field value
          {"<field_val1_1>":"<purity>"},
            // Additional field values
        ]},
        // Additional fields
      ],	  
      // Additional clusters
    }
    Cadeia de caracteres.<clusterID> Lista de clusters organizados em ordem decrescente por valor de pureza por cluster.

    Tipo de dados: matriz

    Cadeia de caracteres.<clusterID> .<field> Lista de objetos que representam campos de pureza organizados em ordem decrescente por valor de pureza por campo. A propriedade do parâmetro do objeto de entrada options.top_n_fields determina o número de campos retornados.
    "<field>":[{"<field_val>":"<purity>"}]}

    Tipo de dados: matriz

    Cadeia de caracteres.<clusterID> .<field> .<values> Lista de objetos que contêm valor e pureza de campo. Por exemplo, {"priority":[{"5":"100"}]} é um campo de prioridade com uma pontuação de 5 e um valor de pureza de 100 por cento. Lista de resultados em ordem decrescente por porcentagem de pureza. A propriedade do parâmetro do objeto de entrada options.top_n determina o número de resultados retornados.

    Tipo de dados: matriz

    O exemplo a seguir mostra como obter os dois principais resultados de pureza para o campo de categoria em soluções de cluster específicas.

    var solution = new GlideRecord('ml_solution');
    solution.addQuery('sys_id', '<clustering_solution_sys_id>');
    solution.addQuery('active', 'true');
    solution.query();
    
    while (solution.next()) {
    
      var options = {};
      options.clusterIds = ['1', '3', '5'];
      options.purityFields = ['category'];
      options.topN = '2';
      options.topNFields = '2';
    
      var clustering = new sn_ml.ClusteringSolutionVersion(solution);
      var results = clustering.getTopNPurityInfo(options);
    
      gs.info(results);
    }

    A saída exibe informações de pureza com base nas configurações fornecidas no parâmetro de opções.

    {"1":[{"category":[{"network":"99.96"},{"inquiry":"0.04"}]}],"3":[{"category":[{"Systems Engineering":"100"}]}],
    "5":[{"category":[{"Security":"100"}]}]}

    ClusteringSolutionVersion - getUpdateStatus()

    Obtém o status do trabalho de atualização da solução de clustering mais recente.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 16. Retorna
    Tipo Descrição
    Cadeia de caracteres Estado da atualização da solução de clustering.
    Estados:
    • Erro de rede ou de configuração
    • Ocorreu um erro ao atualizar a solução
    • Buscando arquivos para atualizar
    • Preparando dados
    • Não autorizada
    • Atualização concluída
    • A atualização foi cancelada
    • Atualização de solicitação recebida
    • A solicitação de atualização atingiu o tempo limite
    • Atualizando solução
    • Carregando
    • Aguardando

    O exemplo a seguir mostra como obter o status de atualização de uma solução de cluster.

    var myCluster = new sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    gs.print(JSON.stringify(myCluster.getActiveVersion().getUpdateStatus()));

    Saída:

    "Update Complete"

    ClusteringSolutionVersion - getVersionNumber()

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

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 18. 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.ClusteringSolutionStore.get('ml_x_snc_global_global_clustering_solution');
    
    gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));

    Saída:

    Version number: 1

    ClusteringSolutionVersion - forecast (entrada de objeto, opções de objeto)

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

    Tabela 19. 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 20. 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.ClusteringSolutionStore.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/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.ClusteringSolutionStore.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": ""
        }
      ]
    }

    ClusteringSolutionVersion - submitUpdateJob(opções de objeto)

    Envia trabalhos de atualização de cluster com opções para restringir os resultados a uma tabela específica e filtrar para registros correspondentes.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    opções Objeto Objeto JavaScript que contém opções nas quais basear uma atualização de solução de cluster.
    {
            "filter" : "String",
            "table" : "String"
        }
    opções.filtro Cadeia de caracteres Cadeia de caracteres de consulta codificada no formato Glide padrão. Consulte Cadeias de caracteres de consulta codificadas. Habilita a execução de um trabalho de atualização com base no filtro fornecido.
    opções.tabela Cadeia de caracteres Nome da tabela na qual um trabalho de atualização será executado.
    Tabela 22. Retorna
    Tipo Descrição
    Nenhum

    O exemplo a seguir mostra como enviar um trabalho de atualização.

    var myCluster = new sn_ml.ClusteringSolutionStore.get("ml_x_snc_global_global_clustering_solution");
    
    var options = {"filter" : "precision", "table" : "incident"};
    
    myCluster.getActiveVersion().submitUpdateJob(options);