Solution de régression : globale
L’API RegressionSolution est un objet pouvant contenir des scripts et pouvant être utilisé dans les Intelligence prédictive magasins.
Ce L’API nécessite 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().
- Formez 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 .
- Obtenir des prédictions à l’aide de la méthode RegressionSolutionVersion – predict().
Pour obtenir des instructions d’utilisation, consultez 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 la solution. |
| config.dataset | Objet | Nom de DatasetDefinition . |
| config.domainName | Chaîne | Facultatif. Nom du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive. Par défaut : domaine actuel, par exemple, |
| config.encoder | Objet | Facultatif. Objet d’encodeur 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 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 l’ensemble 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 des raisons de prévisibilité. |
| config.predictedInterval | Tableau | Obligatoire sauf si le paramètre .predictedFieldName Définit une gamme de champs pour former votre solution afin qu’elle inspire 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. Traitement du langage au format de code de langue ISO 639-1 à deux lettres. 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, reportez-vous à la section Créer une liste de mots vides personnalisés. 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 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 |
|---|---|
| Aucun |
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’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 magasin 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"
}
RegressionSolution : getAllVersions()
Obtient toutes les versions de un objet RegressionSolution .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Versions existantes d’un objet de solution. Voir également Version de la solution de régression API. |
L’exemple suivant montre comment obtenir tous les objets de version de RegressionSolution et appeler les méthodes de version de solution getVersionNumber() et getStatus() sur eux.
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 l’interaction 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 du 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 RegressionSolutionStore. |
| <Object>.datasetProperties (en anglais seulement) | 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 l’ensemble de données. Par exemple, « tableName » : « Incident ». Type de données : chaîne. |
| <Object>.datasetProperties.fieldNames | Liste des 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 du champ.
Type de données : tableau. |
| <Object>.datasetProperties.fieldNames.fieldDetails.<object>. nom | Nom du champ définissant le type d’informations auquel limiter 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 du domaine associé à cet ensemble de données. Voir Séparation de domaine et Intelligence prédictive. Type de données : chaîne. |
| <Object>.codeur | Objet encodeur 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 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 des raisons de prévisibilité. Type de données : chaîne. |
| <Object>.predictedInterval | Plage de valeurs spécifiant le niveau de fiabilité de prédiction. Type de données : tableau |
| <Object>.processingLanguage | Traitement du langage 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 global.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, reportez-vous à la section 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 la chaîne)
Obtient une solution par numéro de version fourni.
| Nom | Type | Description |
|---|---|---|
| version | Chaîne | Numéro de version existante d’une solution. |
| Type | Description |
|---|---|
| Objet | Version spécifiée de l’objet RegressionSolution() sur lequel vous pouvez appeler les méthodes d’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(version de chaîne)
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 toutes les autres versions. |
| Type | Description |
|---|---|
| Aucun |
L’exemple suivant montre comment activer une version de solution dans le Store.
sn_ml.RegressionSolution.setActiveVersion("ml_incident_categorization");
Solution de régression : submitTrainingJob()
Soumet une tâche de formation.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Solution de régressionVersion Objet correspondant à l’objet d’entraînement Solution de régression . |
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();