К-Means клъстеризация с Qlik във Front-End: Бизнес приложения и имплементация

К-Means клъстеризация с Qlik във Front-End: Бизнес приложения и имплементация

By Stiliyan Neychev

November 13, 2023

Без съмнение, една от най-интригуващите функции във front-end-а на Qlik Sense е Advanced Analytics calculations. А една от най-полезните ѝ функции е k-means клъстеризация. В тази статия ще ви запознаем с нея като я поставим под светлината на прожекторите, за да разгледаме по-подробно приложенията ѝ в различни бизнес сектори, а по-късно ще ви покажем как можете лесно да я включите във вашите дашборди в Qlik Sense.   

Съдържание

Какво е k-means клъстеризация?

Бизнес приложения на k-means клъстеризацията

K-means клъстеризация с Qlik Sense

К-means клъстеризация с Qlik: Често задавани въпроси

К-Means клъстеризация с Qlik: Следващи стъпки

Какво е k-means клъстеризация? 

Нека се уверим, че сте наясно с дефиницията. K-means клъстеризацията е вид неконтролирано обучение (unsupervised learning), използвано в машинното обучение (ML), когато имате немаркирани данни (unlabeled data). Целта на този алгоритъм е да открие групи във вашите данни. Броят на групите, които ще бъдат формирани, се представя от променливата K. С други думи, алгоритъмът работи за итеративно разпределяне на точките от данни в клъстери (със средна стойност, т.нар. центроид, най-близка до нея) според сходствата между тях. След като изяснихме какво представлява k-means клъстеризацията, нека видим какви са различните бизнес приложения на този усъвършенстван анализ.  

Бизнес приложения на k-means клъстеризацията 

Понастоящем k-means клъстеризацията се използва най-често в маркетинг отделите за сегментиране на клиентите в различни групи въз основа на тяхната история на покупките, интереси,мониториране на активността и др. Също така често се използва за класифициране на клъстери от документи въз основа на често използвани термини, тагове, съдържание и т.н. Съществуват обаче и много други интересни случаи на употреба, в които можете да приложите алгоритъма, като например:  

Digital illustration of a human brain integrated with a circuit board design. The brain is central, depicted in a glowing blue outline with neural pathways clearly defined. It is encased within a circular, luminescent halo with radiating light points, suggesting connectivity or activity. The backdrop features a dense pattern of electronic circuits and microchips in varying shades of blue and black, symbolizing complex technology. The overall image conveys a fusion of biology and technology, suggesting concepts of artificial intelligence, machine learning, or advanced computing.

Здравеопазване  

K-means клъстеризацията може да се използва за групиране на области въз основа на фактори като честота на спешни случаи, склонност към заболявания, средна възраст на жителите и др. След като се намери клъстерният център на тези групи, може да се открие здравен център, който да е на минимално разстояние от всички райони с висока необходимост. Този вид клъстеризация може да се използва и за идентифициране на сходства при пациентите въз основа на техните характеристики, с цел проучване на разходите и методите за лечение. От друга страна, прилагането на K-Means към оперативни данни от болници, като например брой на приетите пациенти, продължителност на престоя и използване на ресурсите, може да помогне за идентифициране на модели и оптимизиране на работните процеси. Това спомага за ефективно разпределение на ресурсите, намаляване на времето за чакане и подобряване на цялостното управление на болницата.  

Застраховане  

K-Means клъстеризацията се прилага в застрахователната индустрия за получаване на информация за поведението на клиентите, оценка на риска, откриване на измами и оперативна оптимизация. Чрез групиране на лица със сходни рискови характеристики застрахователите могат да усъвършенстват процесите на застраховане и да определят по-точни премийни ставки. Застрахователите използват K-Means клъстерирането и за идентифициране на модели, показващи потенциални измами в застрахователни искове. Клъстеризацията помага за откриване на аномалии и необичайни модели, което позволява ранна намеса и разследване на потенциално измамни дейности. Чрез клъстеризиране на притежателите на полици въз основа на тяхното поведение, модели на използване и взаимодействия със застрахователната компания застрахователите могат да прогнозират стойността на целия живот на клиента. Тази информация е ценна за целенасочен маркетинг, усилия за задържане на клиенти и оптимизиране на взаимоотношенията с клиентите в дългосрочен план. 

