AutoAI pour Python
La bibliothèque
pour Python contient un ensemble de fonctions qui vous aident à interagir avec les expériences IBM watsonx.ai Runtime AutoAI. En utilisant la bibliothèque autoai-lib
, vous pouvez réviser et éditer les transformations de données qui ont lieu lors de la création du pipeline. De même, vous pouvez utiliser la bibliothèque autoai-lib
pour interagir avec des blocs-notes de pipeline pour des expérimentations de séries temporelles.autoai-ts-libs
Installation d'autoai-lib ou autoai-ts-libs pour Python
Suivez les instructions de la rubrique Installation de bibliothèques personnalisées pour installer
ou autoai-lib
.autoai-ts-libs
Utilisation de autoai-lib et autoai-ts-libs pour Python
Les bibliothèques
et autoai-lib
pour Python contiennent des fonctions qui vous aident à interagir avec les expériences AutoAI. A l'aide de la bibliothèque autoai-ts-libs
, vous pouvez examiner et éditer les transformations de données qui se produisent lors de la création de pipelines de classification et de régression. A l'aide de la bibliothèque autoai-lib
, vous pouvez passer en revue les transformations de données qui ont lieu lors de la création de pipelines de séries temporelles (prévisions).autoai-ts-libs
Installation de autoai-lib et autoai-ts-libs pour Python
Suivez les instructions de la section Installation de bibliothèques personnalisées pour installer autoai-lib et autoai-ts-libs.
Configuration de la journalisation au niveau de la bibliothèque
Vous pouvez configurer le consignateur de bibliothèque
en fonction de vos besoins. Par exemple, vous pouvez définir et associer des gestionnaires ou configurer des filtres pour personnaliser les détails du journal, tels que le traitement des avertissements et des erreurs.autoai_libs
Si vous ne mettez pas à jour la configuration, vous obtiendrez le comportement par défaut de la journalisation. Par exemple, les messages de niveau de gravité Avertissement et supérieur (c'est-à-dire Avertissement, Erreur et Critique) seront imprimés dans
(erreur standard) sans formatage spécial. Par exemple, les messages d'avertissement s'affichent sous la forme WARNING sans formatage spécial. Pour plus d'informations sur la configuration de la journalisation et pour voir des exemples, reportez-vous à la documentation d' autoai-lib.stderr
Fonctions autoai-lib
L'objet de projet instancié créé après l'importation de la bibliothèque
expose les fonctions suivantes:autoai-lib
autoai_libs.transformers.exportable.NumpyColumnSelector()
Cette fonction permet de sélectionner un sous-ensemble de colonnes d'un tableau numpy.
Utilisation :
autoai_libs.transformers.exportable.NumpyColumnSelector(columns=None)
Option | Descriptif |
---|---|
columns | liste des index de colonne à sélectionner |
autoai_libs.transformers.exportable.CompressStrings()
Cette fonction permet de retirer des espaces et des caractères spéciaux des colonnes de chaîne d'un tableau numpy d'entrée X.
Utilisation :
autoai_libs.transformers.exportable.CompressStrings(compress_type='string', dtypes_list=None, misslist_list=None, missing_values_reference_list=None, activate_flag=True)
Option | Descriptif |
---|---|
|
Type de compression de chaîne. 'string'pour supprimer des espaces d'une chaîne et'hash'pour créer un hachage int. La valeur par défaut est'string'. 'hash'est utilisé pour les colonnes avec des chaînes et cat_imp_strategy ='most_frequemment' |
|
Liste contenant des chaînes qui indiquent le type de chaque colonne du tableau numpy en entrée X (les chaînes sont parmi'char_str','int_str','float_str','float_num','float_int_num','int_num','boolean','Unknown'). Si la valeur est None, le types de colonne sont reconnus. La valeur par défaut est None. |
|
liste contient des listes de valeurs manquantes de chaque colonne du tableau numpy d'entrée X. Si aucune, les valeurs manquantes de chaque colonne sont reconnues. La valeur par défaut est None. |
|
Liste de référence des valeurs manquantes dans le tableau numpy d'entrée X |
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.NumpyReplaceMissingValues()
Sur la base d'un tableau numpy et d'une liste de référence de valeurs manquantes pour ce tableau, cette fonction remplace les valeurs manquantes par une valeur spéciale (généralement une valeur manquante spéciale telle que np.nan).
Utilisation :
autoai_libs.transformers.exportable.NumpyReplaceMissingValues(missing_values, filling_values=np.nan)
Option | Descriptif |
---|---|
|
Liste de référence des valeurs manquantes |
|
valeur spéciale affectée à des valeurs inconnues |
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues()
Sur la base d'un tableau numpy et d'une liste de référence de valeurs connues pour chaque colonne, cette fonction remplace les valeurs qui ne font pas partie d'une liste de référence par une valeur spéciale (généralement, np.nan). Cette méthode est généralement utilisée pour supprimer les libellés des colonnes d'un jeu de données de test qui n'a pas été vu dans les colonnes correspondantes du jeu de données d'apprentissage.
Utilisation :
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues(known_values_list=None, filling_values=None, missing_values_reference_list=None)
Option | Descriptif |
---|---|
|
Liste de référence des listes de valeurs connues pour chaque colonne |
|
valeur spéciale affectée à des valeurs inconnues |
|
Liste de référence des valeurs manquantes |
autoai_libs.transformers.exportable.boolean2float()
Convertit un tableau booléen NumPy en valeurs flottantes, en remplaçant les valeurs manquantes par des valeurs uniques. Il modifie également le type de tableau de " objet " vers " float ".
Utilisation :
autoai_libs.transformers.exportable.boolean2float(activate_flag=True)
Option | Descriptif |
---|---|
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.CatImputer()
Ce transformateur est un encapsuleur pour les variables catégorielles. Actuellement, il utilise sklearn SimpleImputer en interne.
Utilisation :
autoai_libs.transformers.exportable.CatImputer(strategy, missing_values, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
Option | Descriptif |
---|---|
|
Chaîne facultative (par défaut, ”mean”). Stratégie d'imputation pour les valeurs manquantes. - : remplacez en utilisant la moyenne de chaque colonne. Ne peut être utilisé qu'avec des données numériques.- :replace en utilisant la médiane le long de chaque colonne. Ne peut être utilisé qu'avec des données numériques.- :replace en utilisant la valeur la plus fréquente dans chaque colonne. Utilisé avec des chaînes ou des données numériques.- : replace avec fill_value. Peut être utilisée avec des chaînes ou des données numériques. |
|
Nombre, chiffre, np.nan (par défaut) ou valeur None. Marque de réservation pour les valeurs manquantes. Toutes les occurrences de missing_values sont imputées. |
|
Chaîne indiquant la version sklearn pour la compatibilité amont avec les versions 019 et 020dev. Actuellement inutilisée. La valeur par défaut est None. |
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.CatEncoder()
Cette méthode est un encapsuleur pour l'encodeur catégoriel. Si le paramètre de codage est " ordinal ", il utilise actuellement le sklearn OrdinalEncoder en interne. Si le paramètre d'encodage est 'onehot', ou 'onehot-dense' en interne, il utilise le OneHotEncoder sklearn
Utilisation :
autoai_libs.transformers.exportable.CatEncoder(encoding, categories, dtype, handle_unknown, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
Option | Descriptif |
---|---|
|
Str,'onehot','onehot-dense'ou'ordinal'. Le type de codage à utiliser (la valeur par défaut est'ordinal') 'onehot': coder les fonctions à l'aide d'un schéma one-hot aka one-of-K (ou également appelé codage'dummy'). Ce codage crée une colonne binaire pour chaque catégorie et renvoie une matrice éparse. 'onehot-dense': identique à'onehot', mais renvoie un tableau dense au lieu d'une matrice éparse. 'ordinal': code les fonctions en tant qu'entiers ordinaux. Le résultat est une colonne unique d'entiers (0 à n_categories-1) par fonction. |
|
'auto' ou une liste de listes / tableaux de valeurs. Catégories (valeurs uniques) par fonction: 'auto': détermine automatiquement les catégories à partir des données d'apprentissage. : contient les catégories attendues dans la ième colonne. Les catégories transmises doivent être triées et ne peuvent pas mélanger des chaînes et des valeurs numériques. Les catégories utilisées se trouvent dans l'attribut . |
|
Type numérique, par défaut np.float64, dtype de sortie souhaité. |
|
" erreur " (par défaut) ou " ignore ". Indique s'il convient de générer une erreur ou d'ignorer si une fonction de catégorie inconnue est présente lors de la transformation (par défaut, une erreur est générée). Lorsque ce paramètre est défini sur'ignore'et qu'une catégorie inconnue est rencontrée lors de la transformation, les colonnes codées à chaud résultantes pour cette fonction sont toutes des zéros. Dans la transformation inverse, une catégorie inconnue est notée comme Néant. Les catégories inconnues ne sont pas prises en charge pour . |
|
Chaîne indiquant la version sklearn pour la compatibilité amont avec les versions 019 et 020dev. Actuellement inutilisée. La valeur par défaut est None. |
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.float32_transform()
Cette fonction permet de transformer un tableau numpy float64 en float32.
Utilisation :
autoai_libs.transformers.exportable.float32_transform(activate_flag=True)
Option | Descriptif |
---|---|
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.FloatStr2Float()
Étant donné le tableau numpy X et dtypes_list qui dénote les types de ses colonnes, il remplace les colonnes de chaînes qui représentent des flotteurs (type'float_str'dans dtypes_list) à des colonnes de flotteurs et remplace leurs valeurs manquantes par np.nan.
Utilisation :
autoai_libs.transformers.exportable.FloatStr2Float(dtypes_list, missing_values_reference_list=None, activate_flag=True)
Option | Descriptif |
---|---|
|
list contient des chaînes qui indiquent le type de chaque colonne du tableau numpy d'entrée X (les chaînes sont parmi'char_str','int_str','float_str','float_num','float_int_num','int_num','Boolean','Unknown'). |
|
Liste de référence des valeurs manquantes |
|
qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.NumImputer()
Cette méthode est un encapsuleur pour numérique.
Utilisation :
autoai_libs.transformers.exportable.NumImputer(strategy, missing_values, activate_flag=True)
Option | Descriptif |
---|---|
|
num_imp_strategy: chaîne, facultatif (valeur par défaut = moyenne). Stratégie d'imputation: -Si la valeur est "moyenne, remplacer les valeurs manquantes en utilisant la moyenne le long de l'axe. -Si la valeur est" médiane, remplacer les valeurs manquantes en utilisant la médiane le long de l'axe. -Si la valeur est " la plus fréquente, remplacer les valeurs manquantes en utilisant la valeur la plus fréquente le long de l'axe. |
|
Entier ou “NaN”, facultatif (par défaut = ”NaN”). Marque de réservation pour les valeurs manquantes. Toutes les occurrences de missing_values sont imputées Pour les valeurs manquantes codées en np.nan, utiliser la chaîne de valeur “NaN” : drapeau qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. |
autoai_libs.transformers.exportable.OptStandardScaler()
Ce paramètre est un encapsuleur pour la mise à l'échelle des variables numériques. Il utilise actuellement le sklearn StandardScaler en interne.
Utilisation :
autoai_libs.transformers.exportable.OptStandardScaler(use_scaler_flag=True, num_scaler_copy=True, num_scaler_with_mean=True, num_scaler_with_std=True)
Option | Descriptif |
---|---|
|
Valeur booléenne, facultative (par défaut, True). Si la valeur est False, tâchez d'éviter d'utiliser une copie et effectuez plutôt une mise à l'échelle en interne. Il n'est pas garanti que cette action fonctionne toujours. Par exemple, si les données ne sont pas un tableau NumPy ou une matrice CSR scipy.sparse , une copie peut toujours être renvoyée. |
|
Valeur booléenne (par défaut, True). Si la valeur est True, centrez les données avant d'effectuer la mise à l'échelle. Une exception est générée lors d'une tentative sur des matrices éparses car leur centrage implique la création d'une matrice dense, qui, dans les cas d'utilisation courants, est probablement trop grande pour tenir en mémoire. |
|
Valeur booléenne (par défaut, True). Si la valeur est True, effectuez une mise à l'échele des données vers l'écart d'unité (ou l'écart type d'unité). |
|
Booléen, indicateur qui indique que ce transformateur est actif. Si la valeur est False, transform(X) génère le tableau numpy d'entrée X non modifié. La valeur par défaut est True. |
autoai_libs.transformers.exportable.NumpyPermuteArray()
Réorganise les colonnes ou les lignes d'un tableau numpy en fonction d'une liste d'index.
Utilisation :
autoai_libs.transformers.exportable.NumpyPermuteArray(permutation_indices=None, axis=None)
Option | Descriptif |
---|---|
|
liste des index en fonction desquels les colonnes sont réorganisées |
|
0 permuter le long des colonnes. 1 permuté le long des lignes. |
Transformation des fonctions
Ces méthodes s'appliquent aux transformations de fonction décrites dans Détails de l'implémentation AutoAI.
autoai_libs.cognito.transforms.transform_utils.TA1(fun, name=None, datatypes=None, feat_constraints=None, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Pour les fonctions sans état unaires, telles que le carré ou le journal, utilisez TA1.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TA1(fun, name=None, datatypes=None, feat_constraints=None, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Option | Descriptif |
---|---|
|
Pointeur de fonction |
|
Nom (sous forme de chaîne) qui identifie de manière unique ce transformateur par rapport aux autres |
|
une liste de types de données dont l'un ou l'autre est une entrée valide pour la fonction de transformation (numérique, variable flottante, int, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide de cette transformation |
|
L'objet tgraph doit être le TGraph () de départ . Ce paramètre est facultatif et vous pouvez transmettre Aucun, mais cela peut entraîner un échec de la détection de certaines inefficacités en raison d'un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
|
Noms des colonnes de fonction répertoriés dans une liste |
|
Liste des types de données des colonnes de fonction |
autoai_libs.cognito.transforms.transform_utils.TA2()
Pour les fonctions sans état binaires, telles que sum, product, utilisez TA2.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TA2(fun, name, datatypes1, feat_constraints1, datatypes2, feat_constraints2, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Option | Descriptif |
---|---|
|
Pointeur de fonction |
: nom de chaîne qui identifie de manière unique ce transformateur à partir d'autres |
|
|
une liste de types de données qui sont des entrées valides (premier paramètre) de la fonction du transformateur (numérique, variable flottante, int, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide (premier paramètre) de cette transformation |
|
une liste de types de données qui sont des entrées valides (second paramètre) de la fonction de transformation (numérique, variable flottante, int, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide (deuxième paramètre) de cette transformation |
|
L'objet tgraph doit être l'objet TGraph () appelant . Notez que ce paramètre est facultatif et que vous pouvez transmettre None, mais cela entraîne des inefficacités manquantes en raison d'un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
|
Noms des colonnes de fonction répertoriés dans une liste |
|
liste des types de données des colonnes de caractéristiques |
autoai_libs.cognito.transforms.transform_utils.TB1()
Pour l'utilisation de transformations basées sur un état unaire (avec ajustement/transformation), telles que le comptage fréquent.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TB1(tans_class, name, datatypes, feat_constraints, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Option | Descriptif |
---|---|
|
une classe qui implémente et conformément à la définition de la fonction de transformation |
|
Nom (sous forme de chaîne) qui identifie de manière unique ce transformateur par rapport aux autres |
|
liste de types de données dont l'un ou l'autre est une entrée valide de la fonction du transformateur (numérique, flottant, entier, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide de cette transformation |
|
L'objet tgraph doit être l'objet TGraph () appelant . Notez que cette option est facultative et que vous risquez de passer la valeur None, mais cela entraîne des inefficacités manquantes en raison d'un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
|
Noms des colonnes de caractéristiques répertoriés dans une liste |
|
liste des types de données des colonnes de fonction. |
autoai_libs.cognito.transforms.transform_utils.TB2()
Pour l'utilisation de transformations basées sur un état binaire (avec ajustement/transformation), telles que le regroupement par.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TB2(tans_class, name, datatypes1, feat_constraints1, datatypes2, feat_constraints2, tgraph=None, apply_all=True)
Option | Descriptif |
---|---|
|
Classe qui implémente fit( ) et transform( ) conformément à la définition de fonction de transformation |
|
Nom (sous forme de chaîne) qui identifie de manière unique ce transformateur par rapport aux autres |
|
une liste de types de données qui sont des entrées valides (premier paramètre) de la fonction de transformation (numérique, variable flottante, int, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide (premier paramètre) de cette transformation |
|
une liste de types de données qui sont des entrées valides (second paramètre) de la fonction de transformation (numérique, variable flottante, int, etc.) |
|
toutes les contraintes, qui doivent être satisfaites par une colonne pour être considérées comme une entrée valide (deuxième paramètre) de cette transformation |
|
L'objet tgraph doit être l'objet TGraph () appelant . Ce paramètre est facultatif et vous pouvez transmettre None, mais cela entraîne des inefficacités manquantes en raison d'un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
autoai_libs.cognito.transforms.transform_utils.TAM()
Pour une transformation qui s'applique au niveau des données, telle que PCA, utilisez TAM.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TAM(tans_class, name, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Option | Descriptif |
---|---|
|
une classe qui implémente et conformément à la définition de la fonction de transformation |
|
Nom (sous forme de chaîne) qui identifie de manière unique ce transformateur par rapport aux autres |
|
L'objet tgraph doit être l'objet TGraph () appelant . Ce paramètre est facultatif et vous pouvez transmettre Aucun, mais il en résulte des inefficacités manquantes dues à un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
|
Noms des colonnes de fonction répertoriés dans une liste |
|
Liste des types de données des colonnes de fonction |
autoai_libs.cognito.transforms.transform_utils.TGen()
TGen est un encapsuleur général et peut être utilisé pour la plupart des fonctions (peut ne pas être le plus efficace cependant).
Utilisation :
autoai_libs.cognito.transforms.transform_utils.TGen(fun, name, arg_count, datatypes_list, feat_constraints_list, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Option | Descriptif |
---|---|
|
Pointeur de fonction |
|
Nom (sous forme de chaîne) qui identifie de manière unique ce transformateur par rapport aux autres |
|
nombre d'entrées de la fonction, dans cet exemple il est 1, pour binaire, il est 2, et ainsi de suite |
|
Liste de listes arg_count correspondant aux types de données d'entrée acceptables pour chaque paramètre. Dans l'exemple précédent, puisque `arg_count=1``, le résultat est une liste dans la liste externe et contient un type unique appelé'numérique'. Dans un autre cas, il peut s'agir d'un cas spécifique'int'ou même d'un cas plus spécifique'int64'. |
|
une liste de listes arg_count correspondant à certaines contraintes qui peuvent être imposées sur la sélection des fonctions d'entrée |
|
L'objet tgraph doit être l'objet TGraph () appelant . Notez que ce paramètre est facultatif et que vous pouvez transmettre None, mais cela entraîne des inefficacités manquantes en raison d'un manque de mise en cache |
|
Utilisez uniquement applyAll = True. Cela signifie que le transformateur énumère toutes les fonctions (ou ensembles de fonctions) qui correspondent aux critères spécifiés et qu'il applique la fonction fournie à chacune d'elles. |
|
Noms des colonnes de fonction répertoriés dans une liste |
|
liste des types de données des colonnes de caractéristiques |
autoai_libs.cognito.transforms.transform_utils.FS1()
Sélection de fonction, type 1 (utilisant une corrélation appariée entre chaque fonction et cible)
Utilisation :
autoai_libs.cognito.transforms.transform_utils.FS1(cols_ids_must_keep, additional_col_count_to_keep, ptype)
Option | Descriptif |
---|---|
|
Numéros de série des colonnes qui doivent être conservées indépendamment de l'importance de leur fonction |
|
Nombre de colonnes à conserver |
|
Classification ou régression |
autoai_libs.cognito.transforms.transform_utils.FS2()
Sélection de fonction, type 2.
Utilisation :
autoai_libs.cognito.transforms.transform_utils.FS2(cols_ids_must_keep, additional_col_count_to_keep, ptype, eval_algo)
Option | Descriptif |
---|---|
|
Numéros de série des colonnes qui doivent être conservées indépendamment de l'importance de leur fonction |
|
Nombre de colonnes à conserver |
|
Classification ou régression |
Les fonctions autoai-ts-libs
La combinaison de transformateurs et d'estimateurs est conçue et choisie pour chaque pipeline par le système de séries temporelles AutoAI . La modification des transformateurs ou des estimateurs dans le bloc-notes de pipeline généré peut entraîner des résultats inattendus ou même un échec. Nous ne vous recommandons pas de modifier le bloc-notes pour les pipelines générés. Par conséquent, nous n'offrons pas actuellement la spécification des fonctions pour la bibliothèque
.autoai-ts-libs
En savoir plus
Rubrique parent: Sauvegarde d'un bloc-notes généré par AutoAI