Analiza măsurătorilor de diagnosticare a diabetului folosind algoritmul KMEANS

– Prof. Tăbîrcă Angelica-Ioana, informatică și TIC, Liceul Teoretic „Ion Heliade Rădulescu” Târgoviște
– Prof. Tăbîrcă Nicolae-Radu, informatică și TIC, Liceul Teoretic „Ion Heliade Rădulescu” Târgoviște

Conform studiului efectuat de Jain et al. (1999)[1], clusterizarea reprezintă o tehnică fundamentală în analiza datelor, care implică gruparea obiectelor sau instanțelor similare în clusteri sau grupuri distincte. Algoritmul K-Means este unul dintre cei mai răspândiți și utilizati algoritmi de clusterizare.

Scopul clusterizării este de a identifica structurile sau tiparele ascunse într-un set de date, facilitând înțelegerea și extragerea informațiilor relevante. Prin gruparea datelor similare, K-Means oferă o metodă simplă și eficientă de a rezuma și analiza seturile de date complexe.

Algoritmul K-Means se bazează pe principiul că un cluster este reprezentat de un centroid, care reprezintă media sau centrul geometric al datelor din acel cluster. Scopul algoritmului este să atribuie fiecare instanță din setul de date unui cluster astfel încât suma pătratelor distanțelor dintre fiecare instanță și centroidul corespunzător să fie minimă.

K-Means utilizează o strategie iterativă pentru a găsi centroizii optimi și pentru a atribui instanțele la clusterii corespunzători. Algoritmul începe prin inițializarea aleatoare a centroizilor și apoi alternează între două metode: atribuirea instanțelor la clusterul cu cel mai apropiat centroid și recalcularea pozițiilor centroizilor pe baza instanțelor alocate.

În timpul iterațiilor, algoritmul K-Means tinde să minimizeze funcția obiectivă cunoscută sub numele de sum of squared errors (SSE), care reprezintă suma pătratelor distanțelor dintre fiecare instanță și centroidul corespunzător. Algoritmul converge atunci când pozițiile centroizilor nu mai suferă modificări semnificative sau când criteriul de oprire specificat este îndeplinit.

Algoritmul K-Means are diverse aplicații practice, inclusiv analiza datelor, segmentarea imaginilor, recunoașterea de tipare, gruparea socială și multe altele. Capacitatea sa de a identifica structuri și relații în seturile de date îl face o unealtă valoroasă în domeniul științific și în luarea deciziilor în diverse industrii.

În continuare, voi explora detaliile implementării algoritmului K-Means și voi analiza metodele de evaluare a performanței și limitările acestui algoritm.

Importanța și aplicațiile algoritmului K-Means

Potrivit lui Jiawei Han (2011)[2], algoritmul K-Means este extrem de important în domeniul analizei datelor și clusterizării. Prin capacitatea sa de a grupa datele asemănătoare în clusteri, K-Means oferă o modalitate eficientă de a extrage informații semnificative și de a identifica tipare și structuri ascunse în seturile de date.

Aplicațiile algoritmului K-Means sunt vaste și se întind pe mai multe domenii.

  • Segmentarea imaginilor: K-Means poate fi utilizat pentru segmentarea imaginilor, adică împărțirea imaginilor în regiuni semnificative bazate pe caracteristici similare. Această abordare poate fi utilizată în analiza medicală, analiza imaginilor satelitare sau în domeniul computer vision (ramură a inteligenței artificiale).
  • Marketing și segmentarea clienților: K-Means poate fi aplicat în domeniul marketingului pentru segmentarea clienților în grupuri cu caracteristici similare, cum ar fi preferințele de cumpărare, comportamentul de consum sau caracteristicile demografice. Aceasta permite personalizarea strategiilor de marketing și dezvoltarea de campanii mai eficiente.
  • Recunoașterea de modele: K-Means poate fi folosit pentru recunoașterea de modele în seturile de date, cum ar fi recunoașterea de modele de fraudă în tranzacțiile financiare, recunoașterea de modele de comportament în rețele sociale sau recunoașterea de modele în analiza datelor biologice.
  • Înțelegerea comportamentului consumatorilor: K-Means poate fi utilizat pentru a înțelege și analiza comportamentul consumatorilor în diverse industrii, cum ar fi retail, comerț electronic sau turism. Prin identificarea segmentelor de consumatori și caracteristicilor lor comune, se pot dezvolta strategii de marketing și abordări personalizate.

