Statystyczne systemy uczące

Podobne dokumenty
UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Elementy statystyki STA - Wykład 1

Instalacja Pakietu R

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Metody i analiza danych

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Przetwarzanie sygnałów

Metody numeryczne Laboratorium 2

Wprowadzenie do Scilab: macierze

1 Macierze i wyznaczniki

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Matlab Składnia + podstawy programowania

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

1 Zbiory i działania na zbiorach.

Podstawy Programowania C++

Arkusz kalkulacyjny Excel

-Instalacja R: -Instalacja RStudio:

Podstawy Programowania

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Podstawowe operacje na macierzach

Wymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:

PRZEWODNIK PO PRZEDMIOCIE

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Proste programy w C++ zadania

Wprowadzenie do Mathcada 1

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

1 Podstawy c++ w pigułce.

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Układy równań liniowych

MATLAB - laboratorium nr 1 wektory i macierze

Pakiety Matematyczne - R Zestaw 2.

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Spis treści. Podstawy posługiwania się komputerem

Macierze. Rozdział Działania na macierzach

Wykład 14. Elementy algebry macierzy

III TUTORIAL Z METOD OBLICZENIOWYCH

Wprowadzenie do Scilab: macierze

Elementy metod numerycznych - zajęcia 9

LibreOffice Calc VBA

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

R dla każdego : zaawansowane analizy i grafika statystyczna / Jared P. Lander. Warszawa, Spis treści

Matlab Składnia + podstawy programowania

Analiza danych. Tomasz Górecki. Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza

MATEMATYKA Z PLUSEM DLA KLASY VII W KONTEKŚCIE WYMAGAŃ PODSTAWY PROGRAMOWEJ. programowej dla klas IV-VI. programowej dla klas IV-VI.

Tablice. Jones Stygar na tropie zmiennych

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Symulacja obliczeń kwantowych

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

PRZEWODNIK PO PRZEDMIOCIE

Funkcje i instrukcje języka JavaScript

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Obliczenia iteracyjne

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Modelowanie danych hodowlanych

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Podstawy Informatyki Computer basics

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

III. STRUKTURA I FORMA EGZAMINU

6. Notacja wykładnicza stosuje notację wykładniczą do przedstawiania bardzo dużych liczb

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

Spis treści. Przedmowa. Podstawy R

Wykorzystanie programów komputerowych do obliczeń matematycznych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Obliczenia w programie MATLAB

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Pakiety Matematyczne - R Zestaw 1.

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

Temat (rozumiany jako lekcja) Propozycje środków dydaktycznych. Liczba godzin. Uwagi

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

O MACIERZACH I UKŁADACH RÓWNAŃ

Transkrypt:

Statystyczne systemy uczące Tomasz Górecki Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza

W ciągu ćwiczeń zostaną przeprowadzone 2 kolokwia. Na każdym znichbędziedozdobycia25punktów.od25punktówbędzie zaliczenie ćwiczeń. W sesji odbędzie się egzamin z części teoretycznej, na którym do zdobycia będzie również 50 punktów. Od 25 punktów egzamin będzie uważany za zaliczony. Ocena końcowa z egzaminu będzie wystawiana na bazie sumy uzyskanych punktów(każda część musi być zaliczona).

Biecek P.(2008), Przewodnik po pakiecie R, GiS. Crawley M.J.(2007), The R Book, Wiley. Ćwik J., Koronacki J.(2009), Statystyczne systemy uczące się. Ćwiczenia w oparciu o pakiet R, Oficyna Wydawnicza Politechniki Warszawskiej. Górecki T.,(2011), Podstawy statystyki z przykładami w R, BTC. Kopczewska K., Kopczewski T., Wójcik P.(2009), Metody ilościowe w R. Aplikacje ekonomiczne i finansowe, CeDeWu. Krzyśko M., Wołyński W., Górecki T., Skorzybut M.(2008), Systemy uczące się, WNT.

Rjest zaawansowanym pakietem statystycznym jak również językiem programowania istniejącym na platformy Windows, Unix oraz MacOS. Objęty jest licencją GNU GPL iopartynajęzykus.językrjestjęzykieminterpretowanym,anie kompilowanym. Z tego względu program w nim napisany nie będzie tak szybki jak np. program napisany w C++. Można jednak wykorzystać funkcje z bibliotek napisanych np. w C, C++ czyfortran.możnarównieżużywaćfunkcjirwjavieczyc++,a ostatnio również w Visual Basic for Statistica. Dokładny opis metod wykorzystania bibliotek znajduje się w pliku R-exts.pdf. Pakiet umożliwia również tworzenie zaawansowanych wykresów, któremogązostaćzapisanewformatachtakichjakpdfijpg. O sile R stanowi ponad 4000 bibliotek, przeznaczonych do najróżniejszych zastosowań. Całość wzbogacona jest kompleksową dokumentacją. Dodatkowo bardzo użyteczną cechą R jest dostępność zbiorów danych praktycznie do każdego zagadnienia.

