Applies to: CELONIS 4.3 CELONIS 4.4
Description
KMeans finds clusters based on the K-means++ algorithm. It assigns a number to every cluster.
KMeans consists of two steps, as in Linear Regression. The first step is training a model, meaning finding the centroids of the clusters. Second, cluster the values by the model. Our KMeans implementation is very flexible and allows the user to specify on which data the algorithm should train, and which data it should cluster.
There is also a simple KMeans operator, which just expects the number of clusters.
KMeans находит кластеры на основе алгоритма K-means ++. Он присваивает номер каждому кластеру.
KMeans состоит из двух этапов, как в линейной регрессии. Первым шагом является обучение модели, то есть нахождение центроидов кластеров. Во-вторых, кластеризовать значения по модели. Наша реализация KMeans является очень гибкой и позволяет пользователю указать, на каких данных должен обучаться алгоритм и какие данные он должен кластеризовать.
Существует также простой оператор KMeans, который просто ожидает количество кластеров.
Syntax
Simple Kmeans. It creates K clusters based on all other inputs in the query:
Простые Kmeans. Он создает K кластеров на основе всех других входных данных в запросе:
Количество кластеров.
Flexible Kmeans:
Гибкие Kmeans:
KMEANS ( TRAIN_[Filtered_]KM ( [ EXCLUDED ( table.exclude_column, ... ), ] INPUT ( table.input_column, ... ), k ), CLUSTER ( table.cluster_column, ... ) ) |
Находит K центроидов в скоплении. Объекты авторизации все еще соблюдаются.
Находит K центроидов в отфильтрованных данных.
Здесь вы можете опционально определить измерения, которые влияют на совокупности, используемые для обучения модели, но сами по себе не включаются в обучение.
Один или несколько столбцов, которые используются для обучения модели.
Количество кластеров.
Один или несколько столбцов, которые сгруппированы на основе обученных центроидов.
All columns in TRAIN_KM have to be joinable. The columns in CLUSTER do not have to be joinable with the columns in TRAIN_KM.
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_KM have to be joinable, but not with the columns used in the rest of the query.
Все столбцы в TRAIN_KM должны быть присоединяемыми. Столбцы в CLUSTER не обязательно должны соединяться со столбцами в TRAIN_KM.
Ввод модели обучения рассматривается как независимый подзапрос. Это означает, что если используется агрегация, она не зависит от измерений, определенных в остальной части запроса. Это также означает, что столбцы в TRAIN_KM должны быть соединяемыми, но не со столбцами, используемыми в оставшейся части запроса.
Filter behavior
Standard KMeans
If rows of a column are filtered, it does not affect the linear model, as long as the kmeans 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.
Если строки столбца фильтруются, это не влияет на линейную модель, если модель kmeans не обучена результатам агрегации. Это означает, что независимо от фильтров и выборок базовая модель остается неизменной. Если вы хотите ограничить входные данные модели, вы можете использовать оператор CASE WHEN и сопоставить значения, которые вы хотите игнорировать, с нулем. Если модель обучается на результатах агрегации, она все еще изменяется с фильтрацией, потому что фильтрация влияет на результат агрегации.
Filtered KMeans
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
KMeans finds clusters based on the K-means++ algorithm. It assigns a number to every cluster. K-means is not a stable algorithm, so you can get different results when executing the algorithm multiple times. Therefore you must not rely that clusters stay the same.
KMeans находит кластеры на основе алгоритма K-means ++. Он присваивает номер каждому кластеру. K-means не является стабильным алгоритмом, поэтому вы можете получить разные результаты при многократном выполнении алгоритма. Поэтому вы не должны полагаться на то, что кластеры остаются прежними.
Examples