microsoftml.rx_featurize: transformação de dados para fontes de dados
Uso
microsoftml.rx_featurize(data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
pandas.core.frame.DataFrame],
output_data: typing.Union[revoscalepy.datasource.RxDataSource.RxDataSource,
str] = None, overwrite: bool = False,
data_threads: int = None, random_seed: int = None,
max_slots: int = 5000, ml_transforms: list = None,
ml_transform_vars: list = None, row_selection: str = None,
transforms: dict = None, transform_objects: dict = None,
transform_function: str = None,
transform_variables: list = None,
transform_packages: list = None,
transform_environment: dict = None, blocks_per_read: int = None,
report_progress: int = None, verbose: int = 1,
compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)
Descrição
Transforma dados de um conjunto de dados de entrada em um conjunto de dados de saída.
Argumentos
data
Um objeto de fonte de dados revoscalepy, um dataframe ou o caminho para um arquivo .xdf
.
output_data
O nome do arquivo de saída ou xdf ou um RxDataSource
com funcionalidades de gravação em que os dados transformados serão armazenados. Se for definido como None, um dataframe será retornado. O valor padrão é None.
overwrite
Se for definido como True
, um output_data
existente será substituído. Se for definido como False
, um output_data
existente não será substituído. O valor padrão é False
.
data_threads
Um inteiro que especifica o grau desejado de paralelismo no pipeline de dados. Se for definido como None, o número de threads usados será determinado internamente. O valor padrão é None.
random_seed
Especifica a semente aleatória. O valor padrão é None.
max_slots
O número máximo de slots a serem retornados para colunas de valor de vetor (<=0 para retornar todos).
ml_transforms
Especifica uma lista de transformações do MicrosoftML a serem executadas nos dados antes do treinamento ou None para que nenhuma transformação seja executada. Confira featurize_text
, categorical
e categorical_hash
, para saber quais são as transformações com suporte.
Essas transformações são executadas após qualquer transformação do Python especificada.
O valor padrão é None.
ml_transform_vars
Especifica um vetor de caracteres de nomes de variáveis a ser usado em ml_transforms
ou None para que nenhum vetor seja usado.
O valor padrão é None.
row_selection
SEM SUPORTE. Especifica as linhas (observações) do conjunto de dados que devem ser usadas pelo modelo com o nome de uma variável lógica do conjunto de dados (entre aspas) ou com uma expressão lógica usando variáveis no conjunto de dados. Por exemplo:
row_selection = "old"
usará apenas observações nas quais o valor da variávelold
sejaTrue
.row_selection = (age > 20) & (age < 65) & (log(income) > 10)
apenas usa observações nas quais o valor da variávelage
está entre 20 e 65 e o valor delog
da variávelincome
é maior que 10.
A seleção de linha é executada após o processamento de todas as transformações de dados (confira os argumentos transforms
ou transform_function
). Assim como acontece com todas as expressões, é possível definir row_selection
fora da chamada de função usando a função expression
.
transformações
SEM SUPORTE. Uma expressão do formato que representa a primeira rodada de transformações de variável. Assim como acontece com todas as expressões, é possível definir transforms
(ou row_selection
) fora da chamada de função usando a função expression
.
O valor padrão é None.
transform_objects
SEM SUPORTE. Uma lista nomeada que contém objetos que podem ser referenciados por transforms
, transform_function
e row_selection
. O valor padrão é None.
transform_function
A função de transformação de variável. O valor padrão é None.
transform_variables
Um vetor de caracteres de variáveis do conjunto de dados de entrada necessário para a função de transformação. O valor padrão é None.
transform_packages
SEM SUPORTE. Um vetor de caracteres que especifica pacotes Python adicionais (fora aqueles especificados em RxOptions.get_option("transform_packages")
) a serem disponibilizados e pré-carregados para uso em funções de transformação de variável.
Por exemplo, os definidos explicitamente nas funções revoscalepy por meio dos respectivos argumentos transforms
e transform_function
ou os definidos implicitamente por meio dos respectivos argumentos formula
ou row_selection
. O argumento transform_packages
também pode ser None, indicando que nenhum pacote fora de RxOptions.get_option("transform_packages")
é pré-carregado.
transform_environment
SEM SUPORTE. Um ambiente definido pelo usuário para funcionar como um pai de todos os ambientes desenvolvidos internamente e usados para transformação de dados de variável.
Se transform_environment = None
, um novo ambiente de "hash" com revoscalepy.baseenv pai é usado. O valor padrão é None.
blocks_per_read
Especifica o número de blocos a serem lidos em cada parte dos dados lidos da fonte de dados.
report_progress
Um valor inteiro que especifica o nível de relatório sobre o progresso do processamento de linha:
0
: não é relatado nenhum progresso.1
: o número de linhas processadas é impresso e atualizado.2
: as linhas processadas e os tempos são relatados.3
: as linhas processadas e todos os tempos são relatados.
O valor padrão é 1
.
verbose
Um valor inteiro que especifica a quantidade de saída desejada.
Se definido como 0
, não será impressa nenhuma saída detalhada durante os cálculos. Valores inteiros de 1
a 4
fornecem quantidades crescentes de informações.
O valor padrão é 1
.
compute_context
Define o contexto no qual as computações são executadas, especificado com um revoscalepy.RxComputeContext válido. No momento, há suporte para os contextos de computação local e revoscalepy.RxInSqlServer.
Retornos
Um dataframe ou um objeto revoscalepy.RxDataSource que representa os dados de saída criados.
Confira também
rx_predict
, revoscalepy.rx_data_step, revoscalepy.rx_import.
Exemplo
'''
Example with rx_featurize.
'''
import numpy
import pandas
from microsoftml import rx_featurize, categorical
# rx_featurize basically allows you to access data from the MicrosoftML transforms
# In this example we'll look at getting the output of the categorical transform
# Create the data
categorical_data = pandas.DataFrame(data=dict(places_visited=[
"London", "Brunei", "London", "Paris", "Seria"]),
dtype="category")
print(categorical_data)
# Invoke the categorical transform
categorized = rx_featurize(data=categorical_data,
ml_transforms=[categorical(cols=dict(xdatacat="places_visited"))])
# Now let's look at the data
print(categorized)
Saída:
places_visited
0 London
1 Brunei
2 London
3 Paris
4 Seria
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Beginning processing data.
Rows Read: 5, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0521300
Finished writing 5 rows.
Writing completed.
places_visited xdatacat.London xdatacat.Brunei xdatacat.Paris \
0 London 1.0 0.0 0.0
1 Brunei 0.0 1.0 0.0
2 London 1.0 0.0 0.0
3 Paris 0.0 0.0 1.0
4 Seria 0.0 0.0 0.0
xdatacat.Seria
0 0.0
1 0.0
2 0.0
3 0.0
4 1.0