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 .

Saiba mais

Selecionando um modelo do AutoAI