Pierwsze kroki Warunki zaliczenia Demonstracje demo()

Pierwsze kroki Warunki zaliczenia Pomoc help()lub? Jeśli w nazwie znajdują się pewne znaki szczególne lub słowa kluczowe języka np. takie jak if, for, function, to nazwę funkcji wpisujemy w cudzysłowie. W przypadku gdy nie pamiętamy nazwy funkcji ale znamy temat wpisujemy: help.search() Pomoc na temat pakietu uzyskamy wpisując: library(help = nazwa pakietu)

Pierwsze kroki Warunki zaliczenia Przykład example()

Pierwsze kroki Warunki zaliczenia Argumenty funkcji args()

Pierwsze kroki Warunki zaliczenia Komentarz #

Pierwsze kroki Warunki zaliczenia Operator przypisania =, <-,->

Pakiety Warunki zaliczenia Instalacja install.packages(nazwa pakietu, dependencies = T)

Pakiety Warunki zaliczenia Ładowanie library(nazwa pakietu)

Pakiety Warunki zaliczenia Usunięcie detach(package:nazwa pakietu)

Struktury danych typy proste numeryczny, zespolony, logiczny jedna z dwóch wartości prawda(true/t) lub fałsz(false/f), znakowy napisy, łańcuchy znaków. Powinny być zawarte pomiędzy znakami lub. W łańcuchu można używać znaków sterujących, które poprzedzone są \(np. \n nowa linia, \t tabulatoritd.).

Podstawowe funkcje operujące na napisach chartr(stary, nowy, napis) Zamienia określone znaki na inne grep(wyrażenie regularne, dane) Poszukuje wystąpień wyrażenia w danych nchar(napis) Liczba znaków paste(napis1, napis2) Łączy napisy strsplit(napis, wyrażenie regularne) Dzieli napis strtrim(napis, ile) Obcina napis sub(wyrażenie regularne, nowy tekst, napis) Zamienia pierwsze wystąpienie łańcucha(funkcja gsub zamienia wszystkie wystąpienia) tolower(napis) Zamiana znaków na małe toupper(napis) Zamiana znaków na wielkie

Struktury danych sprawdzanie typu i wielkości Type mode()

Struktury danych sprawdzanie typu i wielkości Długość length()

Struktury danych obiekty wektor Wprowadzanie danych Proste dane wprowadzamy do R za pomocą funkcji c(). Tak wprowadzone dane stają się wektorem. Wektor może zawierać dane jedynie jednego typu.

Struktury danych obiekty wektor Generowanie ciągów liczb : generuje liczby z podanego przedziału, seq generuje liczby z podanego przedziału, przy czym można podać krok(by) i długość(length), rep generuje ciąg składający się z powtórzeń innego ciągu.

Struktury danych obiekty wektor Indeksowanie Wykonujemy je poprzez użycie nawiasu kwadratowego. W wyniku indeksowania uzyskuje się również wektor.

Struktury danych obiekty wektor Operacje arytmetyczne Na wektorach można wykonywać praktycznie wszystkie operacje arytmetyczne. Przy czym np. kwadrat wektora jest wektorem złożonym z kwadratów jego składowych, iloczyn wektorów jest wektorem, którego każda składowa jest iloczynem odpowiednich składowych mnożonych wektorów.

Struktury danych obiekty czynnik Czynnik jest specjalną strukturą danych w R, przechowującą oprócz danych również liczbę wystąpień każdej wartości(w wielu językach programowania nazywany jest typem wyliczeniowym). Strukturę taką tworzymy za pomocą funkcji factor, natomiast liczbę wystąpień danego składnika otrzymamy funkcją table. Na tablicach można wykonywać także bardziej zaawansowane operacje. Służy do tego funkcja tapply, która działa na całej tablicy. Tablicę można, za pomocą polecenia, addmargins dodatkowo rozszerzyć o wiersze i kolumny podsumowujące. Warta uwagi jest jeszcze funkcja by(będąca w zasadzie wraperem na funkcję tapply), która pozwala na podsumowanie określonej zmiennej według innej zmiennej(najczęściej grupującej).

Struktury danych obiekty czynnik Istnieje również struktura zwana uporządkowanym czynnikiem. Tworzymy ją za pomocą funkcji ordered.

Struktury danych obiekty tablica Tablica jest wektorem, zawierającym dodatkowe dane określające uporządkowanie elementów. Najczęściej stosowana jest tablica dwuwymiarowa czyli macierz. Indeksowanie tablic odbywa się podobnie do wektorów, w nawiasie kwadratowym podajemy współrzędne indeksowanego elementu. W razie pominięcia współrzędnej wynikiem indeksowania jest cały wiersz lub kolumna. Tablice tworzone są kolumnowo. Tablice można tworzyć z istniejących wektorów używając funkcji dim. Innymi, bardziej naturalnymi funkcjami tworzącymi tablice są matrix (dwuwymiarowe) i array(większe niż dwuwymiarowe). Do wykonywania operacji na wszystkich wierszach lub kolumnach macierzy równocześnie służy funkcja apply(macierz, wymiar, funkcja).

