KMeansND() evalueert de rijen van het diagram door K-means clustering toe te passen. Voor elke rij van het diagram wordt de cluster-id weergegeven van het cluster waaraan dit gegevenspunt is toegewezen. De kolommen die worden gebruikt door het clustering-algoritme worden bepaald door de parameter coordinate_1 en coordinate_2 etc. tot en met de n-kolommen Dit zijn beide aggregaties. De parameter num_clusters bepaalt het aantal clusters dat wordt gemaakt.
KMeansND retourneert één waarde per gegevenspunt. De geretourneerde waarde is een dubbele waarde en is het gehele getal dat overeenkomt met het cluster waaraan elk gegevenspunt is toegewezen.
Het geheel getal dat het aantal clusters aangeeft.
num_iter
Het aantal iteraties voor clusters met opnieuw geïnitialiseerde middenpunten.
coordinate_1
De aggregatie die de eerste coördinaat berekent, meestal de x-as (van de verdelingsplot die op basis van het diagram kan worden gemaakt). De aanvullende parameters berekenen de tweede, derde en vierde coördinaat, etc.
In dit voorbeeld maken we een verdelingsplot met behulp van de gegevensset Iris en gebruiken vervolgens KMeans om de gegevens te kleuren op uitdrukking.
Bovendien maken we een variabele voor het argument num_clusters en gebruiken vervolgens een invoervak voor de variabele om het aantal clusters te wijzigen.
Bovendien maken we een variabele voor het argument num_iter en gebruiken vervolgens een tweede invoervak voor de variabele om het aantal iteraties te wijzigen.
De gegevensset Iris is in verschillende indelingen openbaar toegankelijk. We hebben de gegevens ter beschikking gesteld als een uitgelijnde tabel die geladen kan worden met behulp van de editor voor laden van gegevens in Qlik Sense. Houd er rekening mee dat we in dit voorbeeld de kolom id hebben toegevoegd.
Nadat we de gegevens in Qlik Sense hebben geladen, gaan we als volgt te werk:
Sleep een verdelingsplot op een nieuw werkblad. Geef het bloembladdiagram (kleuruitdrukking) een naam.
Maak een variabele om het aantal clusters op te geven. Voor de variabele Naam voert u KmeansPetalClusters in. Voor de variabele Definitie voert u =2 in.
Maak een variabele om het aantal iteraties op te geven. Voer voor de variabele NaamKMeansNumberIterations in. Voer voor de variabele Definitie=1 in.
Configureer Uiterlijk voor het diagram:
Onder Dimensies kiest u id voor het veld voor Bel. Voer de cluster-id in voor het label.
Onder Metingen kiest u Som([lengte.bloemenblad]) voor de uitdrukking voor X-as.
Onder Metingen kiest u Som([breedte.bloemenblad]) voor de uitdrukking voor Y-as.
Gegevensinstellingen voor het bloembladdiagram (kleuruitdrukking)
De gegevenspunten worden in het diagram geplot.
Gegevenspunten in het bloembladdiagram (kleuruitdrukking)
Configureer Uiterlijk voor het diagram:
Onder Kleuren en legenda kiest u Aangepast voor Kleuren.
Kleur het diagram Op uitdrukking.
Voer het volgende in voor Uitdrukking: kmeansnd($(KmeansPetalClusters),$(KmeansNumberIterations), Sum([petal.length]), Sum([petal.width]),Sum([sepal.length]), Sum([sepal.width]))
Houd er rekening mee dat KmeansPetalClusters de variabele is die we hebben ingesteld op 2. We stellen de variabele KmeansNumberIterations in op 1.
U kunt ook het volgende invoeren: kmeans2d(2, Sum([petal.length]), Sum([petal.width]))
Schakel het selectievakje uit voor De uitdrukking is een kleurcode.
Voer het volgende in voor Label: Cluster-id
Instellingen voor het uiterlijk van het bloembladdiagram (kleuruitdrukking)
De twee clusters van het diagram worden gekleurd door de uitdrukking KMeans.
Clusters die zijn gekleurd op uitdrukking in een bloembladdiagram (kleuruitdrukking)
Voeg een Invoervak voor variabelen toe voor het aantal clusters.
Onder Aangepaste objecten in het bedrijfsmiddelenvenster kiest u Qlik Dashboard bundle. Indien we geen toegang hadden tot de bundel dashboard, zouden we nog steeds in staat zijn om het aantal clusters te wijzigen dat de variabele gebruikt die we hebben gemaakt. Dit is ook direct mogelijk met behulp van een geheel getal in de uitdrukking.
Sleep een Invoervak voor variabelen naar het werkblad.
Onder Uiterlijk kiest u Algemeen.
Voer het volgende in voor Titel: Clusters
Klik op Variabele.
Kies de volgende variabele voor Naam: KmeansPetalClusters.
Kies Schuifregelaar voor Weergeven als.
Kies Waarden en configureer de instellingen zoals vereist.
Uiterlijk voor het invoervak voor variabelen van clusters
Voeg een Invoervak voor variabelen toe voor het aantal iteraties.
Sleep een Invoervak voor variabelen naar het werkblad.
Onder Uiterlijk kiest u Algemeen.
Voer het volgende in voor Titel: Iteraties
Onder Uiterlijk kiest u Variabele.
Kies de volgende variabele onder Naam: KmeansNumberIterations.
Configureer de extra instellingen zoals vereist,
We kunnen nu het aantal clusters en iteraties wijzigen met de schuifbalken in de invoervakken voor variabelen.
Clusters die zijn gekleurd op uitdrukking in een bloembladdiagram (kleuruitdrukking)
Automatische clustering
De functies voor KMeans bieden ondersteuning voor automatische clustering met behulp van de methode diepteverschil (DeD). Als een gebruiker het aantal clusters instelt op 0, wordt een optimaal aantal clusters voor die gegevensverzameling bepaalt. Houd er rekening mee dat een geheel getal voor het aantal clusters (k) niet expliciet wordt geretourneerd, maar wel wordt berekend binnen het KMeans-algoritme. Als bijvoorbeeld 0 is opgegeven in de functie voor de waarde van KmeansPetalClusters of is ingesteld via een invoervak voor variabelen, worden clustertoewijzingen automatisch berekend voor de gegevensverzameling die is gebaseerd op een optimaal aantal clusters. Op basis van de Iris-gegevensverzameling, als 0 is geselecteerd voor het aantal clusters, bepaalt het algoritme (automatische clustering) een optimaal aantal clusters (3) voor deze gegevensverzameling.
De diepteverschilmethode KMeans depth bepaalt het optimale aantal clusters als (k) is ingesteld op 0
Iris-gegevensverzameling: Uitgelijnde lading voor editor voor laden van gegevens in Qlik Sense
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!