Porównanie systemów automatycznej generacji reguł działających w oparciu o algorytm sekwencyjnego pokrywania oraz drzewa decyzji Wstęp Systemy automatycznego wyodrębniania reguł pełnią bardzo ważną rolę w budowie systemów ekspertowych umożliwiając automatyzację procesu tworzenia bazy wiedzy. Reguły są tutaj generowane na podstawie historycznych danych doświadczalnych z wykorzystaniem jednej z dwóch strategii: Sekwencyjnego pokrywania algorytm ten działa na zasadzie tworzenia reguł od ogółu do szczegółu, tzn. na wstępie szukana jest reguła najbardziej ogólna pokrywająca jak największą liczbę przypadków, a następnie generowane są coraz bardziej dokładne reguły uszczegóławiające każdą wcześniejszą. W efekcie powstaje lista niezależnych od siebie reguł, lub też lista uporządkowana. Ta druga określa kolejnośd wykonywania reguł, tzn budując bazę wiedzy zakłada się, iż wygenerowane reguły mogą mied wspólny obszar aktywacji (nakładające się przesłanki) co powoduje że pewien zestaw przesłanek może spowodowad iż kilka reguł aktywuje swoją konkluzję, które mogą byd sprzeczne. W takiej sytuacji zakłada się że reguła wygenerowane później (reguła bardziej szczegółowa) ma większy priorytet. Typowymi przykładami tego algorytmu są CN2 i AQ Drzewa decyzji algorytm ten działa na zasadzie budowy reguł na zasadzie rozrostu struktury drzewiastej, gdzie każdy węzeł drzewa odpowiada pojedynczemu warunkowi z pojedynczą przesłanką. Główną zaletą tego algorytmu jest niska złożonośd obliczeniowa rzędu n log(n), co w porównaniu do złożoności metod sekwencyjnego pokrywania (zwykle n^3) stanowi istotny atut. Cel Celem laboratorium jest przetestowanie obydwu systemów generacji reguł. Zadanie to zostanie wykonane w oparciu o projekt Rapid-Miner Obsługa programu Rapid-Miner Część 1 Wpływ parametrów na algorytmów wyodrębniania reguł na jakość reguł Program Rapid-Miner jest jednym z najlepszych dostępnych programów do profesjonalnej analizy i eksploracji danych, w tym umożliwia również wyodrębnianie reguł. Po uruchomieniu aplikacji wykonaj komendę New
Następnie przejdź do budowy projektu i w tym celu aktywuj zakładke operators zawierającą listę możliwych do wykonania operacji przetwarzania danych Następnie rozwio listę import, data i wybierz Import ARFF którą przeciągnij do okna Process
Z prawej strony ekranu możesz dokonad konfiguracji wstawionego bloczku, w tym celu określ plik data file i w polu label attribute wpisz nazwę atrybutu z etykietami (ta nazwa to class) Następnie dodaj model budujący zestaw reguł. W tym celu przejdź do zakładki Operators i wybierz Modeling -> Classification & Regression->Rule Induction -> Rule induction I dodaj wybrany model do okna Process. W kolejnym kroku połącz wyjście out modelu Read ARFF z wejściem tra modelu Rule Induction
Z prawej strony możesz dokonad konfiguracji systemu indukcji reguł. Z możliwych opcji można: Criterion: Wybrad kryterium generacji reguł Sample_ration: Stosunek liczby wektorów treningowych dla dalszej budowy i oczyszczania systemu reguł. Purenees: Porządana czystośd np. niezbędna liczba dominującej klasy w pokrytym zbiorze przypadków przez daną regułę. Domyślnie 0.9 minimal_prune_benefit: Minimalny zysk który musi zostad przekroczony w stosunku do nieoczyszczonego zbioru reguł. Domyślnie 0.9 Następnie dodaj możliwośd zastosowania modelu tak aby móc przetestowad jakośd uzyskanego zbioru reguł. Objekt Applay Model (Classification) znajdziesz w zakładce Operators -> Modeling -> Model Application -> Applay Model. Dodaj go do procesu I podłącz wyjście Mod modelu Rule Induction z modelem wejściem Mod modelu Applay Model.
Dodatkowo do wejścia unl modelu Applay Model podłącz wejście out modelu Read ARFF. Gdy pojawi się komunikat, Cannot connect wybierz opcję Insert IO multiplayers. W rezultacie powinieneś uzyskad:
W kolejnym kroku dodaj bloczek umożliwiający obliczenie dokładności modelu: Operators -> Evaluation -> Performance Measurement -> Classification & Regression -> Performance (Classification) I podłącz wyjście lab modelu Applay Model z wejściem lab modelu Performance. Na koniec podłącz wyjście per modelu Performance z wejściem res okna Process, oraz również do wejścia res podłącz wyjście mod z Skonfiguruj model Performance zaznaczając opcję accuracy i uruchom zbudowany proces przetwarzania danych klikając na RUN
Po wydaniu polecenia uruchom zostaniesz poproszony o zapisanie modelu w repozytorium. Dokonaj tego pod nazwą ETI50-RI. Po pojawieniu się informacji o wynikach kliknij YES W rezultacie powinieneś uzyskad listę reguł i dokładnośd zbudowanego modelu. UWAGA Analiza wyników realizowana jest w zakładce Results Overview aby przełączyd się do widoku projektu kliknij jak zaznaczono: W identyczny sposób dodaj do procesu przetwarzania danych drzewo decyzji. W tym celu możesz albo stworzyd nowy proces przetwarzania danych albo dodad do już istniejącego:
W rezultacie powinieneś dostad wynik: - dokładnośd systemu regałowego, zestaw reguł, dokładnośd drzewa decyzji oraz kształt drzewa. Część 2 Ocena dokładności klasyfikacji w teście krzyżowym Zbuduj nowy proces przetwarzania, gdzie obok modelu Read ARFF dodaj model testu krzyżowego. Znajduje się on na zakładce operators -> Evaluation -> Validation -> X-Validation, następnie połącz wyjście out modelu Read ARFF z wejściem tra modelu X-validation oraz jego wyjście ave z wejściem res.
Następnie kliknij dwukrotnie w bloczek X-Validation tak aby przejśd do konfiguracji tego bloczku. Jest on podzielony na dwie części. Po stronie lewej jest częśd odpowiedzialna za uczenie modelu, natomiast po stronie prawej za jego testowanie. Dokonaj połączeo jak na rys.
Następnie uruchom zbudowany proces przetwarzania danych. W wyniku dostaniesz uśredniona dokładnośd zbudowanego modelu. W identyczny sposób przygotowad algorytm Rule Induction. Każdorazowo zapisuj do repozytorium zbudowany model. Zadania 1. Zbuduj opisane powyżej modele do wyodrębniania reguł 2. Sprawdź wpływ kryterium tworzenia reguł oraz wpływ parametru Minimal prune benefit oraz pureness na liczbę generowanych reguł przez algorytm Rule Induction oraz na dok ładnośd uzyskanych wyników (dokładnośd klasyfikacji ang. accuracy) UWAGA podczas testów parametru pureness przyjąd minima prune benefit = 1 3. Zbuduj opisane powyżej modele do wyodrębniania reguł w oparciu o drzewo decyzji 4. Sprawdź kryterium tworzenia podziału drzewa decyzji oraz wpływ ufności (confidence) jak i Minimal Gain na dokładnośd klasyfikacji (accuracy) oraz rozmiar drzewa rozumiany jako liczba węzłów i liczba liści wygenerowanego drzewa. 5. Dobierz najlepsze parametry drzewa decyzji, tak aby uzyskad największą dokładnośd 6. Dobierz najlepsze parametry systemu indukcji reguł tak aby uzyskad największą dokładnośd 7. Dokonaj weryfikacji uzyskanych wyników z 5 w oparciu o test krzyżowy 8. Dokonaj weryfikacji uzyskanych wyników z 6 w oparciu o test krzyżowy 9. Czy występuje różnica pomiędzy dokładnością z 5/6 a wynikami z 7/8. Jeśli tak to skomentuj je. 10. Dobierz optymalne parametry systemu indukcji reguł z wykorzystaniem testu krzyżowego 11. Dobierz optymalne parametry drzewa decyzji z wykorzystaniem testu krzyżowego 12. Czy uzyskane parametry z 10/11 różnią się od parametrów uzyskanych z 5/6
13. Dokonaj wizualizacji uzyskanych wyników na wykresach np. Rozmiar drzewa w funkcji typu kryterium, dokładnośd klasyfikacji w funkcji wartości WSP. Ufności tp. 14. Dla uzyskanych wyników z 10/11 dokonaj porównania reguł uzyskanych z drzewa decyzji i systemu indukcji reguł. Znajdź podobieostwa i różnice uzyskanych reguł. 15. Obliczeo dokonaj dla zbiorów Iris, WBC, Ionosphere. Pliki z danymi można pobrad ze strony autora wykładu.