Concepte de bază în clusterizare

Clusterizarea este o tehnică utilizată în analiza datelor pentru a grupa obiecte sau instanțe similare în clusteri sau grupuri distincte. Scopul clusterizării este de a identifica structuri sau tipare ascunse într-un set de date și de a facilita înțelegerea și extragerea informațiilor relevante.

În clusterizare, principalele concepte de bază sunt:

  • Clusterul: Un cluster reprezintă un grup sau o colecție de obiecte sau instanțe care sunt similare între ele. Obiectele din același cluster prezintă o similaritate mai mare între ele decât cu obiectele din alți clusteri.
  • Centroidul: Un centroid reprezintă un punct central sau un reprezentant al unui cluster. Este adesea calculat ca medie sau ca centru geometric al obiectelor din acel cluster și servește ca referință pentru atribuirea instanțelor la clusteri.
  • Similaritatea/Distanța: Similaritatea sau distanța măsoară gradul de asemănare sau diferență între două obiecte sau instanțe. Există diverse măsuri de similaritate și distanță utilizate în clusterizare, cum ar fi distanța euclidiană, distanța Manhattan sau coeficientul de similaritate cosinus.

Algoritmul K-Means: principii și etape

Algoritmul K-Means este un algoritm iterativ utilizat pentru clusterizare. Principiul de bază al algoritmului K-Means este de a atribui fiecare instanță din setul de date unui cluster, astfel încât suma pătratelor distanțelor dintre fiecare instanță și centroidul corespunzător să fie minimă [3].

Etapele principale ale algoritmului K-Means sunt următoarele:

  • Inițializare: Se alege numărul dorit de clusteri, K, și se inițializează aleator centroizii pentru fiecare cluster.
  • Atribuirea la clusteri: Fiecare instanță din setul de date este atribuită clusterului cu cel mai apropiat centroid. Aici, similaritatea sau distanța între instanță și centroid este calculată folosind o măsură specifică.
  • Recalcularea centroizilor: După atribuirea inițială, se recalculează pozițiile centroizilor pe baza instanțelor alocate. Centroidul este actualizat ca medie sau centrul geometric al instanțelor din acel cluster.
  • Iterație: Pașii 2 și 3 sunt repetați până când pozițiile centroizilor nu mai suferă modificări semnificative sau până când criteriul de oprire specificat este îndeplinit.

Algoritmul K-Means converge la o soluție locală, iar rezultatul final depinde de inițializarea aleatoare a centroizilor și de numărul de clusteri selectat.

Exemplu model teoretic

Figură 1. Set de date bisimensional

Pentru a demonstra modul în care funcționează algoritmul K-Means, voi utiliza un exemplu simplificat. Să presupunem că avem un set de date bidimensional compus din șapte puncte: A(1, 1), B(1, 2), C(2, 1), D(4, 3), E(5, 4), F(4, 5) și G(5, 5).

Pentru a aplica algoritmul K-Means, trebuie specificat numărul de clusteri k. Să alegem k = 2 pentru acest exemplu.

  1. Inițializarea: Se selectează aleatoriu două puncte din setul de date ca centroizi inițiali. Presupunerea este că primii doi centroizi inițiali sunt C₁(1, 1) și C₂(4, 5).
  2. Atribuirea: Fiecare punct din setul de date este atribuit clusterului reprezentat de cel mai apropiat centroid. În acest caz, A, B și C sunt mai apropiați de C₁, iar D, E, F și G sunt mai apropiați de C₂.
  3. Recalcularea: Se calculează noi poziții pentru centroizi pe baza punctelor atribuite. Noile poziții sunt determinate prin calcularea mediei aritmetice a coordonatelor punctelor din fiecare cluster. Astfel, C₁ se va reloca la (1.33, 1.33), iar C₂ la (4.5, 4.25).
  4. Iterații: Pașii de atribuire și recalculare se repetă până când pozițiile centroizilor nu se mai modifică sau se atinge un număr maxim de iterații. În acest exemplu, după câteva iterații, algoritmul converge la următoarele poziții pentru centroizi: C₁(1.33, 1.33) și C₂(4.5, 4.25).
  5. Rezultat: După ce algoritmul K-Means converge, rezultă doi clusteri: clusterul 1 format din punctele A, B și C, și clusterul 2 format din punctele D, E, F și G.

