Klasterizavimas arba klasterių analizė yra mašininio mokymosi metodas, sugrupuojantis nepažymėtą duomenų rinkinį. Jį galima apibrėžti kaip „Būdas sugrupuoti duomenų taškus į skirtingas grupes, sudarytas iš panašių duomenų taškų. Objektai, turintys galimų panašumų, lieka grupėje, kuri turi mažiau panašumų arba visai neturi panašumų su kita grupe.
skaitymas iš csv failo java
Tai atliekama surandant kai kuriuos panašius modelius nepažymėtame duomenų rinkinyje, pvz., formą, dydį, spalvą, elgseną ir kt., ir padalijant juos pagal tų panašių modelių buvimą ir nebuvimą.
Tai yra mokymasis be priežiūros metodą, todėl algoritmas neprižiūrimas ir jis susijęs su nepažymėtu duomenų rinkiniu.
Pritaikius šią klasterizacijos techniką, kiekvienai klasteriui arba grupei suteikiamas klasterio ID. ML sistema gali naudoti šį ID, kad supaprastintų didelių ir sudėtingų duomenų rinkinių apdorojimą.
Klasterizacijos technika dažniausiai naudojama statistinių duomenų analizė.
Pastaba: grupavimas yra panašus į klasifikavimo algoritmas , tačiau skirtumas yra mūsų naudojamo duomenų rinkinio tipas. Klasifikuodami dirbame su pažymėtu duomenų rinkiniu, o klasterizuodami dirbame su nepažymėtu duomenų rinkiniu.
Pavyzdys : Supraskime klasterizacijos techniką realiu Mall pavyzdžiu: Kai lankomės bet kuriame prekybos centre, galime pastebėti, kad panašaus naudojimo daiktai yra sugrupuoti. Pavyzdžiui, marškinėliai sugrupuoti į vieną skyrių, o kelnės – prie kitų, panašiai, daržovių skyriuose, obuoliai, bananai, mangai ir kt., yra sugrupuoti į atskiras dalis, kad galėtume lengvai išsiaiškinti dalykus. Klasterizacijos technika taip pat veikia taip pat. Kiti klasterizacijos pavyzdžiai – dokumentų grupavimas pagal temą.
Klasterizacijos technika gali būti plačiai naudojama atliekant įvairias užduotis. Kai kurie dažniausiai naudojami šios technikos naudojimo būdai:
- Rinkos segmentacija
- Statistinių duomenų analizė
- Socialinių tinklų analizė
- Vaizdo segmentavimas
- Anomalijų aptikimas ir kt.
Be šių bendrų naudojimo būdų, jį naudoja Amazon savo rekomendacijų sistemoje pateikti rekomendacijas pagal ankstesnę produktų paiešką. Netflix taip pat naudoja šią techniką, kad rekomenduotų filmus ir žiniatinklio serialus savo vartotojams pagal žiūrėjimo istoriją.
Žemiau esančioje diagramoje paaiškinamas klasterizacijos algoritmo veikimas. Matome, kad skirtingi vaisiai yra suskirstyti į keletą grupių, turinčių panašių savybių.
Klasterizacijos metodų tipai
Klasterizacijos metodai yra plačiai suskirstyti į Sunkus klasterizavimas (duomenų taškas priklauso tik vienai grupei) ir Minkštas klasterizavimas (duomenų taškai gali priklausyti ir kitai grupei). Tačiau yra ir kitų įvairių klasterizacijos metodų. Toliau pateikiami pagrindiniai klasterizacijos metodai, naudojami mašininiame mokyme:
Padalijimų klasterizavimas
Tai yra klasterizacijos tipas, skirstantis duomenis į nehierarchines grupes. Jis taip pat žinomas kaip centroidiniu metodu . Dažniausias skaidymo klasterizacijos pavyzdys yra K-Means klasterizacijos algoritmas .
Šio tipo duomenų rinkinys yra padalintas į k grupių rinkinį, kur K naudojamas iš anksto nustatytų grupių skaičiui apibrėžti. Klasterio centras sukuriamas taip, kad atstumas tarp vieno klasterio duomenų taškų būtų minimalus, palyginti su kito klasterio centroidu.
Tankiu pagrįstas klasterizavimas
Tankiu pagrįstas klasterizacijos metodas sujungia labai tankias sritis į grupes, o savavališkos formos skirstiniai formuojami tol, kol galima sujungti tankią sritį. Šis algoritmas tai atlieka identifikuodamas skirtingus duomenų rinkinio klasterius ir sujungdamas didelio tankio sritis į grupes. Tankios sritys duomenų erdvėje yra atskirtos viena nuo kitos retesnėmis sritimis.
Šie algoritmai gali susidurti su sunkumais sugrupuojant duomenų taškus, jei duomenų rinkinys yra įvairaus tankio ir didelių matmenų.
pėdos prieš pėdą
Paskirstymo modeliu pagrįstas klasterizavimas
Taikant paskirstymo modeliu pagrįstą klasterizacijos metodą, duomenys skirstomi pagal tikimybę, kaip duomenų rinkinys priklauso tam tikram skirstiniui. Grupavimas atliekamas darant prielaidą, kad kai kurie skirstiniai paprastai Gauso pasiskirstymas .
Šio tipo pavyzdys yra Lūkesčių maksimizavimo klasterizacijos algoritmas kuri naudoja Gauso mišinio modelius (GMM).
Hierarchinis klasterizavimas
Hierarchinis klasterizavimas gali būti naudojamas kaip alternatyva suskaidytam klasterizavimui, nes nereikia iš anksto nurodyti kuriamų grupių skaičiaus. Taikant šį metodą, duomenų rinkinys yra padalintas į grupes, kad būtų sukurta į medį panaši struktūra, kuri taip pat vadinama a dendrograma . Stebėjimus arba bet kokį grupių skaičių galima pasirinkti pjaunant medį tinkamu lygiu. Dažniausias šio metodo pavyzdys yra Aglomeracinis hierarchinis algoritmas .
Neryškus klasterizavimas
Neryškus klasterizavimas yra minkštojo metodo tipas, kai duomenų objektas gali priklausyti daugiau nei vienai grupei ar klasteriui. Kiekvienas duomenų rinkinys turi narystės koeficientų rinkinį, kuris priklauso nuo narystės laipsnio klasteryje. Fuzzy C-means algoritmas yra šio tipo grupavimo pavyzdys; kartais jis taip pat žinomas kaip neaiškių k-means algoritmas.
Klasterizacijos algoritmai
Klasterizacijos algoritmus galima suskirstyti pagal jų modelius, kurie paaiškinti aukščiau. Yra paskelbti įvairių tipų klasterizacijos algoritmai, tačiau dažniausiai naudojami tik keli. Klasterizacijos algoritmas pagrįstas mūsų naudojamais duomenimis. Pavyzdžiui, kai kurie algoritmai turi atspėti klasterių skaičių duotame duomenų rinkinyje, o kai kurie – norint rasti mažiausią atstumą tarp duomenų rinkinio stebėjimo.
pagrindinis raktas ir sudėtinis raktas sql
Čia aptariame daugiausia populiarius klasterizacijos algoritmus, kurie plačiai naudojami mašininiame mokyme:
Klasterizacijos programos
Toliau pateikiamos kai kurios dažniausiai žinomos klasterizacijos technikos taikymas mašininiame mokyme: