170 likes | 325 Views
RS-lib. Nowa biblioteka skalowalnych metod przeznaczonych do analizy tablic danych. Plan prezentacji. Cel – biblioteka oprogramowania Przeznaczenie i możliwości biblioteki Kto miałby pracować w zespole? Zadania do wykonania Korzyści dla uczestników
E N D
RS-lib Nowa biblioteka skalowalnych metod przeznaczonych do analizy tablic danych
Plan prezentacji • Cel – biblioteka oprogramowania • Przeznaczenie i możliwości biblioteki • Kto miałby pracować w zespole? • Zadania do wykonania • Korzyści dla uczestników • Przygotowania do uruchomienia i uruchomienie projektu • Dlaczego Java? • Dyskusja
Nasz cel: RS-lib • Zespół roboczy pracujący nad nową biblioteką oprogramowania: • oprogramowanie, • dokumentacja, • tutoriale, • dema... • Później: • zintegrowany interfejs graficzny
Czym miałaby być RS-lib? • Biblioteka oprogramowania napisanego w języku Java przeznaczona do analizy zbiorów danych • Tworzona od początku według standardu Java Data Mining (JDM) • Nastawiona szczególnie na metody skalowalne analizy danych • Technicznie - umieszczona na witrynie internetowej ulokowanej w Rzeszowie wraz z dokumentacjami, samouczkami, przykładami itd.
Klasyfikatory- narzędzia do aproksymacji pojęć na podstawie zbiorów danych,czyli o co głównie chodzi... Motywacja:- Potrzeba aproksymowania pojęć przy niepełnej informacji o obiektach i pojęciach- Niski koszt obliczeniowy i wysoka efektywność wnioskowań aproksymacyjnych prowadzonych w oparciu o aproksymacje pojęć Obiekt testowy Generowanie decyzji dla obiektu testowego Klasyfikator • Metody rozwijane w: • Wnioskowania statystyczne • Uczenie maszynowe (ang. machine learning) • Eksploracja danych (ang. datamining) • Rozpoznawanie wzorców (ang. pattern recognition) • Odkrywanie wiedzy (ang. knowledge discovery) • Sterowanie niekonwencjonalne(ang. soft control) Konstrukcja klasyfikatora Informacja o przynależności testowanego obiektu do pojęcia Dana tablica decyzyjna (przykłady obiektów) Przykładowe podejścia do tworzenia klasyfikatorów:- metody statystyczne - drzewa decyzyjne - reguły decyzyjne - sieci neuronowe...
Ilustracja problemukonstruowania klasyfikatora • System informacyjnyjako para (U, A) • U- niepusty zbiór obiektów (wierszy) • A- niepusty zbiór atrybutów (kolumn) takich, że a: U Vadla każdego atrybutu a • Va jest nazywany zbiorem wartości atrybutu a. • W systemie informacyjnym (U, A{d}) atrybut decyzyjny d (decyzja eksperta) jest wyróżniony; elementy A są nazywane atrybutami warunkowymi. • Wartości decyzji d definiują tzw. klasy decyzyjne. • W przykładzie, dla atrybutu decyzyjnego Grypa są dwie klasy decyzyjne: Grypa(Nie)={u1,u4, u5} oraz Grypa(Tak)={u2, u3, u6} • Problem: Jak skonstruować algorytm (klasyfikator) pozwalający na predykcję wartości atrybutu decyzyjnego na podstawie wartości atrybutów warunkowych? Reguły decyzyjne (propozycja rozwiązania) (temp=Normalna)=>(Grypa=Nie) 2 (temp=Bardzo_wys)=>(Grypa=Tak) 2(bol_glowy=Tak)&(temp=Wysoka)=>(Grypa=Tak) 1(bol_miesni=Tak)&(temp=Wysoka)=>(Grypa=Tak) 1(bol_miesni=Nie)=>(Grypa=Nie) 1(bol_glowy=Nie)&(temp=Wysoka)=>(Grypa=Nie) 1
Teoria zbiorów przybliżonych • Zaproponowany w 1982r przez prof. Zdzisława Pawlaka formalizm matematyczny, stanowiący rozwinięcie klasycznej teorii zbiorów. • Zbiór przybliżony (ang. rough set) to obiekt matematyczny zbudowany z pary klasycznych zbiorów: przybliżenia dolnego i przybliżenia górnego. • Dany element może należeć do obydwu przybliżeń, do żadnego lub tylko do przybliżenia górnego. • Modelowanie niepewności
Przyszłe możliwości RS-liba • Importowanie danych z plików tekstowych oraz z formatów innych systemów • Wstępna obróbka danych (np. wypełnianie pustych miejsc, dyskretyzacja, filtracja itd). • Klasyczne metody analizy danych (wykrywanie zależności w danych, tworzenie i testowanie klasyfikatorów i wiele innych) • Zaawansowane metody analizy danych nowej generacji powiązane z wiedzą dziedzinową (metody z RoughICE i nowe !!!)
Kto miałby pracować nad biblioteką? • Pracownicy KI UR • Studenci UR (Informatyka, Matematyka,...) • Dodatkowe osoby z Rzeszowa • Dodatkowe osoby z innych miast Polski a szczególnie z grupy prof. Andrzeja Skowrona z Wydziału MIM Uniwersytetu Warszawskiego • Osoby z zagranicy...
Zadania do wykonania • Przygotowanie przez ustalone osoby oprogramowania podstawowego wraz z dokumentacją • Podstawa biblioteki używana przez wszystkich • Przykłady obowiązującego stylu tworzenia klas (wg. zaleceń firmy Sun) • Postawienie witryny internetowej w której będą: • źródła oprogramowania wraz systemem kontroli wersji, • materiały na temat biblioteki, • lista dyskusyjna • Opracowanie w języku Java przez ustalone osoby głównych modułów wraz z ich dokumentacją • Konserwacja utworzonych modułów oraz dorabianie nowych modułów • Promocja biblioteki w Polsce i na świecie • utrzymywanie na wysokim poziomie witryny internetowej biblioteki, • prezentacje na konferencjach samej biblioteki oraz wyników badawczych uzyskanych przy jej użyciu, • organizowanie tutoriali
Korzyści dla uczestników • Każdy uczestnik zespołu będzie widoczny jako twórca swojego modułu i będzie identyfikowany z tym modułem • Powstanie kolejnych modułów będzie wiązało się z powstaniem prac dyplomowych (licencjackich i inżynierskich), magisterskich i doktorskich • Studenci będą mogli zaliczyć praktykę • Będzie miało miejsce wzajemne wsparcie członków zespołu przy tworzeniu nowych modułów • Zwiększenie szybkości tworzenia i niezawodności oprogramowania • Nastąpi zwiększenie liczby publikacji członków zespołu • Współautorami każdej publikacji powstającej na bazie biblioteki będą wszystkie osoby pracujące nad modułem, który został wykorzystany • Wzrośnie zainteresowanie prowadzonymi w zespole pracami badawczymi oraz pojawią się liczne zastosowania wykonanych modułów • Kwalifikacje członków zespołu będą się ustawicznie zwiększać
Przygotowanie do uruchomienia • Wybór funkcjonalności dotychczasowego oprogramowania, które powinny się znaleźć w nowej bibliotece jako jej moduły • Na początek zalecana ostrożność i powściągliwość aby nie było ich zbyt dużo • Pomoc w douczeniu się języka Java oraz w opanowaniu potrzebnych narzędzi • Książki, materiały, spotkania edukacyjne • Doradztwo i pomoc merytoryczna i techniczna w wykonaniu modułów
Etapy techniczne uruchomienia projektu • Uruchomienie systemu kontroli wersji źródeł • Gdy będzie dostępne oprogramowanie stanowiące podstawę biblioteki • Ograniczone uruchomienie całej witryny wraz z grupą dyskusyjną • Tylko dla z góry zarejestrowanych użytkowników będących członkami zespołu • Gdy powstaną pierwsze wersje modułów • Dodanie możliwości rejestrowania się osób spoza zespołu • Gdy wszystko będzie już sprawnie funkcjonować...
Co jest potrzebne i czego oczekujemy? • Szeroka dyskusja nad projektem • Gruntowne własne przemyślenie własnego udziału w projekcie • Deklaracja uczestnictwa w projekcie lub rezygnacja z uczestnictwa w nim • Ustalenie terminu spotkań
Dlaczego Java? • Java jest pochodną starszych języków, tzn. C i C++ • Znając te języki łatwo się jej nauczyć • Jednak różni ją od nich przede wszystkim uproszczoną składnią programowania obiektowego • Stosuje bogaty zestaw bibliotek, które, w odróżnieniu od języka C++, wszystkie są standardowe na każdej ważniejszej platformie sprzętowej. • Dostarcza rozbudowane i zaawansowane narzędzia do takich działań jak: tworzenie graficznego interfejsu użytkownika, programowanie internetowe, wielowątkowość, multimedia i wiele innych. • Doskonale nadaje się do programowania zespołowego.
TIOBE • Spośród wielu analiz „aktualności” nowoczesnych języków programowania szczególnie wyróżnia się analiza zwana „TIOBE Programming Community index“ • Prezentuje wskaźnik „popularności“ języków programowania na podstawie światowego zainteresowania w danym zakresie wykształconymi programistami, szkoleniami i literaturą • Sposobem zbierania informacji są specyficzne zapytania do wyszukiwarek: Google, MSN i Yahoo • Wynik - to procentowy wskaźnik popularności języków, publikowany w każdym miesiącu • We wcześniejszych miesiącach wynik był jeszcze bardziej korzystny dla języka Java
Tymczasowa witryna projektu http://lambda.univ.rzeszow.pl/~bazan/rslib/ Użytkownik: rslib Hasło: roughsets Materiały wprowadzające i pomocnicze