aibox.nlp.data.datasets.dataset_df

Adapter para representar DataFrame’s como Datasets.

Classes

DatasetDF(df, text_column, target_column[, ...])

Dataset a partir de um DataFrame.

class aibox.nlp.data.datasets.dataset_df.DatasetDF(df: DataFrame | PathLike | str | tuple[DataFrame | PathLike | str, DataFrame | PathLike | str] | list[DataFrame | PathLike | str], text_column: str, target_column: str, copy: bool = True, drop_others: bool = False, target_mapper: Callable[[Any], int | float] | None = None)[código-fonte]

Base: Dataset

Dataset a partir de um DataFrame.

Parâmetros:
  • df (DataFrame | PathLike | str | tuple[DataFrame | PathLike | str, DataFrame | PathLike | str] | list[DataFrame | PathLike | str]) – conjunto de dados que devem ser utilizados pelo dataset. Se é um valor único, ele é considerado o conjunto completo dos dados. Se tupla, o primeiro argumento é considerado para treinamento e o segundo para testes (retornados por train_test_split()), o conjunto completo é a concatenação. Se lista, os valores são considerados como splits (retornados por cv_splits()) e o conjunto completo é a concatenação.

  • text_column (str) – coluna que possui os textos.

  • target_column (str) – coluna com os valores target.

  • copy (bool) – se devemos armazenar uma cópia do ou não.

  • drop_others (bool) – se devemos remover outras colunas que não sejam as de texto e target.

  • target_mapper (Callable[[Any], int | float]) – função de mapeamento para coluna target. Deve ser utilizada caso algum pré-processamento deva ser aplicado para converter a coluna para valores numéricos (default=não realiza mapeamento).

Observações:

respeitam os argumentos passados como entrada. Isso é, se o
conjunto de treino e testes foi passado, ele será retornado
pela respectiva função. Do contrário, uma amostragem do conjunto
completo é realizada.
to_frame()[código-fonte]

Converte esse dataset para um DataFrame (cópia) com as colunas:

  1. text (str): textos;

  2. target (numérico): label;

O DataFrame pode ter colunas adicionais.

Retorna:

representação desse dataset como um DataFrame.

cv_splits(k: int, stratified: bool, seed: int) list[DataFrame][código-fonte]

Retorna splits para serem utilizados. Esse método particiona o dataset em k partes aleatórias de tamanho similar.

Parâmetros:
  • k (int) – quantidade de splits.

  • stratified (bool) – se os splits devem ser estratificados.

  • seed (int) – seed randômica para geração de splits. É garantido que uma mesma seed gere os mesmos splits.

Retorna:

Lista com k DataFrames.

Tipo de retorno:

list[DataFrame]

train_test_split(frac_train: float, stratified: bool, seed: int) tuple[DataFrame, DataFrame][código-fonte]

Obtém os conjuntos de treino e teste desse Dataset como DataFrames.

Parâmetros:
  • frac_train (float) – fração de amostras para treinamento.

  • stratified (bool) – se cada split deve ser estratificado.

  • seed (int) – seed randômica para geração de splits. É garantido que uma mesma seed gere os mesmos splits.

Retorna:

tupla (train, test).

Tipo de retorno:

tuple[DataFrame, DataFrame]

classmethod load_from_kaggle(ds_name: str, text_column: str, target_column: str, files_to_load: str | list[str], drop_others: bool = False, target_mapper: Callable[[Any], int | float] | None = None) Self[código-fonte]

Carrega um dataset a partir de um identificador de dataset no Kaggle. Se o dataset é privado ou requer permissão do usuário, é necessário ter realizado login com kagglehub.login().

Parâmetros:
  • ds_name (str) – identificador do dataset no Kaggle.

  • text_column (str) – coluna que contém textos.

  • target_column (str) – coluna que contém os targets.

  • *files_to_load (str | list[str]) –

    uma ou mais strings com quais arquivos devem ser carregados (o DataFrame final é uma concatenação linha a linha).

  • drop_others (bool) – se demais colunas devem ser removidas (default=False).

  • target_mapper (Callable[[Any], int | float] | None) – função de mapeamento da coluna target.

Retorna:

instância com os dados do dataset do Kaggle.

Tipo de retorno:

Self