Финансови услуги 

Както вече споменахме, този алгоритъм често се използва за сегментиране на клиентите в различни групи. Това логично го прави препоръчителен подход за банковите институции, които групират клиентите си въз основа на информация като навици за пазаруване или личен доход. Заедно с извличането на знания от данни (data mining), k-means клъстеризацията може да им осигури необходимаата информация за да подобряване на услугите им и предлагане на още по-персонализирани пакети.  

Киберсигурност  

Машинното обучение (machine learning) вече има широко приложение в разкриването на измами, благодарение на наличните исторически данни за фалшиви искове. K-means клъстеризацията може да използва тази информация за оценка на нови искове и да определи дали са истински въз основа на позицията им спрямо клъстери с фалшиви искове. Освен това алгоритъмът може да се използва за клъстеризация на IT предупредителни съобщения. С малко обучение той може да задава приоритети въз основа на засегнатите единици, да предоставя средно време за разрешаване на проблеми въз основа на исторически данни и дори да помага за прогнозиране на повреди или неизправности.  

Логистика  

С помощта на публично достъпни данни за трафика и информация за пътуванията можем да използваме k-means клъстеризацията, за откриването на множество оптимални спирки, маршрути за пътуване и др. Това е от полза не само за таксиметровите услуги, но и за тези, свързани със спедиция и доставки, тъй като дава представа за текущите модели на трафика, най-често срещаните места за взимане на доставките и др. Освен това процесът може да бъде допълнително оптимизиран чрез комбиниране на алгоритъма с доставчик на информация в реално време, например дрон.  

Това са само няколко примера за приложеноята на k-means клъстеризацията. Независимо от сферата на вашия бизнес, ще можете да получите повече информация и да подобрите процеса на вземане на решения. А сега ще ви покажем как да имплементирате алгоритъма в Qlik Sense.  

K-means клъстеризация с Qlik Sense  

В Qlik Sense, k-means клъстеризацията се предлагат под формата на няколко функции – KMeans2D, KMeansND, KMeansCentroid2D и KMeansCentroidND. В следващите редове ще ви покажем колко лесна е употребата им. 

Screenshot of an educational annotation explaining the KMeans2D function in Qlik. The function 'KMeans2D(6, sum([Inventory]), sum([Sales_Amount]))' is displayed, with arrows pointing to its components. The number '6' is highlighted, with a label 'Number of groups/clusters'. Two parameters, 'sum([Inventory])' and 'sum([Sales_Amount])', are labeled 'Parameters/Expressions'. There's also a note stating 'The Qlik function - the 2 represents the number of parameters in this case', indicating that '2D' in 'KMeans2D' refers to the two parameters used in the function.

Започваме с функцията KMeans2D, защото тя е най-лесна за възприемане. На първо място, причината да е 2D е, че обхваща само две измерения. Това е идеално за стандартни диаграми, тъй като можете лесно да визуализирате резултата. И така, за всяко измерение трябва да предоставите един набор от данни, които Qlik Sense ще групира в определен брой клъстери.  

Бележка на редактора: Съществува трети параметър „norm“, който се използва за нормализиране, но той не е задължителен. Опциите за нормализация са:  

  • 0 или „няма“ за липса на нормализация  
  • 1 или „zscore“ за нормализиране на z-стойността  
  • 2 или „minmax“ за нормализиране на минималната стойност  

По принцип, ако е избран метод за нормализация, той се прилага към набора от данни преди клъстеризацията. 

An image showing a scatter plot titled 'K-Means 2D by Product Group, 6 groups based on Inventory and Sales'. The x-axis is labeled 'Total Inventory' and the y-axis 'Total Sales'. Different product groups are represented by colored dots clustered on the plot. Red dots labeled 'Starchy Foods' are clustered towards the lower left, indicating lower inventory and sales. Blue dots represent 'Beverages', 'Baking Goods', 'Canned Foods', 'Snack Foods', 'Produce', and 'Frozen Foods', spread across the middle to upper right, indicating varying higher levels of inventory and sales. One orange dot, labeled 'Deli', is separate from the others, positioned towards the upper left, suggesting high sales but lower inventory.

