ClassificationSolutionVersion - Global
A API ClassificationSolutionVersion é 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 ClassificationSolution no armazenamento ClassificationSolution.
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.
ClassificationSolutionVersion - getPredictionPerformance(Opções de objeto)
Calcula a precisão e a cobertura da solução.
Para usar este método, você deve primeiro criar configurações usando o método setPredictionSettings().
| Nome | Tipo | Descrição |
|---|---|---|
| opções | Objeto | Seleciona uma métrica a ser recuperada em um período de datas. Para obter mais informações, consulte Configuração de métricas de destino. |
| opções.deData | Cadeia de caracteres | Opcional. Data de início a partir da qual as métricas serão recuperadas no formato de data e hora do sistema. |
| opções.metricName | Cadeia de caracteres | Nome da métrica. Valores válidos:
|
| opções.toDate | Cadeia de caracteres | Opcional. Data de término a partir da qual as métricas serão recuperadas. Formulário: formato de data e hora do sistema. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JavaScript analisável que contém os resultados da métrica de entrada. |
| Objeto.metricName | Nome da métrica selecionada como entrada. Tipo de dados: cadeia de caracteres |
| Objeto.ValorDamétrica | Valor da métrica selecionada. Tipo de dados: cadeia de caracteres |
| Objeto.númeroDeRegistrosConsiderados | Número de registros na tabela Resultados de previsão [ml_predictor_results] considerados para cálculos. Tipo de dados: cadeia de caracteres |
O exemplo a seguir mostra como obter um valor de precisão da versão ativa de uma solução.
// Get precision value
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionPerformance({"metricName": "precision"})), null, 2));
Saída:
{
"metricName": "precision",
"metricValue": "70.10",
"numberOfPredictionsConsidered": "10"
}
ClassificationSolutionVersion - getPredictionSettings()
Obtém precisão estimada, cobertura estimada, valores de recall estimados da tabela Soluções de ML [ml_solution] e registros da tabela Confiança de classe [ml_class].
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna configurações de previsão para cada classe. Os dados incluem valores de precisão, cobertura, recall e distribuição de todas as classes incluídas no modelo treinado da tabela Soluções de ML [ml_solution]. Para obter detalhes, consulte Componentes do modelo preditivo. |
| <Object>.<class name> | Dados de estatísticas de treinamento da tabela Confiança de classe [ml_class]. Para obter mais informações, consulte Configuração de métricas de destino. Tipo de dados: objeto |
| <Object>.<class name> .precisão | Métrica de precisão da solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
| <Object>.<class name> .cobertura | Métrica de cobertura de solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
| <Object>.<class name> .recall | Métrica de recall de solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
O exemplo a seguir mostra como obter configurações de previsão de uma versão de solução ativa.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getPredictionSettings()), null, 2));
Saída:
{
"solutionSettings": {
"precision": "61.69",
"coverage": "66.75",
"recall": "57.54"
},
"classSettings": {
"Approvals": {
"precision": "100",
"coverage": "0",
"recall": "0"
},
"Authentication": {
"precision": "38.71",
"coverage": "98.44",
"recall": "56.25"
},
"Automation": {
"precision": "100",
"coverage": "0",
"recall": "0"
}, ...
ClassificationSolutionVersion - getProperties()
Obtém propriedades do objeto de solução e número da versão.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Conteúdos dos detalhes da versão do conjunto de dados e ClassificationSolution. Os resultados variam de acordo com a configuração da propriedade do objeto. |
| <Object>.algorithmConfig | Método para codificar a solução. Tipo de dados: objeto |
| <Object>.algoritmoConfig.algoritmo | Nome do algoritmo de codificação para treinar esta solução. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <Object>.algorithmConfig.targetClassRecall | Parâmetro de recall de classe para orientar o treinamento de uma solução para direcionar uma classe específica. O valor de recall é um número entre 0 e 100 que representa uma porcentagem. Tipo de dados: cadeia de caracteres |
| <Object>.datasetProperties | Lista as propriedades do objeto DatasetDefinition() associado à solução. 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.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. Tipo de dados: matriz de objetos
|
| <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>.groupByFieldName | Nome do campo pelo qual o sistema agrupa registros para criar soluções de classificação. 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:
Tipo de dados: cadeia de caracteres |
| <Object>.rótulo | Identifica a tarefa de previsão. 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>.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>.trainingFrequency | A frequência para retreinar o modelo. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <Object>.versionNumber | Objeto Número da versão do ClassificationSolution. Tipo de dados: cadeia de caracteres |
O exemplo a seguir obtém propriedades da versão do objeto ativo no armazenamento.
// Get properties
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getProperties()), null, 2));
Saída:
*** Script: {
"datasetProperties": {
"encodedQuery": "activeANYTHING^EQ",
"fieldNames": [
"short_description",
"category"
],
"tableName": "incident"
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"isActive": "true",
"label": "Incident Categorization_Trainer",
"name": "ml_incident_categorization",
"predictedFieldName": "category",
"processingLanguage": "en",
"stopwords": [
"Default English Stopwords"
],
"versionNumber": "1"
}
ClassificationSolutionVersion - getStatus(Booliano includeDetails)
Obtém o status de conclusão do treinamento.
| Nome | Tipo | Descrição |
|---|---|---|
| includeDetails | Booliano | Sinalizador que indica se o status deve ser retornado details. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JavaScript que contém informações de status de treinamento para um objeto ClassificationSolution. |
| <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:
Tipo de dados: cadeia de caracteres |
| <Object>.hasJobEnded | Sinalizador que indica se o treinamento foi concluído. Valores válidos:
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.ClassificationSolutionStore.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_classification_solution';
var mlSolution = sn_ml.ClassificationSolutionStore.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"
}
ClassificationSolutionVersion - getTrainingStatistics()
Obtém todas as estatísticas de treinamento para uma determinada solução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JavaScript com estatísticas para cada classe incluída no treinamento e valores para cada classe que foi excluída do treinamento. Para obter detalhes, consulte Componentes do modelo preditivo. |
| <Object>.includedClasses | Objeto que contém valores de precisão, cobertura, recall e distribuição de cada classe no modelo treinado. Tipo de dados: objeto
|
| <Object>.includedClasses.<class name> .distribuição | Valor da distribuição de probabilidade de resultado para esta classe. Tipo de dados: cadeia de caracteres |
| <Object>.includedClasses.<class name> .estatísticas | Lista de objetos que fornecem dados estatísticos de treinamento. Para obter mais informações, consulte Configuração de métricas de destino. Tipo de dados: matriz de objetos
|
| <Object>.includedClasses.<class name> .estatística.cobertura | Métrica de cobertura de solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
| <Object>.includedClasses.<class name> .estatística.precisão | Métrica de precisão da solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
| <Object>.includedClasses.<class name> .estatística.recall | Métrica de recall de solução estimada para esta classe. Tipo de dados: cadeia de caracteres (valor numérico) |
| <Object>.includedClasses.<class name> .estatísticas.selecionadas | Sinalizador que indica se esta classe contém registros incluídos no treinamento da solução. Valores válidos:
Tipo de dados: cadeia de caracteres (valor booliano) Padrão: falso |
| <Object>.excludedClasses | Distribuição e contagem de linhas de todas as classes excluídas do treinamento. Tipo de dados: objeto |
| <Object>.excludedClasses.<class name> .distribuição | Valor da distribuição de probabilidade de resultado para esta classe. Tipo de dados: cadeia de caracteres |
| <Object>.excludedClasses.<class name> .rowCount | Número de linhas excluídas do treinamento. Tipo de dados: cadeia de caracteres (valor numérico) |
O exemplo a seguir mostra como obter estatísticas de treinamento da solução ativa.
// Get training stats
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getTrainingStatistics()), null, 2));
Saída:
{
"includedClasses": {
"Approvals": {
"distribution": "0.43",
"statistics": [
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "true"
}
]
},
"Authentication": {
"distribution": "4.3",
"statistics": [
{
"precision": "39.33",
"coverage": "95.31",
"recall": "54.69",
"selected": "false"
},
{
"precision": "100",
"coverage": "0",
"recall": "0",
"selected": "false"
},
...
}
...
"excludedClasses": {
"ACE": {
"distribution": "0.11",
"rowCount": "9"
},
"AHA": {
"distribution": "0.01",
"rowCount": "1"
},
...
}
ClassificationSolutionVersion - getVersionNumber()
Obtém o número da versão de um objeto de solução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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.ClassificationSolutionStore.get('ml_incident_categorization');
gs.print("Version number: "+JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getVersionNumber()), null, 2));
Saída:
Version number: 1
ClassificationSolutionVersion - prever (entrada de objeto, opções de objeto)
Obtém os dados de entrada para uma previsão.
| 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. |
| 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:
Padrão: verdadeiro |
| opções.top_n | Número | Se fornecido, retorna os principais resultados, até o número especificado de previsões. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JSON que contém os resultados da previsão classificados por sys_id ou record_number. |
| <Object>.<identifier> | Lista de objetos com detalhes para cada resultado de previsão. Tipo de dados: matriz de objetos
|
| <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.ClassificationSolutionStore.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));
Saída:
{
"<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 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.ClassificationSolutionStore.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));
Saída:
{
"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": ""
}
]
}
ClassificationSolutionVersion - setPredictionSettings(Opções de objeto)
Define valores de precisão, cobertura ou recall no nível de solução ou de classe.
| Nome | Tipo | Descrição |
|---|---|---|
| opções | Objeto | Valores de configuração de métrica. Para obter informações sobre esses recursos, consulte Configuração de métricas de destino. |
| opções.metricName | Cadeia de caracteres | Nome da métrica a ser definida. Valores válidos:
|
| opções.metricValue | Cadeia de caracteres | Valor numérico a ser atribuído à métrica. |
| opções.className | Cadeia de caracteres | Opcional. Nome da classe para restringir os resultados. Use o método getTrainingStatistics() para recuperar uma lista completa de classes para uma solução. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como definir uma métrica de precisão como 89,5 para uma classe chamada Problemas de clone.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
var input = {"metricName" : "precision", "metricValue" : "89.5", "className" : "Clone Issues"};
mlSolution.getActiveVersion().setTrainingStatistics(input);