API создания задач аналитики по кадрам
Создает задачу аналитики по кадрам.
Запрос
PUT _ml/data_frame/analytics/<data_frame_analytics_id>
Предварительные условия
Требуются следующие привилегии:
- cluster:
manage_ml(рольmachine_learning_adminпредоставляет эту привилегию по умолчанию) - source indices:
read,view_index_metadata - destination index:
read,create_index,manageиindex
Задача аналитики по кадрам запоминает роли пользователя, который ее создал. При запуске задачи она использует те же роли. Если вы предоставили дополнительные заголовки авторизации, будут использоваться эти учетные данные.
Описание
Этот API создает задачу аналитики по кадрам, которая выполняет анализ по исходным индексам и сохраняет результат в целевом индексе.
Если целевой индекс не существует, он создается автоматически при запуске задачи. См. Запуск задач аналитики по кадрам.
Если вы предоставите только часть параметров регрессии или классификации, произойдет оптимизация гиперпараметров. Она определяет значение каждого из неопределенных параметров.
Параметры пути
-
<data_frame_analytics_id> - (Обязательный, строка) Идентификатор задачи аналитики по кадрам. Этот идентификатор может содержать строчные буквенно-цифровые символы (a-z и 0-9), дефисы и подчеркивания. Он должен начинаться и заканчиваться буквенно-цифровыми символами.
Тело запроса
-
allow_lazy_start - (Необязательный, булево) Указывает, может ли эта задача запускаться при недостаточной мощности узлов машинного обучения, чтобы быть немедленно назначенной на узел. Значение по умолчанию —
false; если узел машинного обучения с возможностью выполнения задачи не может быть найден немедленно, API Запуска задач аналитики по кадрам возвращает ошибку. Однако это также зависит от глобальной настройки кластераxpack.ml.max_lazy_ml_nodes. См. Дополнительные настройки машинного обучения. Если этот параметр установлен в значениеtrue, API не возвращает ошибку, и задача ожидает в состоянииstarting, пока не будет доступна достаточная мощность узла машинного обучения.
-
analysis -
(Обязательный, объект) Настройка анализа, которая содержит информацию, необходимую для выполнения одного из следующих типов анализа: классификация, выявление аномалий или регрессия.
Свойства
analysis-
classification -
(Обязательный*, объект) Конфигурационная информация, необходимая для выполнения классификации.
Расширенные параметры предназначены для тонкой настройки анализа классификации. Они автоматически устанавливаются с помощью оптимизации гиперпараметров, чтобы получить минимальную ошибку проверки. Настоятельно рекомендуется использовать значения по умолчанию, если вы не полностью понимаете функцию этих параметров.
Свойства
classification
-
-
alpha - (Необязательно, double) Дополнительный параметр конфигурации. Машинное обучение использует рост дерева с управлением потерями, что означает, что деревья решений растут там, где регуляризованные потери уменьшаются быстрее всего. Этот параметр влияет на вычисления потерь, действуя как множитель глубины дерева. Более высокие значения alpha приводят к более мелким деревьям и более быстрому времени обучения. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше или равно нулю.
-
class_assignment_objective - (Необязательно, string) Определяет целевую функцию для оптимизации при назначении меток классов:
maximize_accuracyилиmaximize_minimum_recall. При максимизации точности метки классов выбираются для максимизации числа правильных предсказаний. При максимизации минимального показателя отзыва метки выбираются для максимизации минимального показателя отзыва для любого класса. По умолчанию используетсяmaximize_minimum_recall. -
dependent_variable -
(Обязательно, string)
Определяет, какое поле документа должно быть предсказано. Этот параметр задаётся именем поля и должен соответствовать одному из полей в индексе, используемом для обучения. Если это поле отсутствует в документе, то этот документ не будет использоваться для обучения, но предсказание с обученной моделью будет сгенерировано для него. Он также известен как непрерывная целевая переменная.
Тип данных поля должен быть числовым (
integer,short,long,byte), категориальным (ipилиkeyword) или булевым. В этом поле должно быть не более 30 различных значений. -
downsample_factor - (Необязательно, double) Дополнительный параметр конфигурации. Управляет долей данных, используемых для вычисления производных функции потерь для обучения дерева. Малое значение приводит к использованию небольшой доли данных. Если это значение установлено меньше 1, точность обычно улучшается. Однако слишком малое значение может привести к плохой сходимости ансамбля и, следовательно, потребовать больше деревьев. Для получения дополнительной информации о сжатии см. эту статью в Википедии. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше нуля и меньше или равно 1.
-
early_stopping_enabled - (Необязательно, Boolean) Дополнительный параметр конфигурации. Указывает, должен ли процесс обучения завершиться, если он не находит моделей, работающих лучше. Если отключено, процесс обучения может занять значительно больше времени, а вероятность нахождения модели, работающей лучше, незначительна. По умолчанию ранняя остановка включена.
-
eta - (Необязательно, double) Дополнительный параметр конфигурации. Сжатие, применяемое к весам. Меньшие значения приводят к большим лесам, которые имеют лучшую ошибку обобщения. Однако большие леса приводят к более медленному обучению. Для получения дополнительной информации о сжатии см. эту статью в Википедии. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть значением от 0,001 до 1.
-
eta_growth_rate_per_tree - (Необязательно, double) Дополнительный параметр конфигурации. Указывает скорость, с которой
etaувеличивается для каждого нового дерева, добавляемого в лес. Например, скорость 1,05 увеличиваетetaна 5% для каждого дополнительного дерева. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть в диапазоне от 0,5 до 2. -
feature_bag_fraction - (Необязательно, double) Дополнительный параметр конфигурации. Определяет долю признаков, которые будут использоваться при выборе случайного набора для каждого кандидата на разделение. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
feature_processors -
(Необязательно, list) Дополнительный параметр конфигурации. Коллекция препроцессоров признаков, которые изменяют одно или несколько включенных полей. Анализ использует полученные один или несколько признаков вместо исходного поля документа. Однако эти признаки являются эфемерными; они не хранятся в целевом индексе. Несколько записей
feature_processorsмогут ссылаться на одни и те же поля документа. Автоматическое категориальное кодирование признаков всё ещё происходит для полей, которые не обработаны пользовательским процессором или имеют категориальные значения. Используйте это свойство только в том случае, если вы хотите переопределить автоматическое кодирование признаков указанных полей. Для получения дополнительной информации см. процессоры признаков аналитики фреймов данных.Свойства
feature_processors-
frequency_encoding -
(object) Информация о конфигурации, необходимая для выполнения частотного кодирования.
Свойства
frequency_encoding-
feature_name - (Обязательно, string) Результирующее имя признака.
-
field - (Обязательно, string) Имя кодируемого поля.
-
frequency_map - (Обязательно, object) Результирующее отображение частоты для значения поля. Если значение поля отсутствует в
frequency_map, результирующее значение равно0.
-
-
multi_encoding -
(object) Информация о конфигурации, необходимая для выполнения многократного кодирования. Позволяет одновременно изменять несколько процессоров. Таким образом, вывод одного процессора может передаваться другому в качестве входных данных.
Свойства
multi_encoding-
processors - (Обязательно, array) Упорядоченный массив пользовательских процессоров для выполнения. Должно быть больше 1.
-
-
n_gram_encoding -
(object) Информация о конфигурации, необходимая для выполнения n-грамм кодирования. Признаки, созданные этим кодировщиком, имеют следующий формат имени:
<feature_prefix>.<ngram><string position>. Например, еслиfeature_prefixравенf, имя признака для второй униграммы в строке —f.11.Свойства
n_gram_encoding-
feature_prefix - (Необязательно, string) Префикс имени признака. По умолчанию используется
ngram_<start>_<length>. -
field - (Обязательно, string) Имя текстового поля для кодирования.
-
length - (Необязательно, integer) Указывает длину подстроки n-граммы. По умолчанию используется
50. Должно быть больше0. -
n_grams - (Обязательно, array) Указывает, какие n-граммы собирать. Это массив целых значений, где минимальное значение равно 1, а максимальное значение равно 5.
-
start - (Необязательно, integer) Указывает нулевой индекс начала подстроки n-граммы. Допустимы отрицательные значения для кодирования n-грамм суффиксов строк. По умолчанию используется
0.
-
-
one_hot_encoding -
(object) Информация о конфигурации, необходимая для выполнения one hot кодирования.
Свойства
one_hot_encoding-
field - (Обязательно, string) Имя кодируемого поля.
-
hot_map - (Обязательно, string) One hot map, сопоставляющий значение поля с именем столбца.
-
-
target_mean_encoding -
(object) Информация о конфигурации, необходимая для выполнения кодирования среднего значения цели.
Свойства
target_mean_encoding-
default_value - (Обязательно, integer) Значение по умолчанию, если значение поля не найдено в
target_map. -
feature_name - (Обязательно, string) Результирующее имя признака.
-
field - (Обязательно, string) Имя кодируемого поля.
-
target_map - (Обязательно, object) Отображение перехода среднего значения поля к целевому значению.
-
-
-
gamma - (Необязательно, double) Дополнительный параметр конфигурации. Параметр регуляризации для предотвращения переобучения на обучающем наборе данных. Умножает линейную штрафную функцию, связанную с размером отдельных деревьев в лесу. Высокое значение гамма заставляет обучение предпочитать небольшие деревья. Малое значение гамма приводит к большим отдельным деревьям и более медленному обучению. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть неотрицательным значением.
-
lambda - (Необязательно, double) Дополнительный параметр конфигурации. Параметр регуляризации для предотвращения переобучения на обучающем наборе данных. Умножает член регуляризации L2, который применяется к весам листьев отдельных деревьев в лесу. Высокое значение лямбда заставляет обучение отдавать предпочтение малым весам листьев. Это поведение делает функцию предсказания более плавной за счёт потенциальной невозможности уловить соответствующие связи между признаками и зависимой переменной. Малое значение лямбда приводит к большим отдельным деревьям и более медленному обучению. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть неотрицательным значением.
-
max_optimization_rounds_per_hyperparameter
-
- (Необязательно, целое число) Дополнительный параметр конфигурации. Множитель, отвечающий за определение максимального числа шагов оптимизации гиперпараметров в процедуре байесовской оптимизации. Максимальное число шагов определяется на основе количества неопределённых гиперпараметров умноженного на максимальное число раундов оптимизации на гиперпараметр. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
max_trees - (Необязательно, целое число) Дополнительный параметр конфигурации. Определяет максимальное количество деревьев решений в лесу. Максимальное значение равно 2000. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
num_top_classes -
(Необязательно, целое число) Определяет количество категорий, для которых будут сообщаться предсказанные вероятности. Оно должно быть неотрицательным или равным -1. Если оно равно -1 или больше общего количества категорий, вероятности сообщаются для всех категорий; если у вас большое количество категорий, это может значительно повлиять на размер вашего целевого индекса. По умолчанию равно 2.
Для использования метода оценки AUC ROC,
num_top_classesдолжно быть установлено в-1или в значение, большее или равное общему количеству категорий. -
num_top_feature_importance_values - (Необязательно, целое число) Дополнительный параметр конфигурации. Указывает максимальное количество значений важности признаков на документ, которые нужно вернуть. По умолчанию равно нулю, и вычисление важности признаков не происходит.
-
prediction_field_name - (Необязательно, строка) Определяет имя поля прогноза в результатах. По умолчанию равно
<dependent_variable>_prediction. -
randomize_seed - (Необязательно, длинное целое число) Определяет начальное значение для генератора случайных чисел, используемого для выбора обучающих данных. По умолчанию генерируется случайным образом. Установите его в конкретное значение, чтобы каждый раз использовать одинаковые обучающие данные при запуске задания (при условии, что другие связанные параметры, такие как
sourceиanalyzed_fields, одинаковы). -
soft_tree_depth_limit - (Необязательно, вещественное число) Дополнительный параметр конфигурации. Машинное обучение использует рост дерева, управляемый потерей, что означает, что деревья решений растут там, где регулярная потеря уменьшается наиболее быстро. Это мягкое ограничение в сочетании с
soft_tree_depth_toleranceнакладывает штраф на деревья, превышающие указанную глубину; регулярная потеря быстро возрастает за пределами этой глубины. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Должно быть больше или равно 0. -
soft_tree_depth_tolerance - (Необязательно, вещественное число) Дополнительный параметр конфигурации. Этот параметр управляет скоростью увеличения регуляризованной потери, когда глубина дерева превышает
soft_tree_depth_limit. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Должно быть больше или равно 0,01. -
training_percent - (Необязательно, целое число) Определяет процент подходящих документов, которые будут использоваться для обучения. Документы, игнорируемые анализом (например, те, которые содержат массивы с более чем одним значением), не будут включены в расчёт используемого процента. По умолчанию равно
100.
-
outlier_detection -
(Обязательно*, объект) Информация о конфигурации, необходимая для выполнения обнаружения выбросов:
Свойства
outlier_detection-
compute_feature_influence - (Необязательно, логическое значение) Указывает, включено ли вычисление влияния признаков. По умолчанию равно
true. -
feature_influence_threshold - (Необязательно, вещественное число) Минимальный балл выброса, необходимый документу для вычисления оценки влияния его признаков. Диапазон значений: 0-1 (по умолчанию
0.1). -
method - (Необязательно, строка) Метод, используемый для обнаружения выбросов. Доступные методы:
lof,ldof,distance_kth_nn,distance_knnиensemble. Значение по умолчанию —ensemble, что означает, что обнаружение выбросов использует ансамбль различных методов, нормализует и объединяет их индивидуальные оценки выбросов для получения общей оценки выброса. -
n_neighbors - (Необязательно, целое число) Определяет значение для того, сколько ближайших соседей использует каждый метод обнаружения выбросов для вычисления оценки выброса. Если значение не задано, для разных членов ансамбля используются разные значения. Это поведение по умолчанию помогает улучшить разнообразие в ансамбле; изменяйте его только в том случае, если вы уверены, что выбранное вами значение подходит для набора данных.
-
outlier_fraction - (Необязательно, вещественное число) Пропорция набора данных, предполагаемая как составляющая выбросов до обнаружения выбросов. Например, 0,05 означает, что предполагается, что 5% значений являются реальными выбросами, а 95% — инлайнерами.
-
standardization_enabled - (Необязательно, логическое значение) Если
true, следующая операция выполняется над столбцами перед вычислением оценок выбросов: (x_i - mean(x_i)) / sd(x_i). По умолчанию равноtrue. Дополнительную информацию об этом понятии см. на Wikipedia.
-
-
regression
-
(Обязательно*, объект) Информация о конфигурации, необходимая для выполнения регрессии.
Расширенные параметры предназначены для тонкой настройки анализа регрессии. Они автоматически настраиваются процедурой оптимизации гиперпараметров, чтобы минимизировать ошибку валидации. Настоятельно рекомендуется использовать значения по умолчанию, если вы не полностью понимаете функцию этих параметров.
Свойства
regression-
alpha - (Необязательно, double) Расширенный параметр конфигурации. Машинное обучение использует метод выращивания деревьев, управляемый потерей, что означает, что деревья решений растут там, где регуляризованная потеря уменьшается наиболее быстро. Этот параметр влияет на вычисления потерь, действуя как множитель глубины дерева. Более высокие значения alpha приводят к более мелким деревьям и более быстрому времени обучения. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше или равно нулю.
-
dependent_variable -
(Обязательно, строка)
Определяет, какое поле документа должно быть предсказано. Этот параметр передаётся по имени поля и должен совпадать с одним из полей в индексе, используемом для обучения. Если это поле отсутствует в документе, то этот документ не будет использоваться для обучения, но для него будет сгенерировано предсказание с помощью обученной модели. Также известно как непрерывная целевая переменная.
Тип данных поля должен быть числовым.
-
downsample_factor - (Необязательно, double) Расширенный параметр конфигурации. Управляет долей данных, используемых для вычисления производных функции потерь для обучения дерева. Малое значение приводит к использованию небольшой доли данных. Если это значение меньше 1, то точность обычно улучшается. Однако слишком малое значение может привести к плохой сходимости ансамбля и потребовать больше деревьев. Для получения дополнительной информации о сжатии см. эту статью вики. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше нуля и меньше или равно 1.
-
early_stopping_enabled - (Необязательно, Boolean) Расширенный параметр конфигурации. Указывает, должен ли процесс обучения завершиться, если он не находит моделей с лучшей производительностью. Если отключить, процесс обучения может занять значительно больше времени, и вероятность найти модель с лучшей производительностью невелика. По умолчанию раннее прекращение включено.
-
eta - (Необязательно, double) Расширенный параметр конфигурации. Сжатие, применяемое к весам. Меньшие значения приводят к более крупным лесам, которые имеют лучшую ошибку обобщения. Однако более крупные леса приводят к более медленному обучению. Для получения дополнительной информации о сжатии см. эту статью вики. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть значением между 0,001 и 1.
-
eta_growth_rate_per_tree - (Необязательно, double) Расширенный параметр конфигурации. Указывает скорость, с которой
etaувеличивается для каждого нового дерева, добавляемого в лес. Например, скорость 1,05 увеличиваетetaна 5% для каждого дополнительного дерева. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно находиться в диапазоне от 0,5 до 2. -
feature_bag_fraction - (Необязательно, double) Расширенный параметр конфигурации. Определяет долю признаков, которые будут использованы при выборе случайного набора для каждого кандидата в разбиение. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
feature_processors - (Необязательно, список) Расширенный параметр конфигурации. Коллекция предобработчиков признаков, которые изменяют одно или несколько включённых полей. Анализ использует полученные одно или несколько признаков вместо исходного поля документа. Однако эти признаки являются временными; они не хранятся в целевом индексе. Несколько записей
feature_processorsмогут ссылаться на одни и те же поля документа. Автоматическое категорическое кодирование признаков всё ещё происходит для полей, которые не обрабатываются пользовательским процессором или которые имеют категориальные значения. Используйте этот параметр только в том случае, если вы хотите переопределить автоматическое кодирование признаков указанных полей. Обратитесь к предобработчикам признаков аналитики фреймов данных, чтобы узнать больше. -
gamma - (Необязательно, double) Расширенный параметр конфигурации. Параметр регуляризации, предотвращающий переобучение на обучающем наборе данных. Умножает линейную штрафную санкцию, связанную с размером отдельных деревьев в лесу. Высокое значение gamma приводит к тому, что обучение предпочитает небольшие деревья. Малое значение gamma приводит к более крупным отдельным деревьям и медленному обучению. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть неотрицательным.
-
lambda - (Необязательно, double) Расширенный параметр конфигурации. Параметр регуляризации, предотвращающий переобучение на обучающем наборе данных. Умножает член регуляризации L2, который применяется к весам листьев отдельных деревьев в лесу. Высокое значение lambda приводит к тому, что обучение предпочитает малые веса листьев. Это поведение делает функцию прогнозирования более гладкой за счёт того, что, возможно, не удастся захватить важные взаимосвязи между признаками и зависимой переменной. Малое значение lambda приводит к более крупным отдельным деревьям и более медленному обучению. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть неотрицательным.
-
loss_function - (Необязательно, строка) Функция потерь, используемая во время регрессии. Доступные варианты:
mse(средняя квадратичная ошибка),msle(средняя квадратичная логарифмическая ошибка),huber(потеря Псевдо-Хабера). По умолчаниюmse. Дополнительную информацию о функциях потерь для регрессионного анализа см. в статье об анализе функций потерь для регрессионных анализа. -
loss_function_parameter - (Необязательно, double) Положительное число, используемое в качестве параметра для
loss_function. -
max_optimization_rounds_per_hyperparameter - (Необязательно, целое число) Расширенный параметр конфигурации. Множитель, ответственный за определение максимального числа шагов оптимизации гиперпараметров в процедуре байесовской оптимизации. Максимальное число шагов определяется на основе количества неопределённых гиперпараметров, умноженного на максимальное количество раундов оптимизации на гиперпараметр. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
max_trees - (Необязательно, целое число) Определяет максимальное количество деревьев решений в лесу. Максимальное значение составляет 2000. По умолчанию это значение вычисляется во время оптимизации гиперпараметров.
-
num_top_feature_importance_values - (Необязательно, целое число) Указывает максимальное количество значений важности признаков на документ для возврата. По умолчанию оно равно нулю, и вычисление важности признаков не выполняется.
-
prediction_field_name - (Необязательно, строка) Определяет имя поля прогноза в результатах. По умолчанию
<dependent_variable>_prediction. -
randomize_seed - (Необязательно, long) Определяет семя для генератора случайных чисел, используемого для выбора обучающих данных. По умолчанию оно генерируется случайным образом. Установите его в определённое значение, чтобы каждый раз при запуске задания использовать одни и те же обучающие данные (при условии, что другие связанные параметры, такие как
sourceиanalyzed_fields, одинаковы). -
soft_tree_depth_limit - (Необязательно, double) Расширенный параметр конфигурации. Машинное обучение использует метод выращивания деревьев, управляемый потерей, что означает, что деревья решений растут там, где регуляризованная потеря уменьшается наиболее быстро. Этот мягкий предел в сочетании с
soft_tree_depth_toleranceнаказывают деревья, которые превышают указанную глубину; регуляризованная потеря быстро увеличивается за пределами этой глубины. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше или равно 0. -
soft_tree_depth_tolerance - (Необязательно, double) Расширенный параметр конфигурации. Этот параметр управляет скоростью увеличения регуляризованной потери, когда глубина дерева превышает
soft_tree_depth_limit. По умолчанию это значение вычисляется во время оптимизации гиперпараметров. Оно должно быть больше или равно 0,01. -
training_percent - (Необязательно, целое число) Определяет процент подходящих документов, которые будут использоваться для обучения. Документы, игнорируемые анализом (например, документы, содержащие массивы с более чем одним значением), не будут включены в расчёт использованного процента. По умолчанию
100.
-
-
-
analyzed_fields -
(Необязательно, объект) Укажите шаблоны
includesи/илиexcludes, чтобы выбрать поля, которые будут включены в анализ. Шаблоны, указанные вexcludes, применяются последними, поэтомуexcludesимеют приоритет. Другими словами, если одно и то же поле указано как вincludes, так и вexcludes, то это поле не будет включено в анализ.Поддерживаемые поля для каждого типа анализа следующие:
- Для обнаружения выбросов требуются числовые или логические данные для анализа. Алгоритмы не поддерживают пропущенные значения, поэтому поля с типами данных, отличными от числовых или логических, игнорируются. Документы, в которых включенные поля содержат пропущенные значения, значения null или массив, также игнорируются. Поэтому индекс
destможет содержать документы, у которых нет оценки выброса. - Регрессия поддерживает поля числового,
boolean,text,keywordиipтипов. Она также допускает пропущенные значения. Поддерживаемые поля включаются в анализ, другие поля игнорируются. Документы, в которых включенные поля содержат массив с двумя или более значениями, также игнорируются. Документы в индексеdest, которые не содержат поля результатов, не включаются в регрессионный анализ. - Классификация поддерживает поля числового,
boolean,text,keywordиipтипов. Она также допускает пропущенные значения. Поддерживаемые поля включаются в анализ, другие поля игнорируются. Документы, в которых включенные поля содержат массив с двумя или более значениями, также игнорируются. Документы в индексеdest, которые не содержат поля результатов, не включаются в анализ классификации. Анализ классификации можно улучшить, сопоставив значения порядковых переменных с одним числом. Например, в случае диапазонов возраста можно смоделировать значения как "0-14" = 0, "15-24" = 1, "25-34" = 2 и так далее.
Если
analyzed_fieldsне задан, будут включены только соответствующие поля. Например, все числовые поля для обнаружения выбросов. Дополнительную информацию о выборе полей см. в разделе Объяснение анализа данных фреймов.Свойства
analyzed_fields-
excludes - (Необязательно, массив) Массив строк, определяющий поля, которые будут исключены из анализа. Вам не нужно добавлять поля с неподдерживаемыми типами данных в
excludes, эти поля исключаются из анализа автоматически. -
includes - (Необязательно, массив) Массив строк, определяющий поля, которые будут включены в анализ.
- Для обнаружения выбросов требуются числовые или логические данные для анализа. Алгоритмы не поддерживают пропущенные значения, поэтому поля с типами данных, отличными от числовых или логических, игнорируются. Документы, в которых включенные поля содержат пропущенные значения, значения null или массив, также игнорируются. Поэтому индекс
-
description - (Необязательно, строка) Описание задачи.
-
dest -
(Обязательно, объект) Конфигурация назначения, состоящая из
indexи необязательноresults_field(по умолчаниюml).Свойства
dest-
index - (Обязательно, строка) Определяет целевой индекс для хранения результатов работы анализа данных фреймов.
-
results_field - (Необязательно, строка) Определяет имя поля, в котором следует хранить результаты анализа. По умолчанию используется
ml.
-
-
max_num_threads - (Необязательно, целое число) Максимальное количество потоков, используемых для анализа. Значение по умолчанию —
1. Использование большего количества потоков может сократить время выполнения анализа за счёт увеличения использования процессора. Обратите внимание, что процесс может использовать дополнительные потоки для функциональности, отличной от собственно анализа. -
model_memory_limit - (Необязательно, строка) Приблизительный максимальный объём ресурсов памяти, разрешённый для аналитической обработки. Значение по умолчанию для задач анализа данных фреймов —
1gb. Если вы укажете значение для параметраxpack.ml.max_model_memory_limit, при попытке создания задач сmodel_memory_limitзначениями, превышающими это значение, произойдёт ошибка. Дополнительную информацию см. в разделе Настройки машинного обучения в Elasticsearch. -
source -
(объект) Настройка источника данных для анализа. Требуется
index. Необязательно, можно указатьquery,runtime_mappingsи_source.Свойства
source-
index -
(Обязательно, строка или массив) Индекс или индексы, на которых необходимо выполнить анализ. Может быть один индекс или шаблон индекса, а также массив индексов или шаблонов.
Если ваши исходные индексы содержат документы с одинаковыми идентификаторами, в целевом индексе отображается только последний индексированный документ.
-
query - (Необязательно, объект) Язык запросов Elasticsearch (DSL). Это значение соответствует объекту запроса в теле POST-запроса поиска Elasticsearch. Можно использовать все поддерживаемые Elasticsearch параметры, поскольку этот объект передаётся в Elasticsearch без изменений. По умолчанию это свойство имеет следующее значение:
{"match_all": {}}. -
runtime_mappings - (Необязательно, объект) Определения полей выполнения, которые станут частью отображения целевого индекса.
-
_source -
(Необязательно, объект) Укажите шаблоны
includesи/илиexcludes, чтобы выбрать поля, которые будут присутствовать в результате. Исключенные поля не могут быть включены в анализ.Свойства
_source-
includes - (массив) Массив строк, определяющий поля, которые будут включены в результат.
-
excludes - (массив) Массив строк, определяющий поля, которые будут исключены из результата.
-
-
Примеры
Пример действий предобработки
Следующий пример показывает, как ограничить область анализа определенными полями, указать исключенные поля в индексе назначения и использовать запрос для фильтрации данных перед анализом.
PUT _ml/data_frame/analytics/model-flight-delays-pre
{
"source": {
"index": [
"kibana_sample_data_flights"
],
"query": {
"range": {
"DistanceKilometers": {
"gt": 0
}
}
},
"_source": {
"includes": [],
"excludes": [
"FlightDelay",
"FlightDelayType"
]
}
},
"dest": {
"index": "df-flight-delays",
"results_field": "ml-results"
},
"analysis": {
"regression": {
"dependent_variable": "FlightDelayMin",
"training_percent": 90
}
},
"analyzed_fields": {
"includes": [],
"excludes": [
"FlightNum"
]
},
"model_memory_limit": "100mb"
} | Индекс источника для анализа. | |
| Этот запрос фильтрует целые документы, которые не будут присутствовать в индексе назначения. | |
| Объект | |
| Определяет индекс назначения, содержащий результаты анализа и поля индекса источника, указанные в объекте | |
| Указывает поля, которые нужно включить или исключить из анализа. Это не влияет на то, будут ли поля присутствовать в индексе назначения, а только на то, используются ли они в анализе. |
В этом примере видно, что все поля индекса источника включены в индекс назначения, за исключением FlightDelay и FlightDelayType, потому что они определены как исключенные поля параметром excludes объекта _source. Поле FlightNum включено в индекс назначения, однако оно не включено в анализ, потому что явно указано как исключенное поле параметром excludes объекта analyzed_fields.
Пример обнаружения выбросов
Следующий пример создает аналитическую задачу для фрейма данных loganalytics, тип анализа — outlier_detection:
PUT _ml/data_frame/analytics/loganalytics
{
"description": "Outlier detection on log data",
"source": {
"index": "logdata"
},
"dest": {
"index": "logdata_out"
},
"analysis": {
"outlier_detection": {
"compute_feature_influence": true,
"outlier_fraction": 0.05,
"standardization_enabled": true
}
}
} API возвращает следующий результат:
{
"id": "loganalytics",
"description": "Outlier detection on log data",
"source": {
"index": ["logdata"],
"query": {
"match_all": {}
}
},
"dest": {
"index": "logdata_out",
"results_field": "ml"
},
"analysis": {
"outlier_detection": {
"compute_feature_influence": true,
"outlier_fraction": 0.05,
"standardization_enabled": true
}
},
"model_memory_limit": "1gb",
"create_time" : 1562265491319,
"version" : "7.6.0",
"allow_lazy_start" : false,
"max_num_threads": 1
} Примеры регрессии
Следующий пример создает аналитическую задачу для фрейма данных house_price_regression_analysis, тип анализа — regression:
PUT _ml/data_frame/analytics/house_price_regression_analysis
{
"source": {
"index": "houses_sold_last_10_yrs"
},
"dest": {
"index": "house_price_predictions"
},
"analysis":
{
"regression": {
"dependent_variable": "price"
}
}
} API возвращает следующий результат:
{
"id" : "house_price_regression_analysis",
"source" : {
"index" : [
"houses_sold_last_10_yrs"
],
"query" : {
"match_all" : { }
}
},
"dest" : {
"index" : "house_price_predictions",
"results_field" : "ml"
},
"analysis" : {
"regression" : {
"dependent_variable" : "price",
"training_percent" : 100
}
},
"model_memory_limit" : "1gb",
"create_time" : 1567168659127,
"version" : "8.0.0",
"allow_lazy_start" : false
} Следующий пример создает задачу и указывает процент обучения:
PUT _ml/data_frame/analytics/student_performance_mathematics_0.3
{
"source": {
"index": "student_performance_mathematics"
},
"dest": {
"index":"student_performance_mathematics_reg"
},
"analysis":
{
"regression": {
"dependent_variable": "G3",
"training_percent": 70,
"randomize_seed": 19673948271
}
}
} | Процент набора данных, используемый для обучения модели. | |
| Зерно, используемое для случайного выбора данных, используемых для обучения. |
Следующий пример использует пользовательские процессоры функций для преобразования категориальных значений для DestWeather в числовые значения с помощью методов one-hot, target-mean и частотного кодирования:
PUT _ml/data_frame/analytics/flight_prices
{
"source": {
"index": [
"kibana_sample_data_flights"
]
},
"dest": {
"index": "kibana_sample_flight_prices"
},
"analysis": {
"regression": {
"dependent_variable": "AvgTicketPrice",
"num_top_feature_importance_values": 2,
"feature_processors": [
{
"frequency_encoding": {
"field": "DestWeather",
"feature_name": "DestWeather_frequency",
"frequency_map": {
"Rain": 0.14604811155570188,
"Heavy Fog": 0.14604811155570188,
"Thunder & Lightning": 0.14604811155570188,
"Cloudy": 0.14604811155570188,
"Damaging Wind": 0.14604811155570188,
"Hail": 0.14604811155570188,
"Sunny": 0.14604811155570188,
"Clear": 0.14604811155570188
}
}
},
{
"target_mean_encoding": {
"field": "DestWeather",
"feature_name": "DestWeather_targetmean",
"target_map": {
"Rain": 626.5588814585794,
"Heavy Fog": 626.5588814585794,
"Thunder & Lightning": 626.5588814585794,
"Hail": 626.5588814585794,
"Damaging Wind": 626.5588814585794,
"Cloudy": 626.5588814585794,
"Clear": 626.5588814585794,
"Sunny": 626.5588814585794
},
"default_value": 624.0249512020454
}
},
{
"one_hot_encoding": {
"field": "DestWeather",
"hot_map": {
"Rain": "DestWeather_Rain",
"Heavy Fog": "DestWeather_Heavy Fog",
"Thunder & Lightning": "DestWeather_Thunder & Lightning",
"Cloudy": "DestWeather_Cloudy",
"Damaging Wind": "DestWeather_Damaging Wind",
"Hail": "DestWeather_Hail",
"Clear": "DestWeather_Clear",
"Sunny": "DestWeather_Sunny"
}
}
}
]
}
},
"analyzed_fields": {
"includes": [
"AvgTicketPrice",
"Cancelled",
"DestWeather",
"FlightDelayMin",
"DistanceMiles"
]
},
"model_memory_limit": "30mb"
} Эти пользовательские процессоры функций являются необязательными; автоматическое кодирование функций все еще происходит для всех категориальных функций.
Пример классификации
Следующий пример создает аналитическую задачу для фрейма данных loan_classification, тип анализа — classification:
PUT _ml/data_frame/analytics/loan_classification
{
"source" : {
"index": "loan-applicants"
},
"dest" : {
"index": "loan-applicants-classified"
},
"analysis" : {
"classification": {
"dependent_variable": "label",
"training_percent": 75,
"num_top_classes": 2
}
}
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/put-dfanalytics.html