MLPredictor - Global (descontinuado)
. MLPredictor A API fornece métodos de utilitário para Inteligência preditiva previsões.
. MLPredictor A API requer Inteligência preditiva plug-in (com.glide.platform_ml) e é fornecido em sn_ml namespace.
Esta classe contém todos os métodos necessários para obter resultados de previsão dos dados de entrada.
MLPredictor - MLPredictor()
Instancia um novo objeto MLPredictor.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como usar um objeto MLPredictor em uma regra de negócios para registrar valores finais após uma previsão.
function executeRule(current, previous /*null when async*/) {
var predictor = new MLPredictor();
predictor.recordFinalValuesInPredictionResults(current, "On close");
}(current, previous);
MLPredictor - applyPrediction(GlideRecord Now_GR, Soluções de matriz)
Define valores previstos de uma matriz de soluções especificadas para um registro especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | O registro no qual aplicar a matriz de soluções previstas. |
| soluções | Matriz | Objetos de solução especificados associados ao GlideRecord. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir demonstra o uso do método applyPrediction() em uma regra de negócios.
(function executeRule(current, previous /*null when async*/) {
var mlPredictor = new MLPredictor();
//Get the list of active solutions for the glide record table
var solutions = mlPredictor.findActiveSolutionsForRecord(current);
//Run prediction and apply predicted value to the record
mlPredictor.applyPrediction(current, solution);
})(current, previous);
MLPredictor - applyPredictionForSolution(GlideRecord Now_GR, Solução de objeto)
Aplica um valor previsto de uma solução de classificação especificada ao GlideRecord especificado.
Para cada solução no GlideRecord, chame este método para prever os resultados e definir o valor do campo no incidente como esses resultados.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | Objeto GlideRecord que contém valores nos quais executar uma previsão e aplicar os resultados. |
| solução | Objeto | Objeto de solução de classificação a ser executado. |
| Tipo | Descrição |
|---|---|
| Booliano | Caso contrário, há erro. |
Para usar este modelo, copie a regra de negócio Previsão baseada em incidente (modelo), torne o novo registro Ativo e siga as instruções comentadas para inicializar a variável solutionNames.
(function executeRule(current, previous /*null when async*/) {
var solutionNames = ["solution1", "solution2", ...];
/* For domain separation (MSP) use case */
// var solutionNames;
// if (current.sys_domain == "A")
// solutionNames = ["solution_A1", "solution_A2", ...];
// else if (current.sys_domain == "B")
// solutionNames = ["solution_B1", "solution_B2", ...];
// else
// ...
var predictor = new MLPredictor();
var info = "";
solutionNames.forEach(function(solutionName) {
var solution = predictor.findActiveSolution(solutionName);
if (!solution)
return;
/* The next line of code does the prediction and updates the current record. */
predictor.applyPredictionForSolution(current, solution);
/* If no prediction is done, do not build the prediction info message. */
if (!predictor.applyPredictionForSolution(current, solution))
return;
/* If user doesn't have 'itil' role, we don't build prediction info message. */
if (!gs.hasRole('itil'))
return;
/* Building prediction info message */
var fieldName = solution.getPredictedField();
var fieldLabel = current.getElement(fieldName).getED().getLabel();
var predictedDisplayValue = current.getDisplayValue(fieldName);
var msg = gs.getMessage("Predicted {0} for {1}.", [predictedDisplayValue, fieldLabel]);
if (info.length > 0)
info += " ";
info += msg;
});
/* Print out prediction info message on screen. */
if (info.length > 0) {
var incidentUrl = "<a href='"+current.getLink()+"'>"+current.number+":</a>";
gs.addInfoMessage(incidentUrl + " " + info);
}
})(current, previous);
MLPredictor - findActiveSolution(String solutionName)
Obtém o objeto de solução.
Este método retornará as soluções somente se a definição ml_solution e a solução estiverem ativas.
| Nome | Tipo | Descrição |
|---|---|---|
| solutionName | Cadeia de caracteres | Nome do registro ml_solution. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto de solução para o especificado Nome da solução se a definição ml_solution e a solução estiverem ativas, caso contrário, nulo. |
Este exemplo usa um valor codificado e o passa para um modelo de aprendizado de máquina especificado. Você pode usar as variáveis Resultado e Confiança para definir valores ou outra lógica de negócios.
var solutionName = 'ml_incident_assignment';
var shortDescriptionValue = "Unable to connect!"
var input = {
short_description : shortDescriptionValue
};
var MLP = new MLPredictor();
var solution = MLP.findActiveSolution(solutionName);
var predictedOutcome = solution.predictText(input);
var outcome = predictedOutcome.predictedValue();
var confidence = predictedOutcome.confidence();
gs.info("Predicted value: " + outcome)
gs.info("Confidence: " + confidence)
Saída:
DxC_ML:
******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
Confidence: 80.78079080096245
MLPredictor - findActiveSolutisForRecord(GlideRecord now_GR)
Obtém soluções ativas para uma tabela em um GlideRecord especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | GlideRecord do qual coletar objetos de solução ativos. |
| Tipo | Descrição |
|---|---|
| Matriz | Matriz de objetos de solução ativos associados à tabela para a qual o registro especificado se destina. |
Este script passa um GlideRecord (como um incidente) e processa todas as soluções para o GlideRecord, retornando os valores de cada um.
/* This is only to get a hard-coded GR */
var current = new GlideRecord('incident');
current.get('965c9e5347c12200e0ef563dbb9a7156');
var predictor = new MLPredictor();
var solutions = predictor.findActiveSolutionsForRecord(current);
solutions.forEach(function(solution) {
var outcome = solution.predict(current);
/* Use this to set the field to the predicted value in the GlideRecord */
var fieldName = solution.getPredictedField();
current[fieldName] = outcome.predictedValue();
current.update();
gs.info("Predicted value: " + outcome.predictedValue())
gs.info("Confidence: " + outcome.confidence())
});
Saída (Previsão do grupo de atribuição):
DxC_ML: ******* Finished Prediction*********
*** Script: Predicted value: Software *** Script: Confidence:
99.74530683715315
Saída (Previsão de categoria):
DxC_ML:
******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
Confidence: 98.7172805135524
MLPredictor - getPredictedValue(Solução de objeto, Resultado de objeto)
Obtém o valor previsto para uma solução especificada com base no resultado de previsão especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| solução | Objeto | Solução da qual obter o valor previsto. |
| resultado | Objeto | Resultados do resultado de previsão para a solução especificada (resultado da variável: Solution.predict(now_GR)). |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor previsto para a solução especificada com base no resultado especificado da previsão. |
| Nulo | Retorna nulo se a confiança de previsão não atender aos limites. |
MLPredictor - getPredictions(GlideRecord now_GR, Solução de objeto, Opções de objeto)
Obtém previsões para uma solução especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | GlideRecord a ser previsto. |
| solução | Objeto | Objeto de solução a ser executado. |
| opções | Objeto | Par de valores de chave de objeto JSON opcional com as seguintes propriedades:
|
| Tipo | Descrição |
|---|---|
| Matriz | Matriz de objetos de resultado previsto |
O exemplo a seguir chama uma solução especificada e executa previsões nela.
function printOutcomeArr(outcomeArr) {
gs.print('################## Results ##################');
for (var i=0; i<outcomeArr.length; i++) {
var outcome = outcomeArr[i];
gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
}
}
var solutionName = 'ml_x_snc_global_prop_flip_test';
var predictor = new MLPredictor();
var solution = predictor.findActiveSolution(solutionName);
var now_GR = new GlideRecord('incident');
now_GR.get('1c741bd70b2322007518478d83673af3');
var options = {};
options.top_n = '10'; // top_n is an integer between 1 and 1000
options.apply_threshold = false; // Value can be set to true or false
printOutcomeArr(predictor.getPredictions(now_GR, solution, options));
MLPredictor - isClassificationSolution(Solução de objeto)
Identifica se um objeto de solução é um tipo de classificação.
| Nome | Tipo | Descrição |
|---|---|---|
| solução | Objeto | Nome da solução DE ML. |
| Tipo | Descrição |
|---|---|
| Booliano | Retorna verdadeiro se a solução de entrada for um tipo de classificação; caso contrário, retornará falso. |
var isClassificationSolution = this.isClassificationSolution(solution);
//classification solution each class has different threshold
//therefore needs to get all the results from ml engine
if (applyThreshold && isClassificationSolution) {
var maxClassificationTopN = 50;
outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
}
else {
outcomeArr = solution.predictTopN(now_GR, topN);
}
if (outcomeArr === null) {
//instead of returning null returning empty array
return [];
}
MLPredictor - isSimilaritySolution(Solução de objeto)
Identifica se um objeto de solução é um tipo de semelhança.
| Nome | Tipo | Descrição |
|---|---|---|
| solução | Objeto | Nome da solução DE ML; por exemplo, ml_incident_categorization. |
| Tipo | Descrição |
|---|---|
| Booliano | Retorna verdadeiro se a solução de entrada for um tipo de semelhança; caso contrário, retornará falso. |
MLPredictor - outcome.confidence()
Obtém a confiança do valor previsto.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A precisão estimada da previsão em porcentagem. Por exemplo, 53,84615375762915 . |
var MLP = new MLPredictor();
var solution = MLP.findActiveSolution(solutionName);
var predictedOutcome = solution.predictText(input);
var outcome = predictedOutcome.predictedValue();
var confidence = predictedOutcome.confidence();
gs.info("Predicted value: " + outcome)
gs.info("Confidence: " + confidence)
MLPredictor - outcome.predictedValue()
Obtém o valor previsto do objeto de resultado MLPredictor.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor previsto do objeto de resultado. |
var MLP = new MLPredictor();
var solution = MLP.findActiveSolution(solutionName);
var predictedOutcome = solution.predictText(input);
var outcome = predictedOutcome.predictedValue();
var confidence = predictedOutcome.confidence();
gs.info("Predicted value: " + outcome)
gs.info("Confidence: " + confidence)
MLPredictor - outcome.predictedValueSysId()
Obtém o sys_id do valor previsto.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id do valor previsto. |
function printOutcomeArr(outcomeArr) {
gs.print('################## Results ##################');
for (var i=0; i<outcomeArr.length; i++) {
var outcome = outcomeArr[i];
gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
}
MLPredictor - recordFinalValuesInPredictionResults(GlideRecord now_GR, motivo da cadeia de caracteres)
Define os valores finais do resultado de previsão para um GlideRecord especificado com um motivo especificado opcionalmente.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | GlideRecord no qual definir os valores finais do resultado da previsão. |
| motivo | Cadeia de caracteres | Opcional. Motivo para aplicar resultados. |
| Tipo | Descrição |
|---|---|
| vazio |
No exemplo a seguir, o método recordFinalValuesInPredictionResults() é chamado quando o incidente é encerrado.
(function executeRule(current, previous /*null when async*/) {
var predictor = new MLPredictor();
predictor.recordFinalValuesInPredictionResults(current, "On close");
})(current, previous);
MLPredictor - solution.getCapability()
Obtém as informações de capacidade de uma solução treinada.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | ID de definição e versão da solução treinada, caso contrário, mensagem de erro |
MLPredictor - solution.getName()
Obtém o nome da solução usada para previsão.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | O nome da solução a ser usada para previsões; por exemplo, ml_incident_categorization |
MLPredictor - solution.getPredictedField()
Obtém o valor previsto de uma solução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Valor do campo de saída previsto de uma solução |
/* Get a hard-coded GR */
var current = new GlideRecord('incident');
current.get('965c9e5347c12200e0ef563dbb9a7156');
var predictor = new MLPredictor();
var solutions = predictor.findActiveSolutionsForRecord(current);
solutions.forEach(function(solution) {
var outcome = solution.predict(current);
/* Use this to set the field to the predicted value in the GlideRecord */
var fieldName = solution.getPredictedField();
current[fieldName] = outcome.predictedValue();
current.update();
gs.info("Predicted value: " + outcome.predictedValue())
gs.info("Confidence: " + outcome.confidence())
});
MLPredictor - solution.getThreshold(cadeia de caracteres classname)
Obtém o limite da solução.
O limite representa uma porcentagem que reflete a precisão mínima da previsão.
| Nome | Tipo | Descrição |
|---|---|---|
| nomeClasse | Cadeia de caracteres | Um valor categórico especificado do campo de saída da solução |
| Tipo | Descrição |
|---|---|
| Número | Valor do limite representado como uma porcentagem entre 0 e 100. |
MLPredictor - solution.getVersion()
Obtém a versão da solução ativa.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Versão da solução ativa |
MLPredictor - solution.isActive()
Determina se a solução especificada está ativa.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Se a solução estiver ativa, caso contrário, falso |
MLPredictor - solution.predict(GlideRecord now_GR, limite de objeto)
Obtém resultados de previsão da solução como um objeto de resultado.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | GlideRecord da tabela de entrada da solução |
| limite | Objeto | Valor do limite (limite de nível de solução para semelhança, limite de nível de classe para classificação) |
| Tipo | Descrição |
|---|---|
| Objeto | Resultado do resultado de previsão da solução especificada (resultado da variável: Solution.predict(now_GR)) |
solutions.forEach(function(solution) {
var outcome = solution.predict(current);
/* Use this to set the field to the predicted value in the GlideRecord
var fieldName = solution.getPredictedField();
current[fieldName] = outcome.predictedValue();
current.update();
*/
gs.info("Predicted value: " + outcome.predictedValue())
gs.info("Confidence: " + outcome.confidence())
});
MLPredictor - solution.predictTopN(GlideRecord now_GR, Object TopN)
Retorna uma lista de objetos de resultado até o número esperado de previsões. Previsões de número máximo 1000.
| Nome | Tipo | Descrição |
|---|---|---|
| Now_GR | GlideRecord | GlideRecord da solução |
| topN | Objeto | Número esperado de previsões, qualquer número acima de 1000 retorna 1000 resultados |
| Tipo | Descrição |
|---|---|
| Matriz | Lista de objetos de resultado em uma matriz, incluindo GlideRecord, limite, ID do sistema e número esperado de previsões (objeto TopN) |
var isClassificationSolution = this.isClassificationSolution(solution);
//classification solution each class has different threshold
//therefore needs to get all the results from ml engine
if (applyThreshold && isClassificationSolution) {
var maxClassificationTopN = 50;
outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
}
else {
outcomeArr = solution.predictTopN(now_GR, topN);
}
if (outcomeArr === null) {
//instead of returning null returning empty array
return [];
}