Analiza skupień

Celem laboratorium jest zapoznanie studentów z podstawowymi pojęciami związanymi z analizą skupień: pojęciem miary odległości, dostępnymi miarami odległości, oraz algorytmami k-średnich, algorytmami opartymi na gęstości, oraz algorytmami analizy skupień dla tekstu.

Przed rozpoczęciem zajęć zapoznamy się z ilustracjami dwóch popularnych rodzajów algorytmów analizy skupień:

Rapid Miner
  • Uruchom narzędzie Rapid Miner
  • Utwórz przepływ polegający na wczytaniu zbioru danych Iris i zbudowaniu modelu analizy skupień za pomocą bliźniaczych algorytmów k-Means i k-Medoids. Przed uruchomieniem algorytmów analizy skupień zredukuj liczbę wymiarów oryginalnego zbioru danych do 2 wymiarów (możesz się posłużyć np. operatorem Singular Value Decomposition). Obejrzyj uzyskane wyniki. Postaraj się znaleźć różnice między modelami produkowanymi przez oba algorytmy. Sprawdź, jaki wpływ na czytelność modelu ma manipulowanie wartością parametru k (liczba skupień).
  • Utwórz przepływ, którego pierwszym krokiem jest wygenerowanie losowego zbioru danych (operator Generate Data, funkcja checkboard classification). Prześlij wygenerowany zbiór danych do operatora Loop and Deliver Best. Wewnątrz tego operatora umieść wywołanie algorytmu k-Means, a znaleziony model prześlij do operatora Cluster Distance Performance. Jako kryterium oceny podziału przyjmij średnią odległość od centroidu skupienia. Wyniki każdej iteracji zapisz za pomocą operatora Log.
  • Utwórz przepływ, który zobrazuje sposób wyboru optymalnej wartości parametru k. Zbiór danych Iris wyślij do operatora Loop Parameters i ustaw iterację po wartościach parametru k w zakresie 2-13. Wewnątrz operatora umieść sekwencję operatorów K-Means, Cluster Distance Performance oraz Log.
  • Utwórz przepływ ilustrujący algorytm analizy skupień bazujący na lokalnej gęstości sąsiedztwa, wykorzystując do tego celu algorytm DBScan. Wykorzystaj operator Generate Data do zbudowania trzech koncentrycznych pierścieni punktów. Prześlij zbiór danych do operatora Normalize wykorzystując normalizację przez odchylenia standardowe. Tak przygotowane dane prześlij do operatora DBScan, podając jako promień sąsiedztwa epsilon=0.5 i min points=5. Obejrzyj uzyskany wynik. Zobacz, co się stanie, jeśli zmienisz epsilon na 0.2. Na koniec zamień operator DBScan na K-Means i obejrzyj wynik. Czy potrafisz go wytłumaczyć?
SciKit-Learn
  • pobierz i uruchom notatnik Jupyter korzystając z lokalnego środowiska Anaconda i Jupyter.

zadanie samodzielne

Pobierz zbiór danych smsspamcollection.csv i powtórz ćwiczenie ze znajdowaniem skupień w tekście, porównując efektywność tradycyjnej metody wykorzystującej wektorową reprezentację tekstu z ważeniem TF-IDF z metodą opartą na embeddingach.

 
analiza_skupien.txt · Last modified: 2020/05/26 18:46 by Mikołaj Morzy
 
Except where otherwise noted, content on this wiki is licensed under the following license:Public Domain
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki