Поделиться через


TabularDataset Класс

Набор табличных данных для использования в Машинном обучении Microsoft Azure.

TabularDataset определяет ряд неактивно оцениваемых, неизменяемых операций для загрузки данных из источника данных в табличное представление. Данные не загружаются из источника, пока TabularDataset не получит запрос на доставку данных.

TabularDataset создается с помощью таких методов, как from_delimited_files из класса TabularDatasetFactory.

Дополнительные сведения см. в статье Добавление & регистрировать наборы данных. Чтобы приступить к работе с табличным набором данных, перейдите по ссылке https://aka.ms/tabulardataset-samplenotebook.

Инициализация объекта TabularDataset.

Этот конструктор не должен вызываться напрямую. Набор данных предназначен для создания с помощью TabularDatasetFactory класса .

Наследование
TabularDataset

Конструктор

TabularDataset()

Комментарии

Объект TabularDataset можно создать из CSV-, TSV- или Parquet-файлов либо с помощью SQL-запроса на основе методов from_* класса TabularDatasetFactory. С объектами TabularDataset можно выполнять операции разбиения, такие как разделение, пропуск и фильтрация записей. Результатом разбиения всегда является один или несколько новых объектов TabularDataset.

Кроме того, можно преобразовать объект TabularDataset в другие форматы, например в кадр данных pandas. Фактическая загрузка данных происходит, когда объект TabularDataset получает запрос на доставку данных в другой механизм хранения (например, кадр данных pandas или CSV-файл).

Объект TabularDataset можно использовать в качестве входных данных для запуска эксперимента. Его также можно зарегистрировать в рабочей области с заданным именем, а затем извлечь по этому имени.

Методы

download

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Скачивает потоки файлов, определенные наборами данных, в расположение по локальному пути.

drop_columns

Удаляет указанные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

filter

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению.

get_profile

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Получает профиль данных из последнего выполнения профиля, отправленного для этого или того же набора данных в рабочей области.

get_profile_runs

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает предыдущие выполнения профиля, связанные с этим или тем же набором данных в рабочей области.

keep_columns

Сохраняет указанные столбцы и удаляет все остальные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

mount

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Создает диспетчер контекста для подключения потоков файлов, которые определяются набором данных в виде локальных файлов.

partition_by

Секционированные данные будут скопированы и выведены в место назначения, заданное целевым объектом.

Создает набор данных на основе пути к выводимым данным с использованием формата секции, регистрирует набор данных, если указано имя, возвращает набор данных для нового пути к данным с секциями


   ds = Dataset.get_by_name('test') # indexed by country, state, partition_date

   # #1: call partition_by locally
   new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
               target=DataPath(datastore, "repartition"))
   partition_keys = newds.partition_keys # ['country']

   # new_ds can be passed to PRS as input dataset
random_split

Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.

Первый набор данных содержит около percentage всех записей, а второй набор данных — остальные записи.

skip

Пропускает указанное число записей в начале набора данных.

submit_profile_run

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Отправляет выполнение эксперимента для вычисления профиля данных.

Профиль данных может быть очень полезен для понимания входных данных, выявления аномалий и отсутствующих значений. Он предоставляет полезную информацию о данных, например тип столбца, отсутствующие значения и т. д.

take

Получает выборку с указанным числом записей из начала набора данных.

take_sample

Получает случайную выборку записей из набора данных приблизительно с заданной вероятностью.

time_after

Фильтрация TabularDataset с помощью столбцов метки времени после указанного времени начала.

time_before

Выполняет фильтрацию TabularDataset с помощью столбцов метки времени до указанного времени окончания.

time_between

Выполняет фильтрацию TabularDataset между указанным временем начала и окончания.

time_recent

Фильтрует TabularDataset, чтобы этот объект содержал только последние данные за указанный период.

to_csv_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий CSV-файлы.

Результирующий набор данных будет содержать один или несколько CSV-файлов, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_dask_dataframe

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает кадр данных Dask, который может считывать данные в наборе данных в неактивном режиме.

to_pandas_dataframe

Загружает все записи из набора данных в кадр данных pandas.