На скрийншота по-горе можем да видим как тази функция групира данните. Добавихме малко различен цвят за по-ясна видимост, така че да можете да видите как алгоритъмът избира точките с данни въз основа на тяхната близост. Обърнете внимание, че светлооранжевата група „Deli“ всъщност е третата, а не петата, както може да изглежда на пръв поглед. 

Screenshot of an instructional graphic for the 'KMeansND' function in Qlik. It demonstrates the syntax 'KMeansND(6, 3, sum([Inventory]), avg([Lead Time]), sum([Sales Amount]))'. There are arrows pointing to the first '6' indicating 'Number of groups/clusters', to the '3' indicating 'Number of parameters (i.e., data)', and to the parameter list which is labeled 'Parameters/Expressions'. The parameter list includes three functions: 'sum([Inventory])', 'avg([Lead Time])', and 'sum([Sales Amount])'. This image is educational, intended to show users how to use the KMeansND function to analyze data by clustering.

В другата функция – KMeansND – можете да зададете броя на измеренията, но имайте предвид, че всичко, което надхвърля три измерения, ще бъде трудно за възприемане от човешкия мозък. Параметрите се попълват по подобен начин като при предишната функция.  

The image shows a scatter plot titled 'K-Means 3D by Product Sub-Group, 6 groups based on Avg Lead Time, Inventory, Sales'. The x-axis represents Inventory ranging from 0 to 700k, and the y-axis represents Sales from 0 to 10M. Colored dots represent different food products positioned according to their sales and inventory data. Red dots, clustered at the lower inventory and lower sales end, represent products like 'Shrimp', 'Sugar', and 'Ice Cream'. Green and blue dots, representing items like 'Milk', 'Canned Vegetables', 'Pizza', and 'Wine', are spread across mid-range inventory and sales values. A single pink dot at the higher end of the scale represents 'Fresh Vegetables'.

Както можете да видите на екранната снимка, в резултат на това Qlik групира вашите експресии в определен ред.Въпреки това, тъй като графиката все още е само двуизмерна, една от експресиите няма да бъде представена. Избрахме да визуализираме графиката, като продажбите са представени от оста Y, а продуктите, в складовата наличност – от оста X. Ако можехме да направим графиката триизмерна, тогава времето за изпълнение щеше да бъде представено по оста Z.

Може също да Ви хареса: Може също да Ви хареса: K-Means клъстеризация в бекенда на Qlik 

Може би се питате: „Ако това е функция, не мога ли да я използвам във всички диаграми на Qlik?“ И на това ще отговорим с голямо „Да!“.Най-добрият начин за визуализиране на клъстери е с диаграма тип scatter plot, но това не означава, че не можете да използвате таблица, за да покажете всички групи ръчно. Все пак ще оставим експериментите на вас. 

This image presents a combination of a scatter plot and a customer list as part of a 'Different Charts Example'. The scatter plot is titled 'K-Means 3D by Product Sub-Group, 6 groups based on Avg Lead Time, Inventory, Sales'. It shows various food products as colored dots positioned according to their inventory and sales values, with labels such as 'Hot Dogs', 'Bologna', 'Sugar', and 'Fresh Fruit'. Below the scatter plot, there's a search bar with a function 'KMeansND(6, 3, sum([Inventory]), avg([Lead Time]), sum([Sales Amount]))'. Beneath the search bar is a list of customers, each followed by a numerical total, with entries like 'ZNET', 'Zitel', and 'YourFuture'. An arrow points to one of the entries in the scatter plot emphasizing a data point."

Прочетете още: Топ 10 причини да изберете Qlik Sense за вашата организация 

К-means клъстеризация с Qlik: Често задавани въпроси