Podstawowe operacje na macierzach(1) Funkcja Działanie outer(a, B, * ) Tworzy z dwóch tablic większą tablicę wielowymiarową. Wymiary tej tablicy są połączeniem wektorów wymiarów dwóch tablic, zaś jej zawartość stanowią wszystkie możliwe kombinacje iloczynów (lub innych operacji) pomiędzy elementami. Ostatnim argumentem jest nazwa funkcji operującej na dwóch zmiennych. Istnieje zatem możliwość przeprowadzenia dowolnych operacji pomiędzy tablicami przez utworzenie własnej funkcji. cbind(a,b) Tworzy tablicę z podanych wektorów, poprzez umieszczenie ich kolumnami w nowo tworzonej tabeli. rbind(a,b) Tworzy tablicę z podanych wektorów, poprzez umieszczenie ich wierszami w nowo tworzonej tabeli. t(a) Transpozycja det(a) Wyznacznik A%*%B Iloczyn macierzy, samo* daje iloczyn po elementach diag(a) W przypadku wektora daje macierz z elementami tego wektora na przekątnej. W przypadku macierzy daje wektor o elementach przekątniowych macierzy.

Podstawowe operacje na macierzach(2) Funkcja Działanie solve(a, b) Rozwiązuje układy równań liniowych, jako pierwszy parametr podajemy macierz współczynników, a jako drugi wektor wyrazów wolnych. Jeśli nie podamy drugiego parametru funkcja obliczy macierz odwrotną. colsums(a) Wektor sum kolumn macierzy. Dla sumy wierszy mamy funkcję rowsums, podobnie można policzyć średnie dla kolumn i wierszy za pomocą funkcji colmeans oraz rowmeans odpowiednio. eigen(x) Wektory oraz wartości własne svd(a) dekompozycja SVD macierzy qr(a) dekompozycja QR macierzy chol(a) dekompozycja Choleskiego macierzy kronecker(a, B) iloczyn Kroneckera dwóch macierzy

Struktury danych obiekty lista Lista jest uporządkowanym zbiorem elementów różnego typu. Do tworzenia list służy funkcja list. Jeśli chcemy odwołać się do konkretnego elementu listy to indeks elementu należy podać w podwójnych nawiasach kwadratowych. Każdy z elementów listy może mieć nazwę i takie nazwane listy spotyka się najczęściej (można się odwoływać do nazw, co nie jest możliwe w przypadku wektorów). Nazwy elementów listy można skracać do takiej długości, która wystarcza do jednoznacznej ich identyfikacji. Za pomocą funkcji lapply można wykonywać działania na całych listach(można również użyć funkcji sapply, która w wyniku działania daje wektor, funkcja lapply daje listę). W przypadku wielokrotnego wykonywania tej samej operacji(np. generowanie danych) można również wykorzystać funkcję replicate, będącą wraperem na funkcję sapply.

Struktury danych obiekty ramka danych Ramka danych to specyficzna struktura R. Najprościej można określić ją jako macierz, w której poszczególne kolumny mogą zawierać wartości różnego typu. Można sobie wyobrazić, że wiersze takiej ramki to kolejne obserwacje w naszym doświadczeniu, a kolumny to cechy, które obserwujemy(nie wszystkie muszą być ilościowe). W rzeczywistości ramka jest szczególnym typem listy. Do utworzenia takiej struktury służy funkcja data.frame.

Struktury danych obiekty ramka danych Dołaczenie attach()

Struktury danych obiekty ramka danych Odłaczenie detach()

Obiekty oraz typy Warunki zaliczenia Obiekt Typy Różne typy? Wektor numeryczny, znakowy, zespolony, logiczny Nie Czynnik numeryczny, znakowy Nie Tabela numeryczny, znakowy, zespolony, logiczny Nie Ramka numeryczny, znakowy, zespolony, logiczny Tak numeryczny, znakowy, zespolony, logiczny Lista Tak funkcja, wyrażenie

Odczytywanie i zapisywanie danych Wczytanie wektora scan()

Odczytywanie i zapisywanie danych Odczyt zbioru danych read.table(),load()

Odczytywanie i zapisywanie danych Nazwy kolumn, wierszy rownames(), colnames(), dimnames()

Odczytywanie i zapisywanie danych Zapis zbioru danych write.table(),save()

Odczytywanie i zapisywanie danych Edycja danych edit(),fix()

Odczytywanie i zapisywanie danych Podzbiór subset()