to_parquet_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий файлы Parquet.

Результирующий набор данных будет содержать один или несколько файлов Parquet, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_spark_dataframe

Загружает все записи из набора данных в кадр данных Spark.

with_timestamp_columns

Определяет столбцы меток времени для набора данных.

download

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Скачивает потоки файлов, определенные наборами данных, в расположение по локальному пути.

download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)

Параметры

Имя Описание
stream_column
Обязательно
str

Столбец потоковой передачи для скачивания.

target_path
Обязательно
str

Локальный каталог для скачивания файлов. Если он не указан, данные будут скачаны во временный каталог.

overwrite
Обязательно

Указывает, следует ли перезаписывать существующие файлы. Значение по умолчанию — False. Существующие файлы будут перезаписаны, если для параметра перезаписи задано значение True; в противном случае будет вызвано исключение.

ignore_not_found
Обязательно

Указывает, следует ли завершить скачивание ошибкой, если не найдены некоторые файлы, на которые указывает набор данных. Значение по умолчанию равно True. Если для ignore_not_found задано значение False, скачивание завершится ошибкой при сбое скачивания любого файла по какой-либо причине. В противном случае в журнал будет занесено предупреждение о том, что ошибки не найдены, а скачивание будет успешным, если не возникнут ошибки других типов.

Возвращаемое значение

Тип Описание

Возвращает массив путей файла для каждого скачанного файла.

drop_columns

Удаляет указанные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

drop_columns(columns)

Параметры

Имя Описание
columns
Обязательно

Имя или список имен столбцов для удаления.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset с удаленными указанными столбцами.

filter

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению.

filter(expression)

Параметры

Имя Описание
expression
Обязательно
any

Выражение для вычисления.

Возвращаемое значение

Тип Описание

Измененный набор данных (регистрация отменена).

Комментарии

Выражения запускаются путем индексирования Dataset с именем столбца. Они поддерживают различные функции и операторы, а также могут объединяться с помощью логических операторов. Результирующее выражение будет вычисляться в неактивном режиме для каждой записи при извлечении данных, а не там, где оно определено.


   dataset['myColumn'] > dataset['columnToCompareAgainst']
   dataset['myColumn'].starts_with('prefix')

get_profile

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Получает профиль данных из последнего выполнения профиля, отправленного для этого или того же набора данных в рабочей области.

