SUBCLU är en algoritm för klustring av högdimensionell data av Karin Kailing, Hans-Peter Kriegel och Peer Kröger. Det är en subrymdklustringsalgoritm som bygger på den densitetsbaserade klustringsalgoritmen DBSCAN . SUBCLU kan hitta kluster i axelparallella delrum och använder en nedifrån och upp, girig strategi för att förbli effektiv.
Närma sig
SUBCLU använder ett monotoniskt kriterium: om ett kluster hittas i ett delområde , så innehåller varje delutrymme också ett kluster. Ett kluster i delutrymmet är dock inte nödvändigtvis ett kluster i , eftersom kluster måste vara maximala, och fler objekt kan finnas i klustret i som innehåller . En densitetsansluten mängd i ett delrum är emellertid också en densitetsansluten mängd i .
Denna nedåtstängningsegenskap används av SUBCLU på ett sätt som liknar Apriori-algoritmen : för det första är alla 1-dimensionella delrum klustrade. Alla kluster i ett högredimensionellt delrum kommer att vara delmängder av klustren som detekteras i denna första klustring. SUBCLU producerar därför rekursivt -dimensionella kandidatunderrymder genom att kombinera -dimensionella underutrymmen med kluster som delar attribut. Efter beskärning av irrelevanta kandidater, DBSCAN på kandidatunderutrymmet för att ta reda på om det fortfarande innehåller kluster. Om den gör det, används kandidatunderutrymmet för nästa kombination av underutrymmen. För att förbättra körtiden för DBSCAN beaktas endast de punkter som är kända för att tillhöra kluster i ett På grund av egenskapen nedåtstängning kan inte andra punkter vara en del av ett -dimensionellt kluster ändå.
Pseudokod
SUBCLU tar två parametrar, och , som har samma roll som i DBSCAN . I ett första steg används DBSCAN för att hitta 1D-kluster i varje delutrymme som sträcks av ett enda attribut:
-
-
- // I ett andra steg, -dimensionella kluster byggs av -dimensionella:
-
-
-
-
Uppsättningen innehåller alla -dimensionella delrum som är kända för att innehålla kluster Mängden innehåller uppsättningarna av kluster som finns i underrymden. Den är vald för att minimera körningarna av DBSCAN (och antalet poäng som måste beaktas i varje körning) för att hitta klustren i kandidatunderrymden.
Kandidatunderrymden genereras ungefär likadant. Apriori-algoritmen genererar de frekventa objektuppsättningskandidaterna: Par av -dimensionella underrymden jämförs, och om de skiljer sig i endast ett attribut, bildar de en -dimensionell kandidat. Men ett antal irrelevanta kandidater hittas också; de innehåller ett -dimensionellt delrum som inte innehåller ett kluster. Därför tas dessa kandidater bort i ett andra steg:
-
-
-
- // Beskärning av irrelevant kandidat delrymden
-
-
-
Tillgänglighet
Ett exempel på implementering av SUBCLU är tillgängligt i ELKI-ramverket .