Partilhar via


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ável old seja True.

  • row_selection = (age > 20) & (age < 65) & (log(income) > 10) apenas usa observações nas quais o valor da variável age está entre 20 e 65 e o valor de log da variável income é 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