Bibliotecas do AutoAI para Python
A biblioteca autoai-lib para Python contém um conjunto de funções que ajudam a interagir com os experimentos IBM Watson Machine Learning AutoAI . Usando a biblioteca autoai-lib, é possível revisar e editar as transformações de dados que acontecem na criação do pipeline. Da mesma forma, é possível usar a biblioteca autoai-ts-libs para interagir com blocos de notas de pipeline para experimentos de série temporal.
Instalando autoai-lib ou autoai-ts-libs para Python
Siga as instruções em Instalando bibliotecas customizadas para instalar autoai-lib ou autoai-ts-libs.
Utilizando o autoai-lib e o autoai-ts-libs para o Python
As bibliotecas autoai-lib e autoai-ts-libs para Python contêm funções que o ajudam a interagir com os experimentos do AutoAI. Usando a biblioteca autoai-lib , é possível revisar e editar as transformações de dados que acontecem na criação de pipelines de classificação e regressão. Usando a biblioteca autoai-ts-libs , é possível revisar as transformações de dados que acontecem na criação de pipelines de séries temporais (previsão).
Instalando o autoai-lib e o autoai-ts-libs para o Python
Siga as instruções em Instalação de bibliotecas personalizadas para instalar autoai-lib e autoai-ts-libs.
Configurando a criação de log no nível da biblioteca
É possível configurar o criador de logs da biblioteca autoai_libs para seus requisitos Por exemplo, é possível definir e anexar manipuladores ou configurar filtros para customizar detalhes do log, como aviso e manipulação de erros
Se você não atualizar a configuração, obterá o comportamento padrão para criação de log. Por exemplo, mensagens de aviso de gravidade e superior (ou seja, aviso, erro e crítico) serão impressas em stderr (erro padrão) sem qualquer formatação especial. Por exemplo, mensagens de aviso são exibidas como WARNING sem formatação especial. Para obter mais informações sobre como configurar o registro em log e para ver exemplos, consulte a documentação do autoai-lib.
As funções do autoai-lib
O objeto de projeto instanciado que é criado após a importação da biblioteca autoai-lib expõe essas funções:
autoai_libs.transformers.exportable.NumpyColumnSelector()
Seleciona um subconjunto de colunas de uma matriz numpy
Uso:
autoai_libs.transformers.exportable.NumpyColumnSelector(columns=None)
| Opção | Descrição |
|---|---|
| colunas | lista de índices de coluna a selecionar |
autoai_libs.transformers.exportable.CompressStrings()
Remove espaços e caracteres especiais de colunas de sequência de uma matriz numpy de entrada X.
Uso:
autoai_libs.transformers.exportable.CompressStrings(compress_type='string', dtypes_list=None, misslist_list=None, missing_values_reference_list=None, activate_flag=True)
| Opção | Descrição |
|---|---|
compress_type |
tipo de compactação de sequência. 'string' para remover espaços de uma string e 'hash' para criação de um hash int. O padrão é 'string' 'hash' é usado para colunas com sequências e cat_imp_strategy = 'most_frequente' |
dtypes_list |
lista contendo strings que indicam o tipo de cada coluna da matriz numpy de entrada X (as strings podem ser 'char_str', 'int_str', 'float_str', 'float_num', 'float_int_num', 'int_num', 'Boolean' ou 'Unknown'). Se Nenhum, os tipos de coluna serão descobertos. O padrão é Nenhuma. |
misslist_list |
list contém listas de valores ausentes de cada coluna da matriz numpy de entrada X. Se Nenhum, os valores ausentes de cada coluna são descobertos. O padrão é Nenhuma. |
missing_values_reference_list |
lista de referência de valores ausentes na matriz numpy de entrada X |
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.NumpyReplaceMissingValues()
Dada uma matriz numpy e uma lista de referência de valores ausentes para ela, substitui valores ausentes por um valor especial (geralmente um valor especial ausente, como np.nan).
Uso:
autoai_libs.transformers.exportable.NumpyReplaceMissingValues(missing_values, filling_values=np.nan)
| Opção | Descrição |
|---|---|
missing_values |
lista de referência de valores ausentes |
filling_values |
valor especial que é atribuído a valores desconhecidos |
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues()
Dada uma matriz numpy e uma lista de referência de valores conhecidos para cada coluna, substitui valores que não fazem parte de uma lista de referência com um valor especial (tipicamente np.nan). Esse método geralmente é usado para remover rótulos para colunas em um conjunto de dados de teste que não foi visto nas colunas correspondentes do conjunto de dados de treinamento..
Uso:
autoai_libs.transformers.exportable.NumpyReplaceUnknownValues(known_values_list=None, filling_values=None, missing_values_reference_list=None)
| Opção | Descrição |
|---|---|
known_values_list |
lista de referência de listas de valores conhecidos para cada coluna |
filling_values |
valor especial que é atribuído a valores desconhecidos |
missing_values_reference_list |
lista de referência de valores ausentes |
autoai_libs.transformers.exportable.boolean2float()
Converte uma matriz booleana NumPy em floats, substituindo os valores ausentes por uns. Além disso, altera o tipo da matriz de 'object' para 'float'.
Uso:
autoai_libs.transformers.exportable.boolean2float(activate_flag=True)
| Opção | Descrição |
|---|---|
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.CatImputer()
Este transformador é um wrapper para imputador categórico. Internamente, ele usa atualmente o sklearn SimpleImputer
Uso:
autoai_libs.transformers.exportable.CatImputer(strategy, missing_values, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
| Opção | Descrição |
|---|---|
strategy |
sequência, opcional, default=”mean”. A estratégia de imputação para valores ausentes. - mean: substituir por utilizar a média ao longo de cada coluna. Pode ser usado apenas com dados numéricos.- median:replace usando a mediana ao longo de cada coluna Só pode ser usado com dados numéricos.- most_frequent:substituir por usar de valor mais frequente cada coluna. Utilizado com strings ou dados numéricos. - constant:substituir por fill_value. Pode ser usado com sequências ou dados numéricos. |
missing_values |
número, sequência, np.nan (padrão) ou Nenhum. O item temporário para os valores ausentes. Todas as ocorrências de missing_values são imputadas. |
sklearn_version_family |
str indicando a versão sklearn para compatibilidade com versões anteriores com as versões 019 e 020dev. Atualmente não utilizado. O padrão é Nenhuma. |
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.CatEncoder()
Esse método é um wrapper para o codificador categórico Se o parâmetro de codificação for 'ordinal', internamente ele utiliza atualmente o sklearn OrdinalEncoder. Se o parâmetro de codificação for "onehot" ou "onehot-dense", ele usará internamente o sklearn OneHotEncoder
Uso:
autoai_libs.transformers.exportable.CatEncoder(encoding, categories, dtype, handle_unknown, sklearn_version_family=global_sklearn_version_family, activate_flag=True)
| Opção | Descrição |
|---|---|
encoding |
str, 'onehot', 'onehot-dense' ou 'ordinal'. O tipo de codificação a usar (padrão é 'ordinal') 'onehot': codifica os recursos usando um esquema one-hot aka one-of-K (ou também chamado de codificação 'dummy'). Essa codificação cria uma coluna binária para cada categoria e retorna uma matriz esparsa. 'onehot-dense': o mesmo que 'onehot', mas retorna uma matriz densa em vez de uma matriz esparsa. 'ordinal': codifica os recursos como inteiros ordinais. O resultado é uma única coluna de inteiros (0 a n_categories-1) por recurso. |
categories |
'auto' ou uma lista de listas/matrizes de valores. Categorias (valores exclusivos) por recurso: 'auto': Determine categorias automaticamente a partir dos dados de treinamento. list : categories[i] contém as categorias esperadas na i-ésima coluna. As categorias transmitidas devem ser classificadas e não podem combinar sequências e valores numéricos. As categorias usadas podem ser localizadas no atributo encoder.categories_. |
dtype |
tipo de número, padrão de np.float64 Desejado padrão de saída. |
handle_unknown |
'erro' (padrão) ou 'ignorar'. Seja para criar um erro ou ignorar se um recurso categórico desconhecido estiver presente durante a transformação (o padrão é aumentar). Quando este parâmetro é configurado como 'ignore' e uma categoria desconhecida é encontrada durante a transformação, as colunas codificadas a quente resultantes para este recurso são todos os zeros. Na transformação inversa, uma categoria desconhecida é denotada como Nenhuma. Ignorar categorias desconhecidas não é suportado para encoding='ordinal'. |
sklearn_version_family |
str indicando a versão sklearn para compatibilidade com versões anteriores com as versões 019 e 020dev. Atualmente não utilizado. O padrão é Nenhuma. |
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.float32_transform()
Transforma uma matriz numpy float64 em float32.
Uso:
autoai_libs.transformers.exportable.float32_transform(activate_flag=True)
| Opção | Descrição |
|---|---|
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.FloatStr2Float()
Dada uma matriz numpy X e uma lista dtypes_list que indica os tipos de suas colunas, ela substitui as colunas de strings que representam números de precisão flutuante (tipo 'float_str' na dtypes_list) por colunas de números de precisão flutuante e substitui seus valores ausentes por np.nan.
Uso:
autoai_libs.transformers.exportable.FloatStr2Float(dtypes_list, missing_values_reference_list=None, activate_flag=True)
| Opção | Descrição |
|---|---|
dtypes_list |
list contém strings que denotam o tipo de cada coluna da matriz de entrada numpy array X (strings estão entre 'char_str', 'int_str', 'float_str', 'float_num', 'float_int_num', 'int_num', 'Boolean', 'Unknown'). |
missing_values_reference_list |
lista de referência de valores ausentes |
activate_flag |
bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.NumImputer()
Este método é um wrapper para imputador numérico.
Uso:
autoai_libs.transformers.exportable.NumImputer(strategy, missing_values, activate_flag=True)
| Opção | Descrição |
|---|---|
strategy |
num_imp_strategy: string, opcional (padrão = "média "). A estratégia de imputação: -Se "significar", então substitua os valores ausentes usando a média ao longo do eixo. -Se "mediana", então substitua os valores ausentes usando a mediana ao longo do eixo. -Se "most_frequente", então substitua o ausente usando o valor mais freqüente ao longo do eixo. |
missing_values |
inteiro ou "NaN", opcional (default="NaN"). O item temporário para os valores ausentes. Todas as ocorrências de missing_values são imputadas: - Para valores ausentes codificados como np.nan, use o valor da cadeia de caracteres “NaN”. - activate_flag: sinalizador que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. |
autoai_libs.transformers.exportable.OptStandardScaler()
Esse parâmetro é um wrapper para ajuste de escala de variável numérica. Atualmente, ele usa o 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)
| Opção | Descrição |
|---|---|
num_scaler_copy |
booleano, opcional, padrão True. Se False, tente evitar uma cópia e faça ajuste de escala interno em vez disso. Esta ação não é garantida para sempre funcionar.. Com no local, por exemplo, se os dados não forem uma matriz NumPy ou matriz CSR scipy.sparse , uma cópia ainda poderá ser retornada. |
num_scaler_with_mean |
booleano, True por padrão. Se True, centralize os dados para que seja possível escalar. Uma exceção é levantada quando tentativa em matrizes esparsas porque os centrando implica em construir uma matriz densa, que em casos de uso comum é provável que seja grande demais para caber na memória. |
num_scaler_with_std |
booleano, True por padrão. Se True, escale os dados para variância de unidade (ou de forma equivalente, desvio padrão de unidade). |
use_scaler_flag |
Boolean, bandeira que indica que esse transformador está ativo. Se False, transform(X) gera a matriz numpy de entrada X não modificada. O padrão é True. |
autoai_libs.transformers.exportable.NumpyPermuteArray()
Rearranja colunas ou linhas de uma matriz numpy com base em uma lista de índices.
Uso:
autoai_libs.transformers.exportable.NumpyPermuteArray(permutation_indices=None, axis=None)
| Opção | Descrição |
|---|---|
permutation_indices |
lista de índices com base em quais colunas são rearranjadas |
axis |
0 permuta ao longo de colunas. 1 permuta ao longo das linhas. |
Transformação de recurso
Esses métodos se aplicam às transformações de recurso descritas em Detalhes de implementação do 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)
Para funções sem estado unário, como quadrado ou log, use 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)
| Opção | Descrição |
|---|---|
fun |
o ponteiro de função |
name |
um nome de sequência que identifica exclusivamente este transformador de outros |
datatypes |
uma lista de datatipos qualquer dos quais são entradas válidas para a função transformer (numérico, float, int e etc.) |
feat_constraints |
todas as restrições, que devem ser satisfeitas por uma coluna a ser considerada uma entrada válida para esta transformação |
tgraph |
objeto do tgrafo deve ser o TGraph inicial () objeto. Esse parâmetro é opcional e é possível passar None, mas isso pode resultar em alguma falha para detectar algumas ineficiências devido à falta de armazenamento em cache |
apply_all |
use somente applyAll = True. Significa que o transformador enumera todos os recursos (ou conjuntos de recursos) que combinam com os critérios especificados e aplicam a função fornecida a cada um. |
col_names |
nomes das colunas de recurso em uma lista |
col_dtypes |
lista dos tipos de dados das colunas de recurso |
autoai_libs.cognito.transforms.transform_utils.TA2()
Para funções sem estado binárias, como soma, produto, use 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)
| Opção | Descrição |
|---|---|
fun |
o ponteiro de função |
name: um nome de sequência que identifica exclusivamente este transformador de outros |
|
datatypes1 |
uma lista de datatipos qualquer dos quais são entradas válidas (primeiro parâmetro) para a função transformer (numérico, float, int e assim por diante) |
feat_constraints1 |
todas as restrições, que devem ser satisfeitas por uma coluna a ser considerada uma entrada válida (primeiro parâmetro) para esta transformação |
datatypes2 |
uma lista de tipos de dados qualquer dos quais são entradas válidas (segundo parâmetro) para a função transformer (numérico, float, int e etc.) |
feat_constraints2 |
todas as restrições, que devem ser satisfeitas por uma coluna a ser considerada uma entrada válida (segundo parâmetro) para esta transformação |
tgraph |
objeto do tgrafo deve ser o invocando o TGraph () objeto. Observe que esse parâmetro é opcional e é possível transmitir Nenhum, mas isso resulta em algumas ineficiências ausentes devido à falta de armazenamento em cache |
apply_all |
use somente applyAll = True. Significa que o transformador enumera todos os recursos (ou conjuntos de recursos) que combinam com os critérios especificados e aplicam a função fornecida a cada um. |
col_names |
nomes das colunas de recurso em uma lista |
col_dtypes |
lista dos tipos de dados das colunas do recurso |
autoai_libs.cognito.transforms.transform_utils.TB1()
Para transformações baseadas em estado unárias (com ajuste/transformação), tal como contagem 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)
| Opção | Descrição |
|---|---|
tans_class |
uma classe que implementa fit( ) e transform( ) de acordo com a definição da função de transformação |
name |
um nome de sequência que identifica exclusivamente este transformador de outros |
datatypes |
lista de datatipos quaisquer dos quais são entrada válida para a função transformer (numérico, float, int e assim por diante) |
feat_constraints |
todas as restrições, que devem ser satisfeitas por uma coluna a ser considerada uma entrada válida para esta transformação |
tgraph |
objeto do tgrafo deve ser o invocando o TGraph () objeto. Note que isso é opcional e você pode passar Nenhum, mas isso resulta em algumas ineficiências faladas por falta de caching |
apply_all |
use somente applyAll = True. Significa que o transformador enumera todos os recursos (ou conjuntos de recursos) que combinam com os critérios especificados e aplicam a função fornecida a cada um. |
col_names |
nomes das colunas de recurso em uma lista. |
col_dtypes |
lista dos tipos de dados das colunas do recurso. |
autoai_libs.cognito.transforms.transform_utils.TAM()
Para uma transformação que se aplica no nível de dados, como PCA, use a TAM.
Uso:
autoai_libs.cognito.transforms.transform_utils.TAM(tans_class, name, tgraph=None, apply_all=True, col_names=None, col_dtypes=None)
| Opção | Descrição |
|---|---|
tans_class |
uma classe que implementa fit( ) e transform( ) de acordo com a definição da função de transformação |
name |
um nome de sequência que identifica exclusivamente este transformador de outros |
tgraph |
objeto do tgrafo deve ser o invocando o TGraph () objeto. Esse parâmetro é opcional e é possível transmitir Nenhum, mas isso resulta em algumas ineficiências ausentes devido à falta de armazenamento em cache |
apply_all |
use somente applyAll = True. Significa que o transformador enumera todos os recursos (ou conjuntos de recursos) que combinam com os critérios especificados e aplicam a função fornecida a cada um. |
col_names |
nomes das colunas de recurso em uma lista |
col_dtypes |
lista dos tipos de dados das colunas de recurso |
autoai_libs.cognito.transforms.transform_utils.TGen()
O TGen é um wrapper geral e pode ser usado para a maioria das funções (pode não ser mais eficiente embora).
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)
| Opção | Descrição |
|---|---|
fun |
o ponteiro de função |
name |
um nome de sequência que identifica exclusivamente este transformador de outros |
arg_count |
número de entradas para a função, neste exemplo é 1, para binário, são 2, e assim por diante |
datatypes_list |
uma lista de listas arg_count que correspondem aos tipos de dados de entrada aceitáveis para cada parâmetro. No exemplo anterior, desde `arg_count=1``, o resultado é uma lista dentro da lista externa e contém um único tipo chamado 'numérico'. Em outro caso, pode ser um caso específico 'int' ou ainda mais específico 'int64'. |
feat_constraints_list |
uma lista de listas arg_count que correspondem a algumas restrições que podem ser impostas na seleção dos recursos de entrada |
tgraph |
objeto do tgrafo deve ser o invocando o TGraph () objeto. Observe que esse parâmetro é opcional e é possível transmitir Nenhum, mas isso resulta em algumas ineficiências ausentes devido à falta de armazenamento em cache |
apply_all |
use somente applyAll = True. Significa que o transformador enumera todos os recursos (ou conjuntos de recursos) que combinam com os critérios especificados e aplicam a função fornecida a cada um. |
col_names |
nomes das colunas de recurso em uma lista |
col_dtypes |
lista dos tipos de dados das colunas do recurso |
autoai_libs.cognito.transforms.transform_utils.FS1()
Seleção de recurso, tipo 1 (usando correlação pairwise entre cada recurso e destino.)
Uso:
autoai_libs.cognito.transforms.transform_utils.FS1(cols_ids_must_keep, additional_col_count_to_keep, ptype)
| Opção | Descrição |
|---|---|
cols_ids_must_keep |
números de série das colunas que devem ser mantidas independentemente de sua importância de recurso |
additional_col_count_to_keep |
quantas colunas precisam ser retidas |
ptype |
classificação ou regressão |
autoai_libs.cognito.transforms.transform_utils.FS2()
Seleção de recurso, tipo 2.
Uso:
autoai_libs.cognito.transforms.transform_utils.FS2(cols_ids_must_keep, additional_col_count_to_keep, ptype, eval_algo)
| Opção | Descrição |
|---|---|
cols_ids_must_keep |
números de série das colunas que devem ser mantidas independentemente de sua importância de recurso |
additional_col_count_to_keep |
quantas colunas precisam ser retidas |
ptype |
classificação ou regressão |
As funções do autoai-ts-libs
A combinação de transformadores e estimadores é projetada e escolhida para cada pipeline pelo sistema de séries temporais do AutoAI . Alterar os transformadores ou os estimadores no notebook do pipeline gerado pode causar resultados inesperados ou até mesmo falhas. Não recomendamos alterar o notebook para pipelines gerados, assim, não oferecemos, atualmente, a especificação das funções para a biblioteca autoai-ts-libs .