ClassificationSolution - Global
A API ClassificationSolution é 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.
- Crie um conjunto de dados usando a API DatasetDefinition.
- Opcional. Crie um codificador usando a API Encoder.
- Use o construtor para criar um objeto de solução de classificação.
- Adicione o objeto de solução ao armazenamento de soluções de classificação usando o método ClassificationSolutionStore - add().
- Treine a solução usando o método submitTrainingJob(). Isso cria uma versão do objeto que você pode gerenciar usando a API ClassificationSolutionVersion.
- Obtenha previsões usando o método ClassificationSolutionVersion – prever().
Para obter diretrizes de uso, consulte Como usar APIs de ML.
ClassificationSolution - ClassificationSolution(Configuração do objeto)
Cria uma solução de classificação.
| Nome | Tipo | Descrição |
|---|---|---|
| config | Objeto | Objeto JavaScript que contém propriedades de configuração do solução. |
| config.algorithmConfig | Objeto | Objeto JavaScript que contém propriedades de configuração do algoritmo. |
| config.algorithmConfig.algorithm | Cadeia de caracteres | Método para codificar sua solução.
Valores possíveis:
|
| config.algorithmConfig.targetClassRecall | Cadeia de caracteres | Aplica um parâmetro de recall de classe para orientar o treinamento de uma solução para direcionar uma classe específica. O formato é " <ClassName:RecallValue> " em que o valor de recall é um número entre 0 e 100 que representa uma porcentagem. Por exemplo, para definir e aplicar este parâmetro de solução com 90% de precisão para todos os registros treinados na classe E-mail, o valor é definido como "Email:90". |
| config.dataset | Objeto | Nome deDatasetDefinition. |
| config.domainName | Cadeia de caracteres | Opcional. Nome do domínio associado a este conjunto de dados. Consulte Separação de domínios e Inteligência preditiva. Padrão: domínio atual, por exemplo, |
| config.codificador | Objeto | Opcional. Objeto de codificador treinado a ser atribuído a esta solução. Consulte Codificador - Codificador (configuração de objeto). |
| config.groupByFieldName | Cadeia de caracteres | Opcional. Nome do campo pelo qual o sistema agrupa registros para criar soluções de classificação. Para obter informações de uso, consulte Uso de agrupar por para classificação. |
| config.inputFieldNames | Matriz | Lista de nomes de campos de entrada como cadeias de caracteres. O modelo usa esses campos usados para fazer previsões. |
| config.rótulo | Cadeia de caracteres | Identifica a tarefa de previsão. |
| config.minRowCount | Cadeia de caracteres | Opcional. Número mínimo de registros necessários no conjunto de dados para treinamento. Padrão: 10000 |
| config.predictedFieldName | Cadeia de caracteres | Identifica um campo a ser treinado para previsibilidade. |
| config.processingLanguage | Cadeia de caracteres | Opcional. Idioma de processamento no formato de código de idioma ISO 639-1 de duas letras. Padrão: "en" |
| config.palavras irrelevantes | Matriz | 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. Padrão: palavras irrelevantes em inglês |
| config.FrequênciaDetreinamento | Cadeia de caracteres | A frequência para retreinar o modelo.
Valores possíveis:
|
O exemplo a seguir mostra como criar um objeto e adicioná-lo ao ClassificationSolution store.
var myData = new sn_ml.DatasetDefinition(
{
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'fieldDetails' : [
{
'name' : 'category',
'type' : 'nominal'
},
{
'name' : 'short_description',
'type' : 'text'
}],
'encodedQuery' : 'activeANYTHING'
});
var mySolution = new sn_ml.ClassificationSolution({
'label': "my solution definition",
'dataset' : myData,
'predictedFieldName' : 'category',
'inputFieldNames': ['short_description']
});
var myClassificationName = sn_ml.ClassificationSolutionStore.add(mySolution);
ClassificationSolution - cancelTrainingJob()
Cancela um trabalho para um objeto de solução que foi enviado para treinamento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como cancelar um trabalho de treinamento existente.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification');
mySolution.cancelTrainingJob();
ClassificationSolution - getActiveVersion()
Objeto Obtém o ativo ClassificationSolutionVersion.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto ClassificationSolutionVersion ativo. |
O exemplo a seguir mostra como obter uma Solução de classificação versão ativa do armazenamento e retornar seu status de treinamento.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));
Saída:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - getAllVersions()
Obtém todas as versões de uma solução de classificação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | APIVersões existentes de um objeto de solução. Consulte também ClassificationSolutionVersion. |
O exemplo a seguir mostra como obter todos os objetos de versão ClassificationSolution e chamar os métodos de versão de solução getVersionNumber() e getStatus() neles.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
var mlSolutionVersions = mlSolution.getAllVersions();
for (i = 0; i < mlSolutionVersions.length; i++) {
gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");
};
Saída:
Version 3 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
Version 2 Status: {"state":"solution_complete","percentComplete":"100","hasJobEnded":"true"}
Version 1 Status: {"state":"solution_cancelled","percentComplete":"0","hasJobEnded":"true"}
ClassificationSolution - getLatestVersion()
Obtém a versão mais recente de uma solução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | ClassificationSolutionVersion objeto correspondente à versão mais recente de e ClassificationSolution(). |
O exemplo a seguir mostra como obter a versão mais recente de uma solução e retornar seu status de treinamento.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));
Saída:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - getName()
Obtém o nome do objeto a ser usado para interação com o armazenamento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nome do objeto de solução. |
O exemplo a seguir mostra como atualizar Solução de classificação as informações do conjunto de dados e imprimir o nome do objeto.
// Update solution
var myIncidentData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'encodedQuery' : 'activeANYTHING'
});
var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('classification'));
var myClassification = new sn_ml.ClassificationSolution({
'label': "my classification solution",
'dataset' : myIncidentData,
'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
'predictedFieldName': 'category'
});
// update solution
sn_ml.ClassificationSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myClassification);
// print solution name
gs.print('Solution Name: '+myClassification.getName());
Saída:
Solution Name: ml_x_snc_global_global_my_solution_definition_4
SoluçãoDeClassificação - getProperties()
Obtém propriedades do objeto de solução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Conteúdos dos detalhes do objeto Dataset e ClassificationSolution() no ClassificationSolutionStore. |
| <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. |
| <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>.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. |
O exemplo a seguir obtém propriedades de um objeto de solução no armazenamento.
var mySolution = sn_ml.ClassificationSolutionStore.get('ml_sn_global_global_classification_solution');
gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
*** Script: {
"datasetProperties": {
"tableName": "incident",
"fieldNames": [
"category",
"short_description",
"priority",
"assignment_group.name"
],
"fieldDetails": [
{
"name": "category",
"type": "nominal"
},
{
"name": "short_description",
"type": "text"
}
]
},
"domainName": "global",
"inputFieldNames": [
"short_description"
],
"label": "my solution definition",
"name": "ml_x_snc_global_global_my_solution_definition_26",
"predictedFieldName": "category",
"processingLanguage": "en",
"scope": "global",
"stopwords": [
"Default English Stopwords"
],
"trainingFrequency": "run_once"
}ClassificationSolution - getVersion(String version)
Obtém uma solução pelo número de versão fornecido.
| Nome | Tipo | Descrição |
|---|---|---|
| versão | Cadeia de caracteres | Número da versão existente de uma solução. |
| Tipo | Descrição |
|---|---|
| Objeto | Versão especificada do objeto ClassificationSolution() na qual você pode chamar métodos de API ClassificationSolutionVersion. |
O exemplo a seguir mostra como obter o status de treinamento de uma solução por número de versão.
var mlSolution = sn_ml.ClassificationSolutionStore.get('ml_x_snc_global_global_classification');
gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));
Saída:
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
ClassificationSolution - setActiveVersion(String version)
Ativa uma versão especificada de uma solução na loja.
| Nome | Tipo | Descrição |
|---|---|---|
| versão | Cadeia de caracteres | Nome da versão do objeto ClassificationSolution() a ser ativada. Ativar esta versão desativa qualquer outra versão. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como ativar uma versão de solução na loja.
sn_ml.ClassificationSolution.setActiveVersion("ml_incident_categorization");
ClassificationSolution - submitTrainingJob()
Envia um trabalho de treinamento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | ClassificaçãoSoluçãoClassificação objeto correspondente ao da versãoSolução que está sendo treinado. |
O exemplo a seguir mostra como criar um conjunto de dados, aplicá-lo a uma solução, adicionar a solução a um armazenamento e enviar o trabalho de treinamento.
// Create a dataset
var myData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['assignment_group', 'short_description', 'description'],
'encodedQuery' : 'activeANYTHING'
});
// Create a solution
var mySolution = new sn_ml.ClassificationSolution({
'label': "my solution definition",
'dataset' : myData,
'predictedFieldName' : 'assignment_group',
'inputFieldNames':['short_description']
});
// Add the solution to the store to later be able to retrieve it.
var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution);
// Train the solution - this is a long running job
var myClassifierVersion = mySolution.submitTrainingJob();