Figură 2. Rezultat kMeans

Algoritmul K-Means împarte setul de date în clusteri disjuncți, cu scopul de a minimiza suma pătratelor distanțelor dintre punctele de date și centroizii clusterilor lor. În exemplul dat, am obținut doi clusteri prin aplicarea algoritmului K-Means.

Măsurile de similaritate și distanță utilizate în K-Means

În algoritmul K-Means, măsurile de similaritate sau distanță sunt utilizate pentru a calcula gradul de asemănare sau diferență între instanțe. Aceste măsuri sunt esențiale în etapa de atribuire a instanțelor la clusteri și în recalcularea centroizilor.

Există mai multe măsuri de similaritate și distanță utilizate în K-Means, iar alegerea lor depinde de natura datelor și cerințele specifice ale problemei [4].

  • Distanța euclidiană: Este măsura cea mai utilizată și se calculează ca rădăcina pătrată a sumei pătratelor diferențelor dintre valorile caracteristicilor a două instanțe.
  • Distanța Manhattan: Această măsură calculează suma valorilor absolute ale diferențelor dintre valorile caracteristicilor a două instanțe.
  • Coeficientul de similaritate cosinus: Această măsură măsoară unghiul dintre doi vectori într-un spațiu multidimensional și este utilizată în special pentru date reprezentate ca vectori de caracteristici [4].

Alegerea măsurii de similaritate sau distanță adecvată este importantă pentru obținerea unor rezultate bune în algoritmul K-Means și trebuie adaptată la specificul problemei și tipul de date utilizat.

Inițializarea centroizilor

În studiul lui Arthur și Vassilvitskii (2007)[5], se propune o metodă de inițializare a centroizilor numită K-means++ care îmbunătățește performanța algoritmului K-Means prin selecția atentă a punctelor inițiale. În implementarea algoritmului K-Means, prima etapă este inițializarea centroizilor. Inițializarea poate fi realizată în mai multe moduri:

  • Inițializarea aleatoare: Centroizii sunt aleși aleatoriu din setul de date. Această metodă este simplă și rapidă, dar poate duce la convergență la minime locale și poate necesita mai multe iterații pentru a obține rezultate bune.
  • Inițializarea pe baza unor euristici: Se utilizează euristici specifice pentru a alege pozițiile inițiale ale centroizilor. De exemplu, se pot alege instanțe care au o dispersie maximă sau se pot folosi alte metode specifice domeniului de aplicare.

Etapele atribuirii și recalculării

Algoritmul K-Means, așa cum a fost prezentat de Lloyd (1982)[6], constă în iterarea etapelor de atribuire a instanțelor la clusteri și de recalculare a centroizilor pentru a obține o soluție convergentă. După inițializarea centroizilor, algoritmul K-Means parcurge următoarele etape iterative pentru a atribui instanțele la clusteri și pentru a recalcula centroizii:

  • Atribuirea la clusteri: Fiecare instanță din setul de date este atribuită la cel mai apropiat centroid în funcție de o măsură de distanță sau similaritate. De obicei, se folosește distanța euclidiană.
  • Recalcularea centroizilor: După ce toate instanțele sunt atribuite, centroizii sunt recalculați pe baza instanțelor aflate în clusterii respectivi. Recalcularea se face prin calcularea mediei valorilor caracteristicilor pentru instanțele din fiecare cluster.

Aceste două etape (atribuirea și recalcularea) sunt repetate până când algoritmul converge și nu mai are loc o schimbare semnificativă în pozițiile centroizilor și atribuțiilor instanțelor.

Criterii de oprire și convergență

