Librerie AutoAI per Python
La libreria autoai-lib
per Python contiene un insieme di funzioni che aiutano a interagire con gli esperimenti di IBM watsonx.ai Runtime AutoAI. Utilizzando la libreria autoai-lib
è possibile rivedere e modificare le trasformazioni dei dati che avvengono nella creazione della pipeline. Allo stesso modo, puoi utilizzare la libreria autoai-ts-libs
per interagire con i notebook della pipeline per gli esperimenti di serie temporali.
Installazione di autoai - lib o autoai - ts - libs per Python
Seguire le istruzioni in Installazione di librerie personalizzate per installare autoai-lib
o autoai-ts-libs
.
Utilizzo di autoai - lib e autoai - ts - libs per Python
Le librerie autoai-lib
e autoai-ts-libs
per Python contengono funzioni che aiutano a interagire con gli esperimenti di AutoAI. Utilizzando la libreria autoai-lib
è possibile rivedere e modificare le trasformazioni dei dati che avvengono nella creazione di pipeline di classificazione e regressione. Utilizzando la libreria autoai-ts-libs
è possibile rivedere le trasformazioni dei dati che si svolgono nella creazione di pipeline di serie storiche (di previsione).
Installazione di autoai - lib e autoai - ts - libs per Python
Seguire le istruzioni in Installazione di librerie personalizzate per installare autoai-lib e autoai-ts-libs.
Configurazione della registrazione a livello di libreria
È possibile configurare il logger della libreria autoai_libs
per i propri requisiti. Ad esempio, è possibile definire e collegare i gestori o configurare i filtri per personalizzare i dettagli di log come la gestione degli errori e delle avvertenze.
Se non si aggiorna la configurazione, si otterrà il comportamento predefinito per la registrazione. Ad esempio, i messaggi di avvertenza di severità e superiori (ovvero avvertenza, errore e critico) verranno stampati in stderr
(errore standard) senza alcuna formattazione speciale. Ad esempio, i messaggi di avvertenza vengono visualizzati come AVVERTENZA senza formattazione speciale. Per ulteriori informazioni su come configurare la registrazione e per visualizzare gli esempi, consultare la documentazione di autoai-lib.
Le funzioni autoai - lib
L'oggetto di progetto instanziato che viene creato dopo l'importazione della libreria autoai-lib
espone queste funzioni:
autoai_libs.transformers.exportable.NumpyColumnSelector()
Seleziona un sottoinsieme di colonne di un array numpy
Uso:
autoai_libs.transformers.exportable.NumpyColumnSelector(columns=None)
Opzione | Descrizione |
---|---|
colonne | elenco degli indici delle colonne da selezionare |
autoai_libs.transformers.exportable.CompressStrings()
Rimuove gli spazi e i caratteri speciali da colonne di stringa di un array di input numpy X.
Uso:
autoai_libs.transformers.exportable.CompressStrings(compress_type='string', dtypes_list=None, misslist_list=None, missing_values_reference_list=None, activate_flag=True)
Opzione | Descrizione |
---|---|
compress_type |
tipo di compressione della stringa. 'stringa' per la rimozione di spazi da una stringa e 'hash' per la creazione di un hash int. Il valore predefinito è 'string '. 'hash' viene utilizzato per le colonne con stringhe e cat_imp_strategy = 'most_Frequent' |
dtypes_list |
elenco contenente stringhe che denotano il tipo di ciascuna colonna dell'input numpy array X (le stringhe sono tra 'char_str', 'int_str', 'float_str', 'float_num', 'float_int_num', 'int_num', 'Boolean', 'Unknown'). Se Nessuno, vengono rilevati i tipi di colonna. Il default è Nessuno. |
misslist_list |
elenco contiene elenchi di valori mancanti di ogni colonna della matrice di input numpy X. Se Nessuno, vengono rilevati i valori mancanti di ogni colonna. Il default è Nessuno. |
missing_values_reference_list |
elenco di riferimento dei valori mancanti nella matrice di input numpy X |
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.NumpyReplaceMissingValues()
Dato un array di numeri e un elenco di riferimenti di valori mancanti, sostituisce i valori mancanti con un valore speciale (di solito un valore mancante speciale come np.nan).
Uso:
autoai_libs.transformers.exportable.NumpyReplaceMissingValues(missing_values, filling_values=np.nan)
Opzione | Descrizione |
---|---|
missing_values |
elenco di riferimento dei valori mancanti |
filling_values |
valore speciale assegnato a valori sconosciuti |
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues()
Dato un array di numeri e un elenco di riferimenti di valori noti per ciascuna colonna, sostituisce i valori che non fanno parte di un elenco di riferimenti con un valore speciale (generalmente np.nan). Questo metodo viene in genere utilizzato per rimuovere le etichette per le colonne in un dataset di test che non è stato visualizzato nelle colonne corrispondenti del dataset di addestramento.
Uso:
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues(known_values_list=None, filling_values=None, missing_values_reference_list=None)
Opzione | Descrizione |
---|---|
known_values_list |
elenco di riferimento di elenchi di valori noti per ciascuna colonna |
filling_values |
valore speciale assegnato a valori sconosciuti |
missing_values_reference_list |
elenco di riferimento dei valori mancanti |
autoai_libs.transformers.exportable.boolean2float()
Converte una matrice di booleani NumPy in float, sostituendo i valori mancanti con gli uni. Cambia anche tipo di array da 'object 'a' float '.
Uso:
autoai_libs.transformers.exportable.boolean2float(activate_flag=True)
Opzione | Descrizione |
---|---|
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.CatImputer()
Questo trasformatore è un wrapper per l'imputazione categoriale. Internamente utilizza attualmente sklearn SimpleImputer
Uso:
autoai_libs.transformers.exportable.CatImputer(strategy, missing_values, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
Opzione | Descrizione |
---|---|
strategy |
stringa, opzionale, default="mean ". La strategia di imputazione per i valori mancanti. - mean : sostituire utilizzando la media lungo ciascuna colonna. Può essere utilizzato solo con dati numerici.- median :sostituire utilizzando la mediana lungo ogni colonna. Può essere utilizzato solo con dati numerici.- most_frequent :sostituire utilizzando il valore più frequente ogni colonna. Usato con stringhe o dati numerici.- constant :sostituire con fill_value. Può essere utilizzato con stringhe o dati numerici. |
missing_values |
numero, stringa, np.nan (valore predefinito) o Nessuno. Il segnaposto per i valori mancanti. Tutte le ricorrenze di missing_values sono imputate. |
sklearn_version_family |
str che indica la versione skimparo per la compatibilità all'indietro con le versioni 019 e 020dev. Attualmente inutilizzato. Il default è Nessuno. |
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.CatEncoder()
Questo metodo è un wrapper per codificatore categoriale. Se il parametro di codifica è 'ordinal ', internamente utilizza attualmente sklearn OrdinalEncoder. Se il parametro di codifica è 'onehot' o 'onehot-dense' internamente utilizza sklearn OneHotEncoder
Uso:
autoai_libs.transformers.exportable.CatEncoder(encoding, categories, dtype, handle_unknown, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
Opzione | Descrizione |
---|---|
encoding |
str, 'onehot', 'onehot-dense' o 'ordinale'. Il tipo di codifica da utilizzare (default è 'ordinale ') ' onehot ': codificare le funzioni utilizzando uno schema di uno - hot aka uno - di - K (o anche la codifica' dummy '). Questa codifica crea una colonna binaria per ciascuna categoria e restituisce una matrice sparsa. 'onehot-dense': uguale a 'onehot' ma restituisce una matrice densa invece di una matrice sparsa. 'ordinal': codifica le funzioni come numeri interi ordinali. Il risultato è una singola colonna di numeri interi (da 0 a n_categories - 1) per funzione. |
categories |
'auto' o un elenco di elenchi / array di valori. Categorie (valori univoli) per funzione: 'auto': Determina categorie automaticamente dai dati di formazione. list : categories[i] contiene le categorie previste nella colonna ith. Le categorie passate devono essere ordinate e non possono combinare stringhe e valori numerici. Le categorie utilizzate possono essere trovate nell'attributo encoder.categories_ . |
dtype |
tipo di numero, predefinito np.float64 Tipo dtype di output desiderato. |
handle_unknown |
'errore' (predefinito) o 'ignorare'. Se alzare un errore o ignorare se una funzione categoriale sconosciuta è presente durante la trasformazione (il default è quello di sollevare). Quando questo parametro è impostato su 'ignorare' e si incontra una categoria sconosciuta durante la trasformazione, le colonne codificate a caldo per questa funzione sono tutte zeri. Nella trasformazione inversa, una categoria sconosciuta viene denotata come Nessuno. Ignorare le categorie sconosciute non è supportato per encoding='ordinal' . |
sklearn_version_family |
str che indica la versione skimparo per la compatibilità all'indietro con le versioni 019 e 020dev. Attualmente inutilizzato. Il default è Nessuno. |
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.float32_transform()
Trasforma un array float64 numpy a float32.
Uso:
autoai_libs.transformers.exportable.float32_transform(activate_flag=True)
Opzione | Descrizione |
---|---|
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.FloatStr2Float()
Dato l'array numpy X e dtypes_list che denota i tipi delle sue colonne, sostituisce le colonne delle stringhe che rappresentano i float (tipo 'float_str' in dtypes_list) con le colonne dei float e sostituisce i relativi valori mancanti con np.nan.
Uso:
autoai_libs.transformers.exportable.FloatStr2Float(dtypes_list, missing_values_reference_list=None, activate_flag=True)
Opzione | Descrizione |
---|---|
dtypes_list |
elenco contiene stringhe che denotano il tipo di ciascuna colonna dell'input numpy array X (le stringhe sono tra 'char_str', 'int_str', 'float_str', 'float_num', 'float_int_num', 'int_num', 'Boolean', 'Unknown'). |
missing_values_reference_list |
elenco di riferimento dei valori mancanti |
activate_flag |
indicatore che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.NumImputer()
Questo metodo è un wrapper per l'assegnazione numerica.
Uso:
autoai_libs.transformers.exportable.NumImputer(strategy, missing_values, activate_flag=True)
Opzione | Descrizione |
---|---|
strategy |
num_imp_strategy: stringa, opzionale (default = "mean "). La strategia di imputazione: - Se "significa", quindi sostituire i valori mancanti utilizzando la media lungo l'asse. - Se "mediana", poi sostituire i valori mancanti utilizzando la mediana lungo l'asse. - Se "most_frequente", quindi sostituire la scomparsa utilizzando il valore più frequente lungo l'asse. |
missing_values |
intero o “NaN”, opzionaledefault=”NaN” Il segnaposto per i valori mancanti. Tutte le occorrenze di missing_values vengono imputate Per i valori mancanti codificati come np.nan, utilizzare il valore stringa “NaN” activate_flag : flag che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. |
autoai_libs.transformers.exportable.OptStandardScaler()
Questo parametro è un wrapper per la scalabilità delle variabili numeriche. Attualmente utilizza sklearn StandardScaler internamente.
Uso:
autoai_libs.transformers.exportable.OptStandardScaler(use_scaler_flag=True, num_scaler_copy=True, num_scaler_with_mean=True, num_scaler_with_std=True)
Opzione | Descrizione |
---|---|
num_scaler_copy |
Boolean, opzionale, predefinito True. Se False, cercare di evitare una copia e fare scaling in-place invece. Questa azione non è sempre garantita per funzionare. Con in - place, ad esempio, se i dati non sono un array NumPy o una matrice CSR scipy.sparse , potrebbe essere ancora restituita una copia. |
num_scaler_with_mean |
Boolean, Vero per impostazione predefinita. Se Vero, centrare i dati prima di scalare. Un'eccezione viene sollevata quando si tentano le matrici sparse perché la loro centralità comporta la costruzione di una matrice densa, che nei casi di utilizzo comune rischia di essere troppo grande per adattarsi alla memoria. |
num_scaler_with_std |
Boolean, Vero per impostazione predefinita. Se Vero, scaldare i dati a varianza unità (o in modo equivalente, deviazione standard unità). |
use_scaler_flag |
Boolean, bandiera che indica che questo trasformatore è attivo. Se False, trasformare (X) outmette l'input numpy array X non modificato. L'impostazione predefinita è true. |
autoai_libs.transformers.exportable.NumpyPermuteArray()
Riorganizza colonne o righe di un array numpy basato su un elenco di indici.
Uso:
autoai_libs.transformers.exportable.NumpyPermuteArray(permutation_indices=None, axis=None)
Opzione | Descrizione |
---|---|
permutation_indices |
elenco degli indici basati su quali colonne sono ridisposte |
axis |
0 permute lungo colonne. 1 permuto lungo le righe. |
trasformazione della funzione
Questi metodi si applicano alle trasformazioni di funzione descritte nei dettagli di implementazione di AutoAI.
autoai_libs.cognito.transforms.transform_utils.TA1(fun, name = None, datatypes = None, feat_vincolaints=None, tgraph = None, apply_all=True, col_names=None, col_dtypes=None)
Per le funzioni unarie senza stato, ad esempio quadrato o log, utilizzare TA1.
Uso:
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)
Opzione | Descrizione |
---|---|
fun |
il puntatore della funzione |
name |
un nome stringa che identifica univocamente questo trasformatore dagli altri |
datatypes |
un elenco di datatypes di cui sono validi input per la funzione trasformatore (numerico, float, int e così via) |
feat_constraints |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido per questa trasformazione |
tgraph |
oggetto tgrafico deve essere il TGraph di partenza () oggetto. Questo parametro è facoltativo ed è possibile passare Nessuno, ma ciò può causare un errore nel rilevamento di alcune inefficienze dovute alla mancanza di memorizzazione nella cache |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
col_names |
nomi delle colonne della funzione in un elenco |
col_dtypes |
elenco dei datatype delle colonne della funzione |
autoai_libs.cognito.transforms.transform_utils.TA2()
Per le funzioni stateless binarie, come la somma, il prodotto, utilizzare TA2.
Uso:
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)
Opzione | Descrizione |
---|---|
fun |
il puntatore della funzione |
name : un nome stringa che identifica univocamente questo transformer dagli altri |
|
datatypes1 |
un elenco di datatypes di cui sono input validi (primo parametro) alla funzione trasformatore (numerico, float, int e così via) |
feat_constraints1 |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido (primo parametro) a questa trasformazione |
datatypes2 |
un elenco di tipi di dati o di cui sono validi input (secondo parametro) alla funzione trasformatore (numerico, float, int e così via) |
feat_constraints2 |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido (secondo parametro) a questa trasformazione |
tgraph |
oggetto tgrafico deve essere la fatturazione TGraph () oggetto. Notare che questo parametro è facoltativo ed è possibile passare Nessuno, ma ciò causa alcune inefficienze mancanti a causa della mancanza di memorizzazione nella cache |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
col_names |
nomi delle colonne della funzione in un elenco |
col_dtypes |
elenco dei tipi di dati delle colonne della funzione |
autoai_libs.cognito.transforms.transform_utils.TB1()
Per le trasformazioni a base statale unarie (con fit/transform) utilizzare, come il conteggio frequente.
Uso:
autoai_libs.cognito.transforms.transform_utils.TB1(tans_class, name, datatypes, feat_constraints, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Opzione | Descrizione |
---|---|
tans_class |
una classe che implementa fit( ) e transform( ) in conformità con la definizione della funzione di trasformazione |
name |
un nome stringa che identifica univocamente questo trasformatore dagli altri |
datatypes |
elenco dei datatype o dei quali sono validi input per la funzione transformer (numerico, float, int e così via) |
feat_constraints |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido per questa trasformazione |
tgraph |
oggetto tgrafico deve essere la fatturazione TGraph () oggetto. Si noti che questo è facoltativo e si potrebbe passare Nessuno, ma questo determina alcune inefficienze mancanti a causa della mancanza di caching |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
col_names |
nomi delle colonne della funzione in un elenco. |
col_dtypes |
elenco dei tipi di dati delle colonne della funzione. |
autoai_libs.cognito.transforms.transform_utils.TB2()
Per le trasformazioni basate sullo stato binario (con fit/transform) utilizzare, come ad esempio il gruppo - by.
Uso:
autoai_libs.cognito.transforms.transform_utils.TB2(tans_class, name, datatypes1, feat_constraints1, datatypes2, feat_constraints2, tgraph=None, apply_all=True)
Opzione | Descrizione |
---|---|
tans_class |
una classe che implementa fit () e transform () conformemente alla definizione della funzione di trasformazione |
name |
un nome stringa che identifica univocamente questo trasformatore dagli altri |
datatypes1 |
un elenco di tipi di dati o di cui sono validi input (primo parametro) alla funzione trasformatore (numerico, float, int e così via) |
feat_constraints1 |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido (primo parametro) a questa trasformazione |
datatypes2 |
un elenco di tipi di dati o di cui sono validi input (secondo parametro) alla funzione trasformatore (numerico, float, int e così via) |
feat_constraints2 |
tutti i vincoli, che devono essere soddisfatti da una colonna da considerare un input valido (secondo parametro) a questa trasformazione |
tgraph |
oggetto tgrafico deve essere la fatturazione TGraph () oggetto. Questo parametro è facoltativo e si potrebbe passare Nessuno, ma ciò causa alcune inefficienze mancanti a causa della mancanza di memorizzazione nella cache |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
autoai_libs.cognito.transforms.transform_utils.TAM()
Per una trasformazione che si applica a livello dei dati, come PCA, utilizzare TAM.
Uso:
autoai_libs.cognito.transforms.transform_utils.TAM(tans_class, name, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
Opzione | Descrizione |
---|---|
tans_class |
una classe che implementa fit( ) e transform( ) in conformità con la definizione della funzione di trasformazione |
name |
un nome stringa che identifica univocamente questo trasformatore dagli altri |
tgraph |
oggetto tgrafico deve essere la fatturazione TGraph () oggetto. Questo parametro è facoltativo ed è possibile passare Nessuno, ma ciò causa alcune inefficienze mancanti a causa della mancanza di memorizzazione nella cache |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
col_names |
nomi delle colonne della funzione in un elenco |
col_dtypes |
elenco dei datatype delle colonne della funzione |
autoai_libs.cognito.transforms.transform_utils.TGen()
TGen è un wrapper generale e può essere utilizzato per la maggior parte delle funzioni (potrebbe non essere più efficiente però).
Uso:
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)
Opzione | Descrizione |
---|---|
fun |
il puntatore della funzione |
name |
un nome stringa che identifica univocamente questo trasformatore dagli altri |
arg_count |
numero di input alla funzione, in questo esempio è 1, per binario è 2 e così via |
datatypes_list |
un elenco di elenchi di arg_count che corrispondono ai tipi di dati di input accettabili per ogni parametro. Nell'esempio precedente, poiché `arg_count=1``, il risultato è un elenco all'interno dell'elenco esterno e contiene un singolo tipo denominato 'numeric'. In un altro caso, potrebbe essere un caso specifico 'int' o anche più specifico 'int64'. |
feat_constraints_list |
un elenco di elenchi arg_count che corrispondono ad alcuni vincoli che possono essere imposti sulla selezione delle feature di immissione |
tgraph |
oggetto tgrafico deve essere la fatturazione TGraph () oggetto. Notare che questo parametro è facoltativo ed è possibile passare Nessuno, ma ciò causa alcune inefficienze mancanti a causa della mancanza di memorizzazione nella cache |
apply_all |
utilizzare solo applyAll = True. Significa che il trasformatore elenca tutte le funzioni (o feature set) che corrispondono ai criteri specificati e applicano la funzione fornita a ciascuno. |
col_names |
nomi delle colonne della funzione in un elenco |
col_dtypes |
elenco dei tipi di dati delle colonne della funzione |
autoai_libs.cognito.transforms.transform_utils.FS1()
Selezione della funzione, tipo 1 (mediante correlazione pairwise tra ogni feature e destinazione.)
Uso:
autoai_libs.cognito.transforms.transform_utils.FS1(cols_ids_must_keep, additional_col_count_to_keep, ptype)
Opzione | Descrizione |
---|---|
cols_ids_must_keep |
numeri di serie delle colonne che devono essere conservati indipendentemente dalla loro importanza caratteristica |
additional_col_count_to_keep |
quante colonne devono essere conservate |
ptype |
classificazione o regressione |
autoai_libs.cognito.transforms.transform_utils.FS2()
Selezione della funzione, tipo 2.
Uso:
autoai_libs.cognito.transforms.transform_utils.FS2(cols_ids_must_keep, additional_col_count_to_keep, ptype, eval_algo)
Opzione | Descrizione |
---|---|
cols_ids_must_keep |
numeri di serie delle colonne che devono essere conservati indipendentemente dalla loro importanza caratteristica |
additional_col_count_to_keep |
quante colonne devono essere conservate |
ptype |
classificazione o regressione |
Le funzioni autoai - ts - libs
La combinazione di trasformatori e stimatori è progettata e scelta per ogni pipeline dal sistema di serie temporali AutoAI . La modifica dei trasformatori o degli estimatori nel notebook di pipeline generati può causare risultati imprevisti o anche guasti. Non vi consigliamo di modificare il notebook per le pipeline generate, quindi non offriamo attualmente la specifica delle funzioni per la libreria autoai-ts-libs
.
Ulteriori informazioni
Selezione di un modello AutoAI
Argomento principale: Salvataggio di un notebook generato da AutoAI