Dzisiaj SVMy, slajdy są tu. Ćwiczenia do rozdziału 9. w książce
Category: teaching
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 – Redukcja wymiaru i analiza składowych głównych
Dzisiaj zajmiemy się pierwszą częścią rozdziału 10. dotyczącą analizy skadowych głównych i redukcji wymiaru.
Slajdy są tu (interesuja nas slajdy od 1. do 24. )
Materiał w książce jest na stronie 373, a lab na s. 401.
Interesujący link
Wiele ciekawych artykułów dla osób zajmujących się statystyką na potrzeby nauk o życiu: http://www.nature.com/collections/qghhqm/
Klasyfikatory drzewowe, Bagging i lasy losowe
Dzisiaj korzystamy ze slajdów do rozdziału 8.
Na laboratorium dobrze jakbyśmy zrobili ćwiczenia do tego rozdziału w książce. Używamy pakietów randomForest, MASS i gbm. Dane z pakietu ISLR.
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)
Ciekawy kurs o analizie danych w R
Może Państwa zaciekawić: