diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b6a065 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.Rproj.user +.Rhistory +.RData +.Ruserdata diff --git a/Projekt_1/Bootstrapping.R b/Projekt_1/Bootstrapping.R new file mode 100644 index 0000000..ef8e1bf --- /dev/null +++ b/Projekt_1/Bootstrapping.R @@ -0,0 +1,20 @@ +#Bootstrap + +load("Hamulce.RData") +attach(Hamulce) + + +ourBoot <- function(data, outSize, sampleSize) { + output <- c() + for (i in 1:outSize) { + sampleElements <- sample(data, sampleSize, replace=TRUE) + output <- append(output, mean(sampleElements)) + } + return(output) +} + +bootstrappedData <- ourBoot(Wynik, 200, 50) + +par(mfrow=c(1,2)) +hist(Wynik,prob=T,main='') +hist(bootstrappedData,prob=T,main='') \ No newline at end of file diff --git a/Projekt_1/Projekt_1.R b/Projekt_1/Projekt_1.R index 5984704..028c434 100644 --- a/Projekt_1/Projekt_1.R +++ b/Projekt_1/Projekt_1.R @@ -1,8 +1,27 @@ +library('MKinfer') +library(boot) + #test t-studenta dla jednej próby load("Hamulce.RData") attach(Hamulce) mean(Wynik) t.test(Wynik,mu=18.6,alternative='less') +boot.t.test(Wynik,mu=18.6,alternative='less', R = 100) + +par(mfrow=c(1,2)) + +hist(Wynik,prob=T,main='') + + +meanboot <- function(x,i)mean(x[i]) +bmean=boot(Wynik,meanboot,100) + +hist(bmean$t,prob=T,main='') + +t.test(bmean$t,mu=18.6,alternative='less') + + + # dwie próby niezależne load("Bledy.RData") diff --git a/README.md b/README.md index 0550b8b..fd88dbb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ # Matma_AI_cyber +Szanowni Państwo, + +Przesyłam propozycje 8 tematów projektu nr 1. + +Zasady zaliczenia: 40 punktów podzielone następująco: + +10 pkt - prezentacja projektu +15 pkt - implementacja, w tym: +5 pkt - zgodność z tematem, +5 pkt - jakość kodu, +5 pkt - poprawność implementacji +10 pkt - efekt "wow" +5 pkt - aktywność wszystkich członków grupy +Grupy domyślnie są 3-osobowe. Idealnie każda grupa studencka (w danej grupie ćwiczeniowej) powinna realizować inny temat. Studenci mogą zaproponować inne tematy spoza listy po konsultacji z nami. Do wyboru: Python lub R. + +Jutro (5 kwietnia 2022) podczas ćwiczeń odbędzie się podział na grupy i przypisanie do tematów. Proszę sprawę przemyśleć. + +Termin oddania na Moodle: do 3 maja. Prezentacja projektów w terminie ustalonym na ćwiczeniach. + +Lista tematów: + +1. Bootstrapowa wersja testu t. Implementacja powinna obejmować test dla jednej próby, dla dwóch prób niezależnych oraz dla dwóch prób zależnych. W każdej sytuacji oczekiwanym wejście jest zbiór danych w odpowiednim formacie, a wyjściem p-wartość oraz ostateczna decyzja. Dodatkowo powinien być rysowany odpowiedni rozkład statystyki testowej. +2. Klasyfikacja za pomocą naiwnej metody bayesowskiej (rozkłady ciągłe). Implementacja powinna założyć, że cechy są ciągłe (do wyboru rozkład normalny i jądrowe wygładzenie). Na wejściu oczekiwany jest zbiór, który zawiera p-cech ciągłych, wektor etykiet oraz wektor prawdopodobieństw a priori dla klas. Na wyjściu otrzymujemy prognozowane etykiety oraz prawdopodobieństwa a posteriori. Dodatkową wartością może być wizualizacja obszarów decyzyjnych w przypadku dwóch cech. +3. Klasyfikacja za pomocą naiwnej metody bayesowskiej (rozkłady dyskretne). Implementacja powinna założyć, że cechy są dyskretne/jakościowe. Na wejściu oczekiwany jest zbiór, który zawiera p-cech dyskretnych/jakościowych, wektor etykiet oraz wektor prawdopodobieństw a priori dla klas. Na wyjściu otrzymujemy prognozowane etykiety oraz prawdopodobieństwa a posteriori. Dodatkową wartością odpowiednia wizualizacja. +4. Regresja jądrowa. Zakładamy, że dysponujemy zbiorem składającym się z dwóch cech (x i y). Modelujemy zależność y od x. Implementacja powinna umożliwiać wybór funkcji jądrowej oraz szerokości okna. Na wyjściu otrzymujemy prognozy dla y oraz wizualizacją pokazującą przebieg oszacowanej zależności. +5. Kompresja obrazów oraz modyfikacje metodą SVD. Dysponujemy na wejściu obrazem bitmapowym (kolor lub odcienie szarości). Wykorzystując rozkład SVD dokonaj kompresji obrazu o pożądanym wskaźniku. Przygotuj funkcję filtrującą, która wartości wartości osobliwe przekształca na nowe wartości. W projekcie powinny być przetestowane pod względem użytkowym obrazy o różnych rozmiarach i typach (ilustracja, diagram, font, pejzaż). +6. Uproszczony algorytm Page Rank. Implementacja iteracyjnej metody obliczania wartości własnych macierzy. Wykorzystanie do uproszczonej implementacji algorytmu Page Rank. Dyskusja zachowania przy różnych skalach grafów relacji. +7. Rozkład QR i metoda najmniejszych kwadratów. Implementacja rozkładu QR dla macierzy z uwzględnieniem odbić Householdera i obrotów Givensa. Wykorzystanie rozkładu QR do rozwiązania problemu najmniejszych kwadratów i zastosowanie w obliczaniu najlepszego przybliżenia punktów do zadanej klasy funkcji. +8. Rozkład Cholesky'ego i próbkowanie. Implementacja rozkładów Choleskiego i uogólnionego rozkładu Choleskiego dla macierzy kowariancji i wykorzystanie do generowania próbek dużych rozmiarów do symulacji Monte-Carlo z zadaną macierzą kowariancji. Wizualizacja przykładów. + +Pozdrawiam, + +Bartosz Naskręcki \ No newline at end of file