get_profile(workspace=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, куда был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace.

Возвращаемое значение

Тип Описание

Результат профиля из последнего запуска профиля типа DatasetProfile.

get_profile_runs

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает предыдущие выполнения профиля, связанные с этим или тем же набором данных в рабочей области.

get_profile_runs(workspace=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, куда был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace.

Возвращаемое значение

Тип Описание

Объект итератора типа azureml.core.Run.

keep_columns

Сохраняет указанные столбцы и удаляет все остальные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

keep_columns(columns, validate=False)

Параметры

Имя Описание
columns
Обязательно

Имя или список имен столбцов для сохранения.

validate
Обязательно

Указывает, следует ли проверять возможность загрузки данных из возвращенного набора данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset только с указанными столбцами.

mount

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Создает диспетчер контекста для подключения потоков файлов, которые определяются набором данных в виде локальных файлов.

mount(stream_column, mount_point=None)

Параметры

Имя Описание
stream_column
Обязательно
str

Столбец потока для подключения.

mount_point
Обязательно
str

Локальный каталог для подключения файлов. При значении None данные будут подключены к временному каталогу, который можно найти, вызвав метод экземпляра MountContext.mount_point.

Возвращаемое значение

Тип Описание
<xref:azureml.dataprep.fuse.daemon.MountContext>

Возвращает диспетчер контекста для управления жизненным циклом подключения.

partition_by

Секционированные данные будут скопированы и выведены в место назначения, заданное целевым объектом.

Создает набор данных на основе пути к выводимым данным с использованием формата секции, регистрирует набор данных, если указано имя, возвращает набор данных для нового пути к данным с секциями


   ds = Dataset.get_by_name('test') # indexed by country, state, partition_date

   # #1: call partition_by locally
   new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
               target=DataPath(datastore, "repartition"))
   partition_keys = newds.partition_keys # ['country']

   # new_ds can be passed to PRS as input dataset
partition_by(partition_keys, target, name=None, show_progress=True, partition_as_file_dataset=False)

Параметры

Имя Описание
partition_keys
Обязательно

Обязательный параметр, ключи секций.

target
Обязательно

Обязательный параметр. Указывает путь к хранилищу данных, куда будут переданы данные кадров данных Parquet. Во избежание конфликта по целевому пути будет создана папка GUID.

name
Обязательно
str

Необязательный параметр, имя регистрации.

show_progress
Обязательно

Необязательный параметр. Указывает, отображать ли в консоли ход отправки. Значение по умолчанию — True.

partition_as_file_dataset
Обязательно

Необязательный параметр. Указывает, возвращается ли значение filedataset. Значение по умолчанию — False.

Возвращаемое значение

Тип Описание

Сохраненный или зарегистрированный набор данных.

random_split

Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.

Первый набор данных содержит около percentage всех записей, а второй набор данных — остальные записи.

random_split(percentage, seed=None)

Параметры

Имя Описание
percentage
Обязательно

Приблизительное процентное соотношение для разделения набора данных. Это должно быть число от 0,0 до 1,0.

seed
Обязательно
int

Необязательное начальное значение, используемое для генератора случайных чисел.

Возвращаемое значение

Тип Описание

Возвращает кортеж новых объектов TabularDataset, представляющий два набора данных после разделения.

skip

Пропускает указанное число записей в начале набора данных.

skip(count)

Параметры

Имя Описание
count
Обязательно
int

Количество пропускаемых записей.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset, представляющий набор данных с пропущенными записями.

submit_profile_run

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Отправляет выполнение эксперимента для вычисления профиля данных.

Профиль данных может быть очень полезен для понимания входных данных, выявления аномалий и отсутствующих значений. Он предоставляет полезную информацию о данных, например тип столбца, отсутствующие значения и т. д.

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Параметры

Имя Описание
compute_target
Обязательно

Целевой объект вычислений для выполнения эксперимента по вычислению профиля. Укажите local, чтобы использовать локальное вычисление. Дополнительные сведения о целевых объектах вычислений см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget.

experiment
Обязательно

Объект эксперимента. Дополнительные сведения об экспериментах см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment.

cache_datastore_name
Обязательно
str

Имя хранилища данных, в котором будет храниться кэш профиля (если отсутствует, используется хранилище данных по умолчанию).

Возвращаемое значение

Тип Описание

Объект типа класса DatasetProfileRun.

take

Получает выборку с указанным числом записей из начала набора данных.

take(count)

Параметры

Имя Описание
count
Обязательно
int

Количество получаемых записей.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset, представляющий набор данных выборки.

take_sample

Получает случайную выборку записей из набора данных приблизительно с заданной вероятностью.

take_sample(probability, seed=None)

Параметры

Имя Описание
probability
Обязательно

Вероятность включения записи в выборку.

seed
Обязательно
int

Необязательное начальное значение, используемое для генератора случайных чисел.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset, представляющий набор данных выборки.

time_after

Фильтрация TabularDataset с помощью столбцов метки времени после указанного времени начала.

time_after(start_time, include_boundary=True, validate=True)

Параметры

Имя Описание
start_time
Обязательно

Нижняя граница для фильтрации данных.

include_boundary
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (start_time).

validate
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Объект TabularDataset с новым отфильтрованным набором данных.

time_before

Выполняет фильтрацию TabularDataset с помощью столбцов метки времени до указанного времени окончания.

time_before(end_time, include_boundary=True, validate=True)

Параметры

Имя Описание
end_time
Обязательно

Верхняя граница для фильтрации данных.

include_boundary
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (end_time).

validate
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Объект TabularDataset с новым отфильтрованным набором данных.

time_between

Выполняет фильтрацию TabularDataset между указанным временем начала и окончания.

time_between(start_time, end_time, include_boundary=True, validate=True)

Параметры

Имя Описание
start_time
Обязательно

Нижняя граница для фильтрации данных.

end_time
Обязательно

Верхняя граница для фильтрации данных.

include_boundary
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (start_end и end_time).

validate
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Объект TabularDataset с новым отфильтрованным набором данных.

time_recent

Фильтрует TabularDataset, чтобы этот объект содержал только последние данные за указанный период.

time_recent(time_delta, include_boundary=True, validate=True)

Параметры

Имя Описание
time_delta
Обязательно

Длительность (объем) последних извлекаемых данных.

include_boundary
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (time_delta).

validate
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Объект TabularDataset с новым отфильтрованным набором данных.

to_csv_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий CSV-файлы.

Результирующий набор данных будет содержать один или несколько CSV-файлов, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_csv_files(separator=',')

Параметры

Имя Описание
separator
Обязательно
str

Разделитель, используемый для разделения значений в результирующем файле.

Возвращаемое значение

Тип Описание

Возвращает новый объект FileDataset с набором CSV-файлов, содержащих данные из этого набора данных.

to_dask_dataframe

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает кадр данных Dask, который может считывать данные в наборе данных в неактивном режиме.

to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')

Параметры

Имя Описание
sample_size
Обязательно

Число считываемых записей для определения схемы и типов.

dtypes
Обязательно

Необязательный словарь, указывающий ожидаемые столбцы и их объекты dtype. Если задано это значение, sample_size игнорируется.

on_error
Обязательно

Способ обработки любых ошибочных значений в наборе данных, например вызванных ошибкой при синтаксическом анализе значений. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

out_of_range_datetime
Обязательно

Способ обработки значений даты и времени, которые выходят за пределы диапазона, поддерживаемого Pandas. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

Возвращаемое значение

Тип Описание

dask.dataframe.core.DataFrame

to_pandas_dataframe

Загружает все записи из набора данных в кадр данных pandas.

to_pandas_dataframe(on_error='null', out_of_range_datetime='null')

Параметры

Имя Описание
on_error
Обязательно

Способ обработки любых ошибочных значений в наборе данных, например вызванных ошибкой при синтаксическом анализе значений. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

out_of_range_datetime
Обязательно

Способ обработки значений даты и времени, которые выходят за пределы диапазона, поддерживаемого Pandas. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

Возвращаемое значение

Тип Описание

Возвращает кадр данных pandas.

to_parquet_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий файлы Parquet.

Результирующий набор данных будет содержать один или несколько файлов Parquet, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_parquet_files()

Возвращаемое значение

Тип Описание

Возвращает новый объект FileDataset с набором файлов Parquet, содержащих данные из этого набора данных.

to_spark_dataframe

Загружает все записи из набора данных в кадр данных Spark.

to_spark_dataframe()

Возвращаемое значение

Тип Описание

Возвращает кадр данных Spark.

with_timestamp_columns

Определяет столбцы меток времени для набора данных.

with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)

Параметры

Имя Описание
timestamp
Обязательно
str

Имя столбца в виде timestamp (ранее — fine_grain_timestamp) (необязательно). Значение по умолчанию — None(clear).

partition_timestamp
Обязательно
str

Имя столбца в виде partition_timestamp (ранее — указывается как coarse grain timestamp) (необязательно). Значение по умолчанию — None(clear).

validate
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

Возвращаемое значение

Тип Описание

Возвращает новый объект TabularDataset с определенными столбцами метки времени.

Комментарии

Этот метод определяет столбцы, используемые в качестве меток времени. Столбцы меток времени в наборе данных позволяют обрабатывать данные как данные временных рядов и использовать дополнительные возможности. Если в наборе данных заданы timestamp (used to be referred as fine_grain_timestamp) и partition_timestamp (used to be referred as coarse grain timestamp), эти два столбца должны представлять одну временную шкалу.

Атрибуты

timestamp_columns

Возвращает столбцы меток времени.

Возвращаемое значение

Тип Описание
(str, str)

Имена столбцов для timestamp (ранее — fine_grain_timestamp) и partition_timestamp (ранее — coarse_grain_timestamp), определенные для набора данных.