MacQueen (1967) definește criteriile de oprire și convergență utilizate în algoritmul K-Means, care se bazează pe schimbările minime în pozițiile centroizilor și atribuțiile instanțelor între iterații consecutive [7]. Algoritmul K-Means utilizează anumite criterii de oprire pentru a determina când s-a atins convergența și algoritmul poate fi oprit.

  • Numărul maxim de iterații: Se specifică un număr maxim de iterații după care algoritmul se oprește, indiferent dacă a convergat sau nu.
  • Schimbarea minimă a pozițiilor centroizilor: Algoritmul se oprește atunci când diferența dintre pozițiile centroizilor la iterațiile consecutive este mai mică decât o valoare de prag predefinită.
  • Convergența completă: Algoritmul se oprește atunci când nu mai are loc nicio schimbare în atribuțiile instanțelor și pozițiile centroizilor între două iterații consecutive.

Aceste criterii de oprire asigură că algoritmul K-Means se oprește într-un punct în care rezultatele sunt stabile și converge la o soluție acceptabilă.

Măsuri de evaluare a calității clusterizării (ex: SSE, Silhouette score)

SSE și coeficientul Silhouette sunt măsuri larg acceptate în evaluarea clusterizării, conform studiului lui Jain (2010) [8] și Jain et al. (1999)[9]. Pentru a evalua calitatea clusterizării obținute folosind algoritmul K-Means, există o serie de măsuri utilizate în literatura de specialitate. Două dintre cele mai comune măsuri sunt Suma Pătratelor Erorilor (SSE) și coeficientul Silhouette.

  • Suma Pătratelor Erorilor (SSE): SSE este o măsură a variației din interiorul clusterilor și se calculează ca suma pătratelor distanțelor dintre fiecare punct și centrul clusterului său asignat. Un SSE mai mic indică o clusterizare mai bună, în care punctele din fiecare cluster sunt mai apropiate de centrul lor.
  • Coeficientul Silhouette: Silhouette este o măsură a separației și coeziunii între clusteri. Acest coeficient este calculat pentru fiecare punct, luând în considerare distanța medie față de celelalte puncte din același cluster (a) și distanța medie față de ceilalți clusteri (b). Coeficientul Silhouette variază între -1 și 1, unde valori mai mari indică o clusterizare mai bună, cu separare mai mare între clusteri și coeziune mai mare în cadrul aceluiași cluster.

Aceste măsuri pot fi utilizate pentru a evalua și compara rezultatele diferitelor rulări ale algoritmului K-Means sau pentru a compara performanța acestuia cu alți algoritmi de clusterizare.

Compararea cu alți algoritmi de clusterizare

Pentru o comparație între algoritmul K-Means și alți algoritmi de clusterizare, se poate consulta studiul lui Jain (2010) [8], care oferă o perspectivă cuprinzătoare asupra diferitelor metode de clusterizare și a performanței lor. Algoritmul K-Means este doar unul dintre numeroșii algoritmi de clusterizare disponibili în literatura de specialitate. Există și alți algoritmi care pot fi utilizați în funcție de specificul setului de date și obiectivele cercetării. Câteva exemple de algoritmi de clusterizare care pot fi comparați cu K-Means includ:

  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise): Acest algoritm utilizează densitatea punctelor pentru a identifica regiuni dense în spațiul de caracteristici și separă punctele din zonele dense de cele din zonele mai puțin dense.
  • Hierarchical Clustering: Acest tip de algoritm construiește o ierarhie a clusterilor prin unirea sau divizarea acestora în funcție de măsurile de similaritate între puncte sau clusteri.
  • Gaussian Mixture Models (GMM): Acest algoritm asociază fiecărui punct o probabilitate de a aparține unui anumit cluster, folosind o combinație de distribuții gaussiene. GMM poate fi utilizat pentru a identifica clusteri cu forme complexe și distribuții de probabilitate diferite.

Compararea între algoritmul K-Means și alți algoritmi de clusterizare poate fi realizată pe baza performanței lor în funcție de măsuri specifice, cum ar fi SSE sau coeficientul Silhouette. În plus, se pot lua în considerare și caracteristicile specifice ale algoritmului, precum capacitatea de a gestiona date cu zgomot sau capacitatea de a identifica clusteri de formă și dimensiune variate.

Avantaje și aplicații specifice:

