Solution de régression : globale
L’API RegressionSolution est un objet pouvant contenir des scripts utilisé dans les Intelligence prédictive magasins.
Ce L’API requiert le module d’extension Intelligence prédictive (com.glide.platform_ml) et est fournie dans l’espace de noms sn_ml .
- Créez un jeu de données à l’aide de l’API DatasetDefinition .
- Facultatif. Créez un encodeur à l’aide de l’API Encoder .
- Utilisez le constructeur pour créer un objet de solution de régression.
- Ajoutez l’objet de solution au magasin de solutions de régression à l’aide de la méthode RegressionSolutionStore - add().
- Entraînez la solution à l’aide de la méthode submitTrainingJob(). Cela crée une version de l’objet que vous pouvez gérer à l’aide de l’API RegressionSolutionVersion .
- Obtenez des prédictions à l’aide de la méthode RegressionSolutionVersion – predict().
Pour obtenir des instructions d’utilisation, reportez-vous à la section Utilisation des API ML.
RegressionSolution : RegressionSolution(Object config)
Crée une solution de régression.
| Nom | Type | Description |
|---|---|---|
| configuration | Objet | Objet JavaScript contenant les propriétés de configuration de l’attribut Solution. |
| config.dataset | Objet | Nom DatasetDefinition . |
| config.domainName | Chaîne | Facultatif. Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive. Par défaut : domaine actuel, par exemple, |
| config.encoder | Objet | Facultatif. Objet de codeur formé à affecter à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet). |
| config.inputFieldNames | Tableau | Liste des noms des champs d’entrée sous forme de chaînes. Le modèle utilise ces champs utilisés pour effectuer des prédictions. |
| config.label | Chaîne | Identifie la tâche de prédiction. |
| config.minRowCount | Chaîne | Facultatif. Nombre minimum d’enregistrements requis dans le jeu de données pour la formation. Par défaut : 10 000 |
| config.predictedFieldName | Chaîne | Obligatoire sauf si le paramètre predictedInterval. Identifie un champ à former pour la prévisibilité. |
| config.predictedInterval | Tableau | Obligatoire sauf si le paramètre predictedFieldName. Définit une gamme de champs pour former votre solution à la confiance. Prend en charge la fourniture de 2 champs de date non numériques. Par exemple, 'predictedInterval' : ['sys_updated_on', 'sys_created_on']. |
| config.processingLanguage | Chaîne | Facultatif. Langue de traitement au format de code de langue ISO 639-1 à deux lettres. Valeur par défaut : « en » |
| config.mots vides | Tableau | Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés. Valeur par défaut : mots vides en anglais |
| config.trainingFrequency | Chaîne | Fréquence de reformation du modèle.
Valeurs possibles :
|
L’exemple suivant montre comment créer un objet et l’ajouter à la propriété Magasin RegressionSolution.
var myNewData = new sn_ml.DatasetDefinition(
{
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'fieldDetails' : [
{
'name' : 'category',
'type' : 'nominal'
},
{
'name' : 'short_description',
'type' : 'text'
}],
'encodedQuery' : 'activeANYTHING'
});
var mySimSolution = new sn_ml.SimilaritySolution({
'label': "my solution definition",
'dataset' : myNewData,
'predictedFieldName' : 'category',
'inputFieldNames': ['short_description']
});
var mySimilarityName = sn_ml.SimilaritySolutionStore.add(mySimSolution);
L’exemple suivant montre comment créer un objet à former à l’aide de la predictedInterval propriété.
var myIncidentData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['short_description', 'sys_updated_on','sys_created_on'],
'encodedQuery' : 'activeANYTHING'
});
var mySolution = new sn_ml.RegressionSolution({
'label': 'reg assinGroup',
'dataset' : myIncidentData,
'predictedInterval': ['sys_updated_on', 'sys_created_on'],
'inputFieldNames': ['short_description']
});
var my_unique_name = sn_ml.RegressionSolutionStore.add(mySolution)
RegressionSolution : cancelTrainingJob()
Annule une tâche pour un objet de solution qui a été soumis pour une formation.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment annuler une tâche de formation existante.
var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression');
mySolution.cancelTrainingJob();
Solution de régression : getActiveVersion()
Obtient l’élément actif Objet RegressionSolutionVersion.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Objet RegressionSolutionVersion actif. |
L’exemple suivant montre comment obtenir une version active Solution de régression à partir du Store et renvoyer son état de formation.
var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
gs.print(JSON.stringify(JSON.parse(mlSolution.getActiveVersion().getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
Solution de régression : getAllVersions()
Obtient toutes les versions de un objet RegressionSolution .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Versions existantes d’un objet de solution. Voir aussi Version de la solution de régression API. |
L’exemple suivant montre comment obtenir tous les objets de version de RegressionSolution et y appeler les méthodes de version de solution getVersionNumber() et getStatus().
var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
var mlSolutionVersions = mlSolution.getAllVersions();
for (i = 0; i < mlSolutionVersions.length; i++) {
gs.print("Version " + mlSolutionVersions[i].getVersionNumber() + " Status: " + mlSolutionVersions[i].getStatus() +"\n");
};
Sortie :
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"}
Solution de régression : getLatestVersion()
Obtient la dernière version de une solution.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | RegressionSolutionVersion Objet correspondant à la dernière version de a RegressionSolution(). |
L’exemple suivant montre comment obtenir la dernière version d’une solution et renvoyer son état de formation.
var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
gs.print(JSON.stringify(JSON.parse(mlSolution.getLatestVersion().getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
Solution de régression : getName()
Obtient le nom de l’objet à utiliser pour interagir avec le magasin.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom de l’objet de solution. |
L’exemple suivant montre comment mettre à jour Solution de régression les informations d’un jeu de données et imprimer le nom de l’objet.
// Update solution
var myIncidentData = new sn_ml.DatasetDefinition({
'tableName' : 'incident',
'fieldNames' : ['category', 'short_description', 'priority'],
'encodedQuery' : 'activeANYTHING'
});
var eligibleFields = JSON.parse(myIncidentData.getEligibleFields('regression'));
var myRegression = new sn_ml.RegressionSolution({
'label': "my regression solution",
'dataset' : myIncidentData,
'inputFieldNames': eligibleFields['eligibleInputFieldNames'],
'predictedFieldName': 'category'
});
// update solution
sn_ml.RegressionSolutionStore.update('ml_x_snc_global_global_my_solution_definition_4', myRegression);
// print solution name
gs.print('Solution Name: '+myRegression.getName());
Sortie :
Solution Name: ml_x_snc_global_global_my_solution_definition_4
Solution de régression : getProperties()
Obtient les propriétés de l’objet de solution.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Contenu du jeu de données et détails de l’objet RegressionSolution() dans le RegressionSolutionStore. |
| <Object>.datasetProperties | Répertorie les propriétés de l’objet DatasetDefinition() associé à la solution.
Type de données : objet. |
| <Object>.datasetProperties.tableName | Nom de la table pour le jeu de données. Par exemple, « tableName » : « Incident ». Type de données : chaîne. |
| <Object>.datasetProperties.fieldNames | Liste de noms de champs de la table spécifiée en tant que chaînes. Par exemple, « fieldNames » : ["short_description », « priority"]. Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails | Liste des objets JavaScript qui spécifient les propriétés des champs.
Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>. Nom | Nom du champ définissant le type d’informations auquel restreindre cet ensemble de données. Type de données : chaîne. |
| <Object>.datasetProperties.fieldDetails.<object>. Type | Type de champ d’apprentissage machine. Type de données : chaîne. |
| <Object>.datasetProperties.fieldDetails.encodedQuery | Chaîne de requête codée au format Glide standard. Reportez-vous à la section Chaînes de requêtes codées. Type de données : chaîne. |
| <Object>.Domainname | Nom de domaine associé à cet ensemble de données. Reportez-vous aux sections Domain separation et Intelligence prédictive. Type de données : chaîne. |
| <Object>.Encodeur | Objet codeur affecté à cette solution. Reportez-vous à Encodeur - Encodeur (configuration d’objet). Type de données : objet. |
| <Object>.inputFieldNames | Liste des noms des champs d’entrée sous forme de chaînes. Le modèle utilise ces champs utilisés pour effectuer des prédictions. Type de données : chaîne. |
| <Object>.Étiquette | Identifie la tâche de prédiction.
Type de données : chaîne. |
| <Object>.Nom | Nom affecté par le système. Type de données : chaîne. |
| <Object>.predictedFieldName | Identifie un champ à former pour la prévisibilité. Type de données : chaîne. |
| <Object>.predictedInterval | Plage de valeurs spécifiant le niveau de confiance de prédiction. Type de données : tableau |
| <Object>.processingLanguage | Langue de traitement au format de code de langue ISO 639-1 à deux lettres. Type de données : chaîne. |
| <Object>.Portée | Périmètre de l’objet. Actuellement, la seule valeur valide est globale.Type de données : chaîne |
| <Object>.mots vides | Facultatif. Liste prédéfinie de chaînes que le système génère automatiquement en fonction du language paramètre de propriété. Pour plus d’informations, consultez Créer une liste de mots vides personnalisés. Type de données : tableau. |
| <Object>.trainingFrequency | Fréquence de reformation du modèle. Valeurs possibles :
Type de données : chaîne. |
L’exemple suivant obtient les propriétés d’un objet solutiondans le magasin.
var mySolution = sn_ml.RegressionSolutionStore.get('ml_sn_global_global_regression_solution');
gs.print(JSON.stringify(JSON.parse(mySolution.getProperties()), null, 2));
*** Script: {
"datasetProperties": {
"tableName": "cloudinfratext",
"fieldNames": [
"short_description",
"sourcedc",
"targetdc",
"dbsize",
"duration"
]
},
"domainName": "global",
"encoderProperties": {
"datasetsProperties": [],
"name": "wc_regression"
},
"inputFieldNames": [
"short_description",
"sourcedc",
"targetdc",
"dbsize"
],
"label": "Regression Test for DB Restore",
"name": "ml_x_snc_global_global_regression",
"predictedFieldName": "duration",
"processingLanguage": "en",
"scope": "global",
"stopwords": [
"Default English Stopwords"
],
"trainingFrequency": "every_30_days"
}RegressionSolution : getVersion(version de chaîne)
Obtient une solution par le numéro de version fourni.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Numéro de version existant d’une solution. |
| Type | Description |
|---|---|
| Objet | Version spécifiée de l’objet RegressionSolution() sur lequel vous pouvez appeler les méthodes de l’API RegressionSolutionVersion . |
L’exemple suivant montre comment obtenir l’état de formation d’une solution par numéro de version.
var mlSolution = sn_ml.RegressionSolutionStore.get('ml_x_snc_global_global_regression');
gs.print(JSON.stringify(JSON.parse(mlSolution.getVersion('1').getStatus()), null, 2));
Sortie :
{
"state": "solution_complete",
"percentComplete": "100",
"hasJobEnded": "true"
}
RegressionSolution : setActiveVersion(String version)
Active une version spécifiée d’une solution dans le magasin.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Nom de la version de l’objet RegressionSolution() à activer. L’activation de cette version désactive toute autre version. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment activer une version de solution dans le magasin.
sn_ml.RegressionSolution.setActiveVersion("ml_incident_categorization");
RegressionSolution : submitTrainingJob()
Soumet une tâche de formation.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | RegressionSolutionVersion Objet correspondant à l’objet RegressionSolution de formation. |
L’exemple suivant montre comment créer un jeu de données, l’appliquer à une solution, ajouter la solution à un magasin et soumettre la tâche de formation.
// 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.RegressionSolution({
'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.RegressionSolutionStore.add(mySolution);
// Train the solution - this is a long running job
var myRegressionVersion = mySolution.submitTrainingJob();