Rekursiv klustring med DBScan
Som Eskil har skrivit om tidigare så är det problematiskt att välja parametrar i DBScan. Resultatet blir oftast antingen att en majoritet av sessionenrna blir markerade som “outliers” eller att ett dominerande kluster sväljer nästan alla sessioner. För att komma åt den här problematiken har vi valt att angripa vår datamängd med en rekursiv implementation av DBScan. Vi utgår från en DBScan-klustring med väldigt lågt satt likhetskrav. I de större av de kluster som då uppstår gör vi samma samma typ av klustring igen, men med ett steg hårdare likhetskrav, och så vidare , tills likhetskravet når ett stoppvärde.
Det innebär att de parametrar som nu behöver sättas är startlikhet, stopplikhet och steglängd. Det sker även en utvärdering av klustringarna i varje steg som kan avgöra om man borde avbryta rekursionen innan stopplikheten är uppnådd, t.ex. på grund av klustrens storlek.
Resultaten ser hittills lovande ut. Ännu är ngen formell utvärdering utförd, men en stor andel av sessionerna klustras, och inget kluster blir så stort att det blir meningslöst. Ett exempel finns här.
Parallellt har Eskil utvecklat en klassifikation av sessioner så att vi kan slänga bort en stor del av de “navigational”-sessioner som vi är ganska ointresserade av. Men förhoppningsvis mer om det senare.