Avantajele și aplicațiile specifice ale algoritmului K-Means sunt prezentate în conformitate cu studiul lui Jain (2010)[8] și Jain et al. (1999) [10]. Algoritmul K-Means are mai multe avantaje care îl fac util:

  • Simplitate și eficiență: K-Means este un algoritm simplu și eficient în timpul de execuție, ceea ce îl face potrivit pentru seturi mari de date.
  • Interpretabilitate: Rezultatele algoritmului K-Means sunt ușor de interpretat, deoarece clusterii obținuți pot fi reprezentați prin centroizi.
  • Scalabilitate: Algoritmul K-Means poate fi aplicat și pe seturi de date de dimensiuni mari și poate fi paralelizat pentru a accelera procesul de clusterizare.
  • Aplicații practice: K-Means este folosit în diverse domenii, cum ar fi analiza datelor, segmentarea piețelor, recunoașterea de tipare, analiza imaginilor și multe altele.

Limitări și cazuri în care K-Means poate fi mai puțin eficient:

Limitările și cazurile în care K-Means poate fi mai puțin eficient sunt discutate pe baza cercetărilor lui Jain (2010)[8] și Jain et al. (1999) [10]. Cu toate acestea, algoritmul K-Means are și câteva limitări și există cazuri în care poate fi mai puțin eficient:

  • Sensibilitate la inițializare: Performanța K-Means poate varia în funcție de inițializarea centroizilor. Inițializarea necorespunzătoare poate duce la obținerea de soluții suboptimale.
  • Dependență de numărul de clusteri: Trebuie specificat numărul de clusteri în avans, ceea ce poate fi o provocare în anumite situații în care acest lucru nu este cunoscut în prealabil sau nu este evident.
  • Sensibilitate la forme și dimensiuni diferite: K-Means poate avea dificultăți în gestionarea seturilor de date cu clusteri de forme și dimensiuni variate sau cu densități inegale.
  • Sensibilitate la date cu zgomot: Prezența datelor cu zgomot poate afecta performanța algoritmului K-Means, determinând formarea de clusteri incorecți sau dispersați.

Este important să se ia în considerare aceste limitări și să se evalueze corespunzător adecvarea utilizării algoritmului K-Means într-un context specific.

Rezultate

Setul de date și prelucrarea acestuia

Setul de date utilizat în acest studiu provine de la Institutul Național al Diabetului și al Bolilor Digestive și Renale, care face parte din Institutul Național de Sănătate al Statelor Unite. Acesta este disponibil pe platforma Kaggle la următoarea adresă: https://www.kaggle.com/datasets/mathchi/diabetes-data-set.

Acest set de date este alcătuit din măsurători privind diabetul pentru pacientele de gen feminin, în vârstă de cel puțin 21 de ani, de origine indiană. Scopul studiului este de a analiza gruparea acestor paciente utilizând algoritmi de clusterizare, în funcție de indicatorii specifici diabetului. Setul de date conține următoarele variabile:

  1. ID: id-ul unic al fiecărei paciente;
  2. Pregnancies: Numărul de sarcini;
  3. Glucose: Concentrația de glucoză plasmatică la 2 ore în cadrul unui test de toleranță la glucoză orală;
  4. BloodPressure: Tensiunea arterială diastolică (mm Hg);
  5. SkinThickness: Grosimea pliului cutanat al tricepsului (mm);
  6. Insulin: Insulină serică la 2 ore (mu U/ml);
  7. BMI: Indicele de masă corporală (greutate în kg/(înălțime în m)^2);
  8. DiabetesPedigreeFunction: Funcția pedigree pentru diabet;
  9. Age: vârsta în ani.

Înainte de a aplica algoritmii de clusterizare, setul de date a fost prelucrat pentru a asigura calitatea și consistența acestuia. Acest proces de prelucrare a implicat următorii pași:

  • Curățarea datelor: Identificarea și eliminarea eventualelor erori sau anomalii, precum valorile lipsă sau incorecte.
  • Transformarea datelor: Conversia datelor într-un format adecvat pentru aplicarea algoritmilor de clusterizare, cum ar fi normalizarea sau scalarea variabilelor.
  • Reducerea dimensiunilor: Selecționarea celor mai relevante variabile pentru analiza clusterizării, eliminând variabilele redundante sau coliniare, prin tehnici precum analiza componentelor principale (PCA) sau selecția univariată a caracteristicilor.

