microsoftml.rx_featurize: преобразование данных для источников данных
Использование
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)
Описание
Преобразует данные из набора входных данных в набор выходных данных.
Аргументы
.
Объект источника данных revoscalepy, кадр данных или путь к файлу .xdf
.
output_data
Выходной текст или имя XDF-файла или источника данных RxDataSource
с возможностями записи, в котором необходимо сохранить преобразованные данные. Если указано значение None, то возвращается кадр данных. Значение по умолчанию — None.
перезапись
Если указано значение True
, существующий output_data
перезаписывается; если указано значение False
, существующий output_data
не перезаписывается. Значение по умолчанию — False
.
data_threads
Целое число, указывающее требуемую степень параллелизма в конвейере данных. Если указано значение None, количество используемых потоков определяется внутренне. Значение по умолчанию — None.
random_seed
Задает случайное начальное значение. Значение по умолчанию — None.
max_slots
Максимальное число слотов, возвращаемых для столбцов со значениями вектора (для возврата всех значений укажите значение <=0).
ml_transforms
Указывает список преобразований Машинного обучения Майкрософт, которые необходимо выполнить с данными до обучения, или значение None, если преобразования не нужно выполнять. Сведения о поддерживаемых трансформациях см. в разделах featurize_text
, categorical
и categorical_hash
.
Эти преобразования выполняются после любых заданных преобразований Python.
Значение по умолчанию — None.
ml_transform_vars
Указывает символьный вектор имен переменных, используемых в ml_transforms
, или значение None, если их не нужно использовать.
Значение по умолчанию — None.
row_selection
НЕ ПОДДЕРЖИВАЕТСЯ. Указывает записи (наблюдения) из набора данных, которые будут использоваться моделью с именем логической переменной из набора данных (в кавычках) или логическим выражением с указанием переменных в наборе данных. Пример:
row_selection = "old"
будет использовать только те наблюдения, в которых значение переменнойold
равноTrue
.row_selection = (age > 20) & (age < 65) & (log(income) > 10)
использует только те наблюдения, в которых значение переменнойage
находится в диапазоне от 20 до 65, а значениеlog
переменнойincome
больше 10.
Выбор записей осуществляется после обработки всех преобразований данных (см. аргументы transforms
или transform_function
). Как и со всеми выражениями, row_selection
можно определить за пределами вызова функции с помощью функции expression
.
преобразования
НЕ ПОДДЕРЖИВАЕТСЯ. Выражение формы, представляющее первый круг преобразования переменных. Как и со всеми выражениями, transforms
(или row_selection
) можно определить за пределами вызова функции с помощью функции expression
.
Значение по умолчанию — None.
transform_objects
НЕ ПОДДЕРЖИВАЕТСЯ. Именованный список с объектами, на которые можно ссылаться с помощью transforms
, transform_function
и row_selection
. Значение по умолчанию — None.
transform_function
Функция преобразования переменной. Значение по умолчанию — None.
transform_variables
Символьный вектор для переменных входного набора данных, требуемый для функции преобразования. Значение по умолчанию — None.
transform_packages
НЕ ПОДДЕРЖИВАЕТСЯ. Символьный вектор, определяющий дополнительные пакеты Python (за исключением пакетов, указанных в RxOptions.get_option("transform_packages")
), которые будут доступны и предварительно загружены для использования в функциях преобразования переменных.
Например, явно определенные в функциях revoscalepy через свои аргументы transforms
и transform_function
или неявно определенные через свои аргументы formula
или row_selection
. Аргумент transform_packages
также может иметь значение None, указывающее на то, что пакеты, указанные за пределами RxOptions.get_option("transform_packages")
, не будут предварительно загружаться.
transform_environment
НЕ ПОДДЕРЖИВАЕТСЯ. Определяемая пользователем среда, выступающая в роли родительской среды для всех разработанных внутренних сред и используемая для преобразования данных переменных.
При transform_environment = None
значении используется новая "хэш-среда" с родительским revoscalepy.baseenv. Значение по умолчанию — None.
blocks_per_read
Указывает количество считываемых блоков для каждого фрагмента данных, считываемого из источника данных.
report_progress
Целочисленное значение, указывающее уровень информирования по ходу обработки строки:
0
— информирование не осуществляется.1
— выводится и обновляется число обработанных записей.2
— выводятся данные об обработанных записях и времени обработки.3
— выводятся данные об обработанных записях и все данные о времени обработки.
Значение по умолчанию — 1
.
verbose
Целочисленное значение, указывающее требуемый объем выходных данных.
Если задано значение 0
, при вычислениях подробные выходные данные не выводятся. Целочисленные значения из диапазона от 1
до 4
позволяют увеличить объем информации.
Значение по умолчанию — 1
.
compute_context
Задает контекст, в котором выполняются вычисления, указанные с помощью допустимого значения revoscalepy.RxComputeContext. Сейчас поддерживаются локальные контексты и контексты вычислений revoscalepy.RxInSqlServer.
Возвращаемое значение
Кадр данных или объект revoscalepy.RxDataSource, представляющий созданные выходные данные.
См. также
rx_predict
, revoscalepy.rx_data_step, revoscalepy.rx_import.
Пример
'''
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)
Выходные данные:
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