Etykiety do zadania 2

Witam,

Przypominam, że w czwartek widzimy się na prezentacjach Państwa wyników. Dane nt. rzeczywistych etykiet pacjentów są w tym pliku.

Proszę pamiętać, że nawet najlepszy model nie może dać gwarancji 100% skutecznośći, ale też jeśli komuś wyszła zgodność na poziomie 5%, to warto poszukać błędu w analizach. Jeśli to ktoś zrobi do czwartku, to tym lepiej.

 

SAD -Porównywanie klastrowań i EM

Dziś spróbujemy swoich sił w modelach związanych z mieszankami rozkładów. Slajdy są tu.

Na początek zainstalujmy pakiet mixtools:

install.packages(“mixtools”)
library(“mixtools”)

1. Zapoznaj się ze zbiorem faithful

data(faithful)

summary(faithful)

plot(faithful)

2. Używając funkcji normalmixEM, dopasuj modele mieszane do jednowymiarowych zmiennych eruptions i waiting oraz do ich rozkładu łącznego (mvnormalmixEM).

3. Wygeneruj zbiór danych z rozkładu mieszanego 2 wymiarowego o tych samych wariancjach lecz zróżnicowanych wagach (p1=0.9), zrekonstruuj składowe przy pomocy funkcji EM, użyj też metody k-średnich

4. Wygeneruj zbiór danych z rozkładu mieszanego 2 wymiarowego o różnych wariancjach (sigma1=5xsigma2) lecz zrównoważonych wagach (p1=p2), zrekonstruuj składowe przy pomocy funkcji EM, użyj też metody k-średnich

5. Wygeneruj zbiór danych z dwóch składowych o różnych średnich. Zwiększaj wariancję dopóty, dopóki jesteś w stanie zrekonstruować dobrze parametry rozkładu.

6*. Dla sytuacji, gdzie dobrze rozpoznajesz parametry rozkładów metodami k-średnich i EM, spróbuj estymować zbyt wiele klastrów i porównaj, która z funkcji oceny z wykładu (Rand index, Jaccard index, Variation of Information) najlepiej oddaje rosnącą różnorodność wyników klastrowania.

Wyszukiwanie skupień czyli klastrowania

Dziś druga część rozdziału 10. poświęcona grupowaniu przy pomocy metod k-średnich i hierarchicznej klasteryzacji.

Tekst w książce od str. 385 (rozdz. 10.3). Lab od str. 404 (rozdz. 10.5 par. 2) oraz lab 10.6 (str. 407) dot. ekspresji genów z nowotworów.

Można też spróbować wygenerować sobie zbiór danych, dla którego single linkage jest dobry (np podobny do opisanego tutaj), żeby zobaczyć jak na nim działa k-średnich i single-linkage.

Jeśli ktoś chce poszerzyć swoją wiedzę o inne metody, to można załadować w R pakiet cluster i np. obejrzeć metody pam (partitioning around medoids) lub fanny (fuzzy k-means).

 

 

 

Zadanie zaliczeniowe 2 – 2015

Mamy dane o pacjentach (każdy wybiera sobie ten sam numer co w poprzednim zadaniu). Pacjenci pochodzą z 5 różnych grup: zdrowi i 4 różne grupy chorych. Naszym zadaniem jest:

  • zbudować klasyfikator przewidujący czy pacjent jest zdrowy czy chory
  • Zudować klasyfikator, przewidujący z której grupy pochodzi dany chory pacjent
  • Porównać klasyfikatory używającej jednej z prostych  metod (LDA, KNN, lub drzewo decyzyjne) z lasami losowymi. Skuteczność chcemy oceniać przy pomocy krzywej ROC w eksperymencie walidacji krzyżowej lub re-próbkowania
  • dokonać predykcji nowych 20 pacjentów (mają oni daną grupę “group-?”)
  • Przeanalizować dane metodą składowych głównych i sprawdzić, czy zmienne, które są istotne dla klasyfikacji (w lasach losowych) są też istotne w wyznaczaniu składowych głównych.

Dane obejmują numer pacjenta, jego grupę (healthy, group-(0,1,2,3), lub group-? do predykcji) i 100 różnych pomiarów (np. zazwartości różnych białek w osoczu krwi).

Wyniki w postaci raportu opisującego co Państwu udało się zdziałać proszę przysyłać do mnie (bartek@mimuw.edu.pl) z dopiskiem (SAD-2) w tytule do 7. czerwca. Oprócz raportu prosiłbym o plik tekstowy, który przypisuje pacjentom nieopisanym numer prawdopodobnej grupy.

Ja wtedy opublikuję rzeczywiste etykiety pacjentów o grupach nieznanych (8. czerwca), a Państwo przygotują krótkie prezentacje (max 5 min) o swoich wynikach (już z uwzględnieniem, czy Państwa klasyfikatory działały dobrze, czy źle.

powodzenia!

SAD Wykład 7 – ocena błędu klasyfikacji i metody repróbkowania

Dziś na wykładzie zajmiemy się oceną błędu modeli statystycznych. Zaczniemy od regresji liniowej, ale skupimy się na metodach klasyfikacji. Wprowadzimy pojęcia zbioru treningowego i testowego, poznamy klasyfikator k-najbliższych sąsiadów i zastanowimy się nad kompromisem pomiędzy obciążeniem a wariancją modeli i różnymi metodami repróbkowania.

Slajdy dostępne są tu: część 1. i część 2.

Na laboratorium będziemy testować uczyć się metod klasyfikacji na danych z pakietu ISLR)

Zaczniemy od załadowania danych giełdowych Smarket (library(ISLR))

Zadanie 1. Użyj metody regresji logistycznej (glm(…,family=binomial)), aby przewidzieć czy rynek pójdzie w górę czy w dół (kolumna Direction zbioru Smarket) na podstawie danych z ostatnich kilku dni (Lag1,..,Lag5,Volume). Zbadaj błąd modelu na podstawie danych ze zbioru treningowego oraz przy podziale zbioru danych na treningowy (pierwsze 1000 observacji) i testowy (ostatnie 250 obserwacji).

Zadanie 2. Dokonaj tej samej analizy metodami lda i qda z pakietu MASS, oraz metody knn z pakietu class. Oblicz błędy klasyfikacji dla lda, qda i knn dla różnych wartości k (1,2,3,4,5).

Zadanie 3. Użyj funkcji  knn.cv do zbadania klasyfikatorów knn na podstawie zbioru Smarket. Przeanalizuj stabilność oszacowania błędu na podstawie takich re-próbkowanych zbiorów uczących i testowych. ( k= 3, 5, 10).

 

SAD Wykład 6 – regresja logistyczna i analiza dyskryminacyjna

23. kwietnia mówiliśmy o regresji logistycznej i analizie dyskryminacyjnej.

Materiał był na podstawie rozdziału 4. książki “An Introduction to statistical Learning” autorstwa Garetha James’a, Danieli Witten, Trevora Hastie’go i Roberta Tibshirani’ego. Książka dostępna jest również jako PDF, na stronie książki są też wykłady wideo i przykłady w R.

Korzystałem ze slajdów Abbass’a Al Sharif’a dostępnych tu: (część 1 i część 2)