După prelucrarea și pregătirea setului de date, acesta a fost folosit pentru aplicarea și evaluarea algoritmului de clusterizare kMeans. Algoritmul a fost implementat în limbajul de programare Python, folosindu-se biblioteci și pachete software specifice, cum ar fi scikit-learn și NumPy.

Rezultatele obținute prin kMeans în Python

Analiza clusterilor prin histograme

Prezentarea clusterilor

Conform studiului lui Jain et al. (1999)[1], clusterizarea datelor este un domeniu de cercetare vast și există multiple metode și seturi de date utilizate pentru exemplificarea algoritmului K-Means. Pentru a exemplifica aplicarea algoritmului K-Means, voi aplica algoritmul pe setul de date în Python.

Alegerea valorii k

În lucrarea lui Tibshirani et al. (2001), se propune o metodă de estimare a numărului optim de clusteri, cunoscută sub numele de gap statistic, care poate fi utilizată în procesul de alegere a valorii k în algoritmul K-Means [11]. Pentru a aplica algoritmul K-Means, este necesară alegerea valorii k, care reprezintă numărul de clusteri în care dorim să grupăm obiectele. Această alegere poate fi realizată prin diverse metode, precum analiza exploratorie a datelor, expertiza de domeniu sau utilizarea unor metode statistice.

Biblioteca scikit-learn, menționată în lucrarea lui Pedregosa et al. (2011) [13], oferă funcționalități pentru implementarea algoritmului K-Means în Python și va fi folosită în exemplul nostru de implementare. Pentru implementarea algoritmului K-Means, voi folosi limbajul de programare Python și biblioteca scikit-learn, care oferă funcționalități pentru clusterizare. Voi utiliza următorii pași:

  • Importarea bibliotecilor necesare: importăm biblioteca scikit-learn și alte biblioteci utile, cum ar fi numpy și matplotlib.
  • Încărcarea setului de date: încărcăm setul de date într-o variabilă pentru a-l putea utiliza în algoritmul K-Means.
  • Inițializarea algoritmului: inițializăm algoritmul K-Means, specificând numărul de clusteri dorit (k = x).
  • Aplicarea algoritmului: aplicăm algoritmul K-Means asupra setului de date pentru a obține rezultatele.
  • Vizualizarea rezultatelor: reprezentăm grafic rezultatele obținute, afișând punctele din setul de date colorate în funcție de clusterii atribuiți de algoritm.

Interpretarea rezultatelor și analiza clusterilor obținuți

După aplicarea algoritmului K-Means și obținerea rezultatelor, urmează interpretarea și analiza clusterilor obținuți. Acest lucru poate implica:

  • Vizualizarea centroizilor: reprezentarea grafică a pozițiilor centroizilor în spațiul caracteristicilor, pentru a obține o imagine a distribuției acestora.
  • Analiza caracteristicilor clusterilor: evaluarea valorilor medii sau alte statistici relevante ale caracteristicilor pentru fiecare cluster în parte, pentru a înțelege diferențele și similaritățile între clusteri.
  • Interpretarea rezultatelor: interpretarea și înțelegerea semnificației fiecărui cluster în contextul studiului, identificarea caracteristicilor distinctive ale fiecărui cluster și posibilele concluzii extrase din analiza clusterilor.


În continuare, voi detalia implementarea exemplului de aplicare a algoritmului K-Means în Python, urmând pașii menționați mai sus.

Figură 1. Codul sursă – implementarea algoritmului kMeans în Python

Aplicarea algoritmului kMeans în Python pe setul de date conduce la histogramele următoare specifice celor 5 clusteri:

Vârsta – pacienții care au vârsta cea mai mare se situează în clusterul 1

Figură 2. Histogramă kMeans (id = vârstă)

Probabilitatea de diabet pe baza antecedentelor familiale – pacienții care au probabilitatea de diabet cea mai mare se situează în clusterii 1 și 5.

Figură 3. Histogramă kMeans (id = pb. de diabet)

Indicele de masă corporală – pacienții care au indicele de masă corporală cel mai mare se situează în clusterul 3.

Figură 4. Histogramă kMeans (id = indicele de masă corporală)

Insulină – pacienții care au insulina cea mai mare se situează în clusterul 5.

Figură 5. Histogramă kMeans (id = insulină)

Grosimea pielii – pacienții care au grosimea pielii cea mai mare se situează în clusterul 1.

Figură 6. Histogramă kMeans (id = grosimea pielii)

Presiunea arterială – pacienții care au presiunea arterială cea mai mare se situează în clusterii 1, 2 și 3.

Figură 7. Histogramă kMeans (id = presiune arterială)

Cantitatea de glucoză – pacienții care au cantitatea de glucoză cea mai mică se situează în clusterul 1.

Figură 8. Histogramă kMeans (id = cantitatea de glucoză)

Numărul de nașteri – pacienții care au numărul de nașteri cea mai mică se situează în clusterul 3.

Figură 9. Histogramă kMeans (id = nr. de nașteri)

Graficul partiției evidențiază grupările cele mai bine formată pentru clusterii c3 și c4.

Figură 10. Graficul partiției kMeans

Referințe bibliografice

[1]: https://dl.acm.org/doi/10.1145/331499.331504

Jain, A. K., Murty, M. N., & Flynn, P. J. (1999). Data clustering: A review. ACM Computing Surveys (CSUR), 31(3), 264-323.

[2]: https://www.sciencedirect.com/book/9780123814791/data-mining-concepts-and-techniques

Han, J., Kamber, M., & Pei, J. (2011). Data Mining: Concepts and Techniques (3rd ed.). Morgan Kaufmann.

[3]: https://projecteuclid.org/ebooks/berkeley-symposium-on-mathematical-statistics-and-probability/Proceedings-of-the-Fifth-Berkeley-Symposium-on-Mathematical-Statistics-and/chapter/Some-methods-for-classification-and-analysis-of-multivariate-observations/bsmsp/1200512992

MacQueen, J. (1967). Some Methods for classification and Analysis of Multivariate Observations. In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability (Vol. 1, pp. 281-297). University of California Press.

[4]: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4686108/

A Comparison Study on Similarity and Dissimilarity Measures in Clustering Continuous Data (Ali Seyed ShirkhorshidiSaeed Aghabozorgi, Teh Ying Wah)

[5]: https://dl.acm.org/doi/10.5555/1283383.1283494

Arthur, D., & Vassilvitskii, S. (2007). K-means++: The advantages of careful seeding. In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 1027-1035). SIAM

[6]: https://ieeexplore.ieee.org/document/1056489

Lloyd, S. (1982). Least squares quantization in PCM. IEEE Transactions on Information Theory, 28(2), 129-137

[7]: https://projecteuclid.org/ebooks/berkeley-symposium-on-mathematical-statistics-and-probability/Proceedings-of-the-Fifth-Berkeley-Symposium-on-Mathematical-Statistics-and/chapter/Some-methods-for-classification-and-analysis-of-multivariate-observations/bsmsp/1200512992

MacQueen, J. (1967). Some Methods for classification and Analysis of Multivariate Observations. In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability (Vol. 1, pp. 281-297). University of California Press

[8]: https://www.sciencedirect.com/science/article/abs/pii/S0167865509002323?via%3Dihub

Jain, A.K. (2010). Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31(8), 651-666.

[9]: https://dl.acm.org/doi/10.1145/331499.331504

Jain, A.K., Murty, M.N., & Flynn, P.J. (1999). Data clustering: a review. ACM Computing Surveys (CSUR), 31(3), 264-323

[10]: https://www.sciencedirect.com/science/article/abs/pii/S0167865509002323?via%3Dihub

Jain, A.K. (2010). Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31(8), 651-666

[11]: https://rss.onlinelibrary.wiley.com/doi/abs/10.1111/1467-9868.00293

R. Tibshirani, G. Walther, and T. Hastie, „Estimating the number of clusters in a data set via the gap statistic,” Journal of the Royal Statistical Society: Series B (Statistical Methodology), vol. 63, no. 2, pp. 411-423, 2001.

[12]: https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html

F. Pedregosa et al., „Scikit-learn: Machine learning in Python,” Journal of Machine Learning Research, vol. 12, pp. 2825-2830, 2011.

[13]: https://docs.oracle.com/en/database/oracle/machine-learning/oml4sql/21/dmcon/expectation-maximization.html#GUID-7FE19F37-3A08-4C17-9D60-98413A31E0F2

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.