Какво представлява k-means клъстеризацията в Qlik?  

K-means клъстеризацията в Qlik е техника за анализ на данни, която групира сходни точки от данни в клъстери. Тя има за цел да раздели данните на k клъстера, където всяко наблюдение принадлежи към клъстера с най-близката средна стойност. В Qlik този метод помага да се разкрият модели, да се сегментират данни и да се подпомогне вземането на решения чрез организиране на информацията в съгласувани групи въз основа на сходства.  

Как мога да приложа k-means клъстеризация в Qlik Sense?  

В Qlik Sense използването на Advanced Analytics Integration (интеграция на разширени анализи) в редактора за зареждане на данни позволява на потребителите да извършват k-means клъстеризация без усилие.Чрез използване на функцията „KMeans“ в рамките на езика за скриптове (scripting language), потребителите могат да извършват разширени аналитични изчисления директно върху заредените данни. Функцията „KMeans“ помага за дефинирането на променливите и определянето на броя на клъстерите, като позволява на потребителите да изпълняват безпроблемно клъстериране по метода k-means в рамките на Qlik Sense. Този рационализиран подход чрез функцията Advanced Analytics calculations дава възможност на потребителите да извършват операции по клъстериране с прецизност и гъвкавост. 

Кои са ключовите фактори, които трябва да се вземат предвид при използването на k-means клъстеризация във front-end-a на Qlik Sense?  

Когато използвате k-means клъстеризация в Qlik Sense, трябва да вземете предвид няколко ключови фактора като точно определяне на броя на клъстерите (стойност k), разбиране на влиянието на първоначалното разположение на центроидите, управление на отклоненията, оценка и валидиране на качеството на клъстерите в рамките на възможностите за визуализация на Qlik Sense и разглеждане на нормализирането или мащабирането на характеристиките, за да се гарантира точността и надеждността на резултатите от клъстеризацията. Друг важен фактор, който трябва да се вземе предвид, са наличните изчислителни ресурси (computational resources), особено за големи масиви от данни. K-means може да бъде изчислително интензивен, така че трябва да оцените осъществимостта на алгоритъма в рамките на наличната инфраструктура. Прилагането на k-means в back-end също може да бъде вариант за по-големи набори от данни. 

Какви са ползите от използването на k-means клъстеризация в Qlik Sense?  

K-means клъстеризацията в Qlik Sense има много предимства. Чрез удобния за потребителя интерфейс и възможностите за визуализация на Qlik Sense потребителите могат лесно да сегментират и анализират данни, за да извлекат ценна информация. Платформата подпомага сегментирането на клиенти, откриването на аномалии и разпознаването на модели. Освен това дава възможност на потребителите да вземат информирани решения, като предлага ясни и лесни за визуална интерпретация модели на клъстери, подобрява стратегическото планиране и разпределението на ресурсите (resource allocation) в Qlik Sense. 

Има ли някакви ограничения или предизвикателства при използването на k-means клъстеризация в Qlik Sense? 

Въпреки своята ефективност, k-means клъстеризацията в Qlik Sense има някои ограничения. Методът може да се затрудни при неглобуларни клъстери (non-globular clusters) или клъстери с различна големина. Определянето на подходящия брой клъстери (стойност k) може да се окаже предизвикателство, а техниката може да не е подходяща за всички типове данни или цели на клъстеризацията в рамките на платформата Qlik Sense. Освен това интерпретирането и валидирането на качеството на клъстерите може да изисква задълбочено разбиране както на набора от данни, така и на процеса на клъстеризация в рамките на Qlik Sense.  

К-Means клъстеризация с Qlik: Следващи стъпки 

Надяваме се, че сте заинтригувани поне колкота нас от k-means клъстеризацията с Qlik!  Ако се нуждаете от повече подробности за предстоящите версии на функциите, разгледайте Qlik Community. А ако имате проект с Qlik и се нуждаете от експертно мнение, винаги можете да се обърнете се към нашите сертифицирани Qlik консултанти.  

Запазете си консултация с нашите Qlik специалисти

Name(Required)
Company Name(Required)