microsoftml.rx_ensemble: объединение моделей в одну

Использование

microsoftml.rx_ensemble(formula: str,
    data: [<class 'revoscalepy.datasource.RxDataSource.RxDataSource'>,
    <class 'pandas.core.frame.DataFrame'>, <class 'list'>],
    trainers: typing.List[microsoftml.modules.base_learner.BaseLearner],
    method: str = None, model_count: int = None,
    random_seed: int = None, replace: bool = False,
    samp_rate: float = None, combine_method: ['Average', 'Median',
    'Vote'] = 'Median', max_calibration: int = 100000,
    split_data: bool = False, 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)

Описание

Обучение ансамбля моделей.

Сведения

rx_ensemble — это функция, которая обучает несколько моделей различных типов, чтобы получить лучшую прогнозную производительность по сравнению с одной моделью.

Аргументы

formula

Символьная или математическая формула в допустимом синтаксисе Python, заключенная в двойные кавычки. Символьная формула может ссылаться на объекты в источнике данных, например "creditScore ~ yearsEmploy". Члены взаимодействия (creditScore * yearsEmploy) и выражения creditScore == 1 сейчас не поддерживаются.

.

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

trainers

Список модулей обучения с их аргументами. Модули обучения создаются с помощью FastTrees, FastForest, FastLinear, LogisticRegression, NeuralNetwork или OneClassSvm.

method

Символьная строка, указывающая тип совокупности: "anomaly" для обнаружения аномалий, "binary" для двоичной классификации, multiClass для многоклассовой классификации или "regression" для регрессии.

random_seed

Задает случайное начальное значение. Значение по умолчанию — None.

model_count

Указывает число моделей для обучения. Если это число превышает длину списка модулей обучения, список модулей обучения дублируется для соответствия model_count.

replace

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

samp_rate

Скаляр положительного значения, указывающий процент наблюдений, выборку которого необходимо сделать для каждого модуля обучения. Значение по умолчанию — 1.0 соответствует выборке с заменой (т. е. replace=True), а значение 0.632 соответствует выборке без замены (т. е. replace=False). Если split_data имеет значение True,то для samp_rate используется значение по умолчанию 1.0 (выборка перед разделением не выполняется).

split_data

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

combine_method

Задает метод, используемый для объединения моделей:

  • "Median": вычисление медианы для выходных данных отдельных моделей;

  • "Average": вычисление среднего для выходных данных отдельных моделей; и

  • "Vote": для вычисления (pos-neg) / общего числа моделей, где pos — это число положительных выходных данных, а «neg» — количество отрицательных выходных данных.

max_calibration

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

ml_transforms

Указывает список преобразований Машинного обучения Майкрософт, которые необходимо выполнить с данными до обучения, или значение None, если преобразования не нужно выполнять. Преобразования, требующие дополнительной передачи данных (например, featurize_text или categorical) не допускаются. Эти преобразования выполняются после любых заданных преобразований R. Значение по умолчанию — None.

ml_transform_vars

Указывает символьный вектор имен переменных, используемых в ml_transforms, или значение None, если их не нужно использовать. Значение по умолчанию — None.

row_selection

НЕ ПОДДЕРЖИВАЕТСЯ. Указывает записи (наблюдения) из набора данных, которые будут использоваться моделью с именем логической переменной из набора данных (в кавычках) или логическим выражением с указанием переменных в наборе данных. Пример:

  • rowSelection = "old" будет использовать только те наблюдения, в которых значение переменной old равно True.

  • rowSelection = (age > 20) & (age < 65) & (log(income) > 10) использует только те наблюдения, в которых значение переменной age находится в диапазоне от 20 до 65, а значение log переменной income больше 10.

Выбор записей осуществляется после обработки всех преобразований данных (см. аргументы transforms или transform_func). Как и со всеми выражениями, row_selection можно определить за пределами вызова функции с помощью функции expression.

преобразования

НЕ ПОДДЕРЖИВАЕТСЯ. Выражение формы, представляющее первый круг преобразования переменных. Как и со всеми выражениями, transforms (или row_selection) можно определить за пределами вызова функции с помощью функции expression.

transform_objects

НЕ ПОДДЕРЖИВАЕТСЯ. Именованный список с объектами, на которые можно ссылаться с помощью transforms, transform_function и row_selection.

transform_function

Функция преобразования переменной.

transform_variables

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

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, используется новая среда hash с родительской средой revoscalepy.baseenv.

blocks_per_read

Указывает количество считываемых блоков для каждого фрагмента данных, считываемого из источника данных.

report_progress

Целочисленное значение, указывающее уровень информирования по ходу обработки строки:

  • 0 — информирование не осуществляется.

  • 1 — выводится и обновляется число обработанных записей.

  • 2 — выводятся данные об обработанных записях и времени обработки.

  • 3 — выводятся данные об обработанных записях и все данные о времени обработки.

verbose

Целочисленное значение, указывающее требуемый объем выходных данных. Если задано значение 0, при вычислениях подробные выходные данные не выводятся. Целочисленные значения из диапазона от 1 до 4 позволяют увеличить объем информации.

compute_context

Задает контекст, в котором выполняются вычисления. Указывается с помощью допустимого значения revoscalepy.RxComputeContext. Сейчас поддерживаются локальные контексты и контексты вычислений revoscalepy.RxSpark. Если указан контекст revoscalepy.RxSpark, обучение моделей выполняется распределенным образом, а объединение выполняется локально. Обратите внимание, что контекст вычислений не может быть неожидающим.

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

Объект rx_ensemble с обученной объединенной моделью.