Applies to: CELONIS 4.3 CELONIS 4.4
Description
Create a decision tree, learn classification rules based on training data, and use it to classify new data rows.
Like other machine learning functions (such as linear regression or k means), the Decision Tree consists of two steps.
The first step consists of training the decision tree model. This will learn the classification rules of the decision tree (see https://en.wikipedia.org/wiki/Decision_tree) based on the provided training data. In this step, the user can specify which columns the model should use, and on which subset of the data the system should be trained on. Additionally, an extra max_depth parameter can be provided in order to avoid overfitting to the training data.
In a second step, once the model is trained, the user can use it to classify new rows based on the model input columns.
Создайте дерево решений, изучите правила классификации на основе данных обучения и используйте его для классификации новых строк данных.
Как и другие функции машинного обучения (такие как линейная регрессия или k означает), дерево решений состоит из двух этапов.
Первый шаг состоит из обучения модели дерева решений. Это изучит правила классификации дерева решений (см. Https://en.wikipedia.org/wiki/Decision_tree) на основе предоставленных обучающих данных. На этом этапе пользователь может указать, какие столбцы должна использовать модель, и на каком подмножестве данных должна быть обучена система. Кроме того, может быть предоставлен дополнительный параметр max_depth, чтобы избежать наложения на тренировочные данные. На втором этапе, когда модель обучена, пользователь может использовать ее для классификации новых строк на основе входных столбцов модели.
Syntax
DECISION_TREE ( TRAIN_[FILTERED_]DT ( [ EXCLUDED ( table.exclude_column, ... ), ] INPUT ( table.input_column, ... ), OUTPUT ( table.output_column ) [, max_depth ], PREDICT ( table.predict_column, ... ) ) |
* Создает дерево решений. Объекты авторизации все еще соблюдаются.
Создает дерево решений, фильтруя данные обучения с текущими фильтрами.
Это столбцы измерения (столбцы, которые не являются агрегатами), которые следует использовать в качестве столбцов группировки для столбцов INPUT модели обучения. Эти столбцы будут игнорироваться алгоритмом обучения и не будут являться частью обученной модели.
Один или несколько столбцов, которые используются для обучения модели.
Один столбец, содержащий метки, связанные с каждой строкой, на которой должна тренироваться модель.
По умолчанию = 3. Это определяет максимальную глубину, разрешенную для изученного дерева, это может быть использовано для предотвращения переоснащения. Если max_depth = 0, для глубины дерева не будет установлено никаких ограничений.
Один или несколько столбцов, которые должны быть семантически такими же, как те, которые указаны в параметре INPUT модели, содержат назначения классов на основе обученных правил дерева решений.
All columns in TRAIN_DT have to be joinable. The columns in PREDICT do not have to be joinable with the columns in TRAIN_DT.
The input of the model training is regarded as an independent sub query. This means if an aggregation is used, it is independent of the dimensions defined in the rest of the query. This also means that the columns within TRAIN_DT have to be joinable, but not with the columns used in the rest of the query.
Все столбцы в TRAIN_DT должны быть присоединяемыми. Столбцы в PREDICT не обязательно должны соединяться со столбцами в TRAIN_DT.
Ввод модели обучения рассматривается как независимый подзапрос. Это означает, что если используется агрегация, она не зависит от измерений, определенных в остальной части запроса. Это также означает, что столбцы в TRAIN_DT должны быть соединяемыми, но не со столбцами, используемыми в оставшейся части запроса.
Filter behavior
Standard Decision Tree
If rows of a column are filtered, it does not affect the decision tree, as long as the decision tree model is not trained on aggregation results. This means independent of filters and selections, the underlying model stays the same. If you want to restrict the input data of a model you can use a CASE WHEN statement and map the values you want to be ignored to null. If a model is trained on results of an aggregation it still changes with the filtering because the result of the aggregation is affected by the filtering. Если строки столбца фильтруются, это не влияет на дерево решений, если модель дерева решений не обучена результатам агрегации. Это означает, что независимо от фильтров и выборок базовая модель остается неизменной. Если вы хотите ограничить входные данные модели, вы можете использовать оператор CASE WHEN и сопоставить значения, которые вы хотите игнорировать, с нулем. Если модель обучается на результатах агрегации, она все еще изменяется с фильтрацией, потому что фильтрация влияет на результат агрегации.
Filtered Decision Tree
If a filter or selection changes, the model is retrained and the resulting function adopts to the new of view of data. This has a serious performance impact.
Если фильтр или выбор изменяется, модель переобучается, и результирующая функция адаптируется к новому представлению данных. Это оказывает серьезное влияние на производительность.
Result
The Decision Tree splitting rules are constructed to reduce the entropy within subsets of the data created at each splitting point.
Правила разбиения дерева решений построены так, чтобы уменьшить энтропию в подмножествах данных, создаваемых в каждой точке разделения.
User Interface
Here is the configuration panel for the decision tree component. The Target Column field corresponds to the OUTPUT and the Features to the INPUT query elements previously described.
Вот панель конфигурации для компонента дерева решений. Поле Target Column соответствует OUTPUT, а Feature - элементам запроса INPUT, описанным ранее.
Decision Tree user interface
Пользовательский интерфейс дерева решений
This is the tree displayed by the decision tree component configured with the above configuration screen
Это дерево, отображаемое компонентом дерева решений, настроенным с помощью приведенного выше экрана конфигурации
Decision Tree example
Пример дерева решений
This visualization helps understand the model that was built from the classification problem and thus give new insights to the data being analysed. Each of the rows (defined by the provided dimensions, or Case if no dimension is provided) will flow through this decision tree when being classified, following the green or red path at each rule of the tree depending on whether it satisfied (green) or does not satisfy (red) the decision rule displayed in the box.
The leafs of the tree indicate the class being assigned to the row reaching it. The numbers in parenthesis are statistics about the performance of the decision tree on the training data, the denominator indicates the total of rows that have reached the node, and the numerator indicates how many of the rows that have reached this node were classified properly.
As we can see in this example, every row is classified as being of the class 0 which can be explained when looking at the number in parenthesis, indicating that this is done because of a sur-representation of the class 0 in the training data, leading to best performance when assigning the 0 label to each row.
Эта визуализация помогает понять модель, построенную на основе проблемы классификации, и, таким образом, дает новое понимание анализируемых данных. Каждая из строк (определяемых предоставленными измерениями или регистром, если измерение не указано) будет проходить через это дерево решений при классификации, следуя зеленому или красному пути в каждом правиле дерева в зависимости от того, удовлетворено ли оно (зеленое) или не удовлетворяет (красный) правилу решения, отображаемому в поле.
Листья дерева указывают на класс, который присваивается ряду, достигшему его. Числа в скобках представляют собой статистические данные о производительности дерева решений для обучающих данных, знаменатель указывает общее количество строк, которые достигли узла, а числитель указывает, сколько строк, которые достигли этого узла, были классифицированы надлежащим образом.
Как мы видим в этом примере, каждая строка классифицируется как принадлежащая к классу 0, что можно объяснить, посмотрев на число в скобках, указывая, что это сделано из-за избыточного представления класса 0 в обучающих данных, приводя к лучшей производительности при назначении метки 0 для каждой строки.
Example