Zbiory przyblizone - wprowadzenie do pakietu Rough Sets PDF

Title Zbiory przyblizone - wprowadzenie do pakietu Rough Sets
Course Sztuczna inteligencja
Institution Politechnika Bialostocka
Pages 7
File Size 144.1 KB
File Type PDF
Total Downloads 85
Total Views 130

Summary

Maciej Kopczyński...


Description

Instrukcja do zajęć z pracowni specjalistycznej w roku akademickim 2014/2015 Sztuczna inteligencja

Zbiory przybliżone – wprowadzenie do pakietu RoughSets

Opracował: Piotr Hońko

Białystok, 2015

1

1. Podstawowe funkcje •

library(packet) – ładowanie pakietu funkcji, np. RoughSets;



str(object) – wyświetlanie struktury dowolnego obiektu utworzonego w systemie R;



summary(object) – wyświetlanie statystyki lub zawartości dowolnego obiektu utworzonego

w systemie R.

2. Tablica decyzyjna utworzona na podstawie ramki danych •

Funkcja SF.asDecisionTable() ◦ Argumenty: ▪ dataset – dane zawierające obiekty i atrybutu, reprezentowane przez ramkę danych; ▪ decision.attr – pozycja atrybutu decyzyjnego na liście atrybutów (NULL – tworzony jest system informacyjny/zbiór testowy); ▪ indx.nominal



pozycje

atrybutów

nominalnych

(NULL



automatyczne

rozpoznawanie typów atrybutów). ◦ Wynik: obiekt klasy DecisionTable: ▪ desc.attrs – nazwy atrybutów i zakresy ich wartości; ▪ nominal.attrs – informacja, czy dany atrybut jest nominalny; ▪ decision.attr – pozycja atrybutu decyzyjnego. •

Przykład ◦ Konstrukcja atrybutów: a1=c("MBA","MSc","MSc","MBA","MBA","MCE","MSc","MCE") a2=c("Medium","High","High","High","Low","Low","Medium","Low") a3=c("Yes","Yes","Yes","No","Yes","Yes","Yes","No") a4=c("Excellent","Neutral","Excellent","Good","Neutral","Good","Neutral","Excellent")

a5=c("Accept","Accept","Accept","Accept","Reject","Reject","Reject","Reject") ◦ Tworzenie ramki danych wraz z nadaniem nazw poszczególnym atrybutom: df=data.frame(Diploma=a1,Experience=a2,French=a3,Reference=a4,Decision=a5)

◦ Tworzenie tablicy decyzyjnej na podstawie ramki danych df: dt=SF.asDecisionTable(dataset=df,decision.attr=5,indx.nominal=c(1:4))

3. Tablica decyzyjna utworzona na podstawie pliku z danymi •

Funkcja SF.read.DecisionTable() ◦ Argumenty: ▪ filename – plik zawierające dane (".csv", ".txt", ".dat", ".xls"); 2

▪ header – parametr logiczny, określający, czy plik posiada nagłówek, tj. czy pierwszy wiersz jest traktowany jako lista atrybutów; ▪ sep – określenie separatora pól; ▪ decision.attr – pozycja atrybutu decyzyjnego na liście atrybutów (NULL – tworzony jest system informacyjny/zbiór testowy); ▪ indx.nominal



pozycje

atrybutów

nominalnych

(NULL



automatyczne

rozpoznawanie typów atrybutów). ◦ Wynik: obiekt klasy DecisionTable: ▪ desc.attrs – nazwy atrybutów i zakresy ich wartości; ▪ nominal.attrs – informacja, czy dany atrybut jest nominalny; ▪ decision.attr – pozycja atrybutu decyzyjnego. •

Przykład ◦ Dany jest pliku D:\hiring.txt o zawartości: Diploma,Experience,French,Reference,Decision MBA,Medium,Yes,Excellent,Accept MSc,High,Yes,Neutral,Accept …

Tworzenie tablicy decyzyjnej na podstawie pliku D:\hiring.txt: dt0=SF.read.DecisionTable("D:\\hiring.txt",header=TRUE,sep=",",decision.attr=5, indx.nominal=c(1:4))

4. Relacja nieodróżnialności •

Funkcja BC.IND.relation.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna; ▪ attribute – podzbiór atrybutów, względem którego generowana jest relacja nieodróżnialności (NULL – uwzględniany jest cały zbiór). ◦ Wynik: obiekt klasy IndiscernibilityRelation: ▪ IND.relation – klasy nieodróżnialności; ▪ type.relation – relacja nieodróżnialności (equivalence).



Przykład ◦ Wyznaczanie relacji nieodróżnialności tablicy decyzyjnej dt względem atrybutów Experience, French:

3

ind=BC.IND.relation.RST(dt,c(2,3))

5. Aproksymacje •

Funkcja BC.LU.approximation.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna, składająca się z atrybutów nominalnych; ▪ IND – relacja nieodróżnialności. ◦ Wynik: obiekt klasy LowerUpperApproximation: ▪ lower.approximation – indeksy obiektów z dolnej aproksymacji; ▪ upper.approximation – indeksy obiektów z górnej aproksymacji.



Przykład ◦ Wyznaczanie aproksymacji dla klas decyzyjnych tablicy decyzyjnej dt przy zastosowaniu relacji nieodróżnialności ind: app=BC.LU.approximation.RST(dt,ind)

6. Obszar pozytywny •

Funkcja BC.positive.reg.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna, składająca się z atrybutów nominalnych; ▪ roughset – obiekt klasy LowerUpperApproximation. ◦ Wynik: obiekt klasy PositiveRegion: ▪ positive.reg – indeksy obiektów należących do obszaru pozytywnego; ▪ degree.dependency – stopień zależności (jakość klasyfikacji tablicy decyzyjnej, czyli stosunek liczby obiektów należących do obszaru pozytywnego do liczby wszystkich obiektów).



Przykład ◦ Wyznaczanie

obszaru

pozytywnego

aproksymacji app: pr=BC.positive.reg.RST(dt, app)

7. Relatywna macierz odróżnialności •

Funkcja BC.discernibility.mat.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna; 4

tablicy

decyzyjnej

dt

przy

zastosowaniu

▪ range.object – wektor obiektów, względem których ma być generowana macierz odróżnialności (NULL – rozpatrywany jest cały zbiór obiektów); ▪ show.discernibilityMatrix – zapisywanie macierzy w postaci tablicowej. ◦ Wynik: obiekt klasy DiscernibilityMatrix: ▪ disc.mat – macierz odróżnialności; ▪ disc.list – lista reprezentująca macierz odróżnialności; ▪ names.attr – atrybuty występujące w macierzy. •

Przykład ◦ Generowanie relatywnej macierzy odróżnialności dla tablicy decyzyjnej dt: dm=BC.discernibility.mat.RST(dt, show.discernibilityMatrix=TRUE)

8. Zbiór wszystkich reduktów tablicy decyzyjnej •

Funkcja FS.all.reducts.computation() ◦ Argumenty: ▪ discernibilityMatrix – macierz odróżnialności. ◦ Wynik: obiekt klasy ReductSet: ▪ decision.reduct – zbiór reduktów; ▪ core – rdzeń zbioru atrybutów;



Przykład ◦ Obliczanie zbioru wszystkich reduktów tablicy decyzyjnej dt na podstawie relatywnej macierzy odróżnialności dm: rs=FS.all.reducts.computation(dm)

9. Pojedynczy redukt – algorytm QuickReduct •

Funkcja FS.quickreduct.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna; ◦ Wynik: obiekt klasy FeatureSubset: ▪ reduct – lista atrybutów, należących do zwróconego zbioru ((nad)redukt, podzbiór atrybutów); ▪ type.method – typ użytej metody (quickreduct); ▪ type.task – typ zadania ( feature selection).



Przykład

5

◦ Obliczanie pojednyczego reduktu tablicy decyzyjnej dt: red=FS.quickreduct.RST(dt)

10. Reguły decyzyjne •

Funkcja RI.indiscernibilityBasedRules.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna; ▪ feature.set – podzbiór atrybutów, np. redukt. ◦ Wynik: obiekt klasy RuleSetRST: ▪ rules: wszystkie reguły zapisane w postaci listy zawierającej: •

idx: indeksy atrybutów, wykorzystywanych przez regułę;



values: wartości, wykorzystywane przez atrybutu w części przesłanki reguły;



consequent: wartość atrybutu decyzyjnego;



support: indeks obiektu, który rozpoznaje regułę;



laplace: jakość klasyfikacji (miara Laplace'a).

▪ uniqueCls: lista klas decyzyjnych; ▪ clsProbs: dystrybucja klas; ▪ majorityCls: najczęściej występująca wartość atrybutu decyzyjnego w regułach. •

Przykład ◦ Generowanie zbioru reguł z tablicy decyzyjnej dt w oparciu o redukt red: rul=RI.indiscernibilityBasedRules.RST(dt,red)

11. Klasyfikacja nowych obiektów za pomocą zbioru reguł •

Funkcja predict() ◦ Argumenty: ▪ object – zbiór reguł, tj. obiekt klasy RI.indiscernibilityBasedRules.RST; ▪ newdata – tablica decyzyjna. ◦ Wynik: Obiekt klasy data.frame, tj. ramka danych, składająca się z jednej kolumny, odpowiadającej atrybutowi decyzyjnemu.



Przykład ◦ Klasyfikacja obiektów tablicy decyzyjnej dt na podstawie zbioru reguł rs prd=predict(rs,dt)

6

12. Dyskretyzacja – algorytm MD •

Funkcja D.max.discernibility.matrix.RST() ◦ Argumenty: ▪ decision.table – tablica decyzyjna o atrybutach ciągłych. ◦ Wynik: obiekt klasy Discretization: ▪ cut.values – lista cieć dla każdego (ciągłego) atrybutu warunkowego; ▪ type.method – typ metody użytej do zdefiniowania cięć (max.discernibility); ▪ type.task – typ wykonywanego zadania (discretization).



Przykład ◦ Tworzenie tablicy decyzyjnej na podstawie fragmentu zbioru danych iris: a1=c(5.1,4.8,4.5,5.1,5.2,5.1) a2=c(1.6,1.4,1.5,1.9,1.6,2.0) d=c("versicolor","versicolor","versicolor","virginica","virginica","virginica") df1=data.frame(petallength=a1, petalwidth=a2, cls=d) dt1=SF.asDecisionTable(dataset=df1,decision.attr=3)

◦ Generowaniu zbiorów cięć dla atrybutów warunkowych tablicy decyzyjnej dt1: cs=D.max.discernibility.matrix.RST(dt1)

13. Podtablica utworzona na podstawie tablicy decyzyjnej •

Funkcja SF.applyDecTable() ◦ Argumenty: ▪ decision.table – tablica decyzyjna; ▪ object – podzbiór atrybutów, obiektów lub zbiór cieć dla atrybutów warunkowych. ◦ Wynik: obiekt klasy DecisionTable: ▪ desc.attrs – nazwy atrybutów i zakresy ich wartości; ▪ nominal.attrs – informacja, czy dany atrybut jest nominalny; ▪ decision.attr – pozycja atrybutu decyzyjnego.



Przykład ◦ Tworzenie podtablicy dla tablicy decyzyjnej dt na podstawie pojedynczego reduktu red dt2=SF.applyDecTable(dt,red)

◦ Tworzenie podtablicy dla tablicy decyzyjnej dt1 na podstawie zbioru cieć cs dt3=SF.applyDecTable(dt1,cs)

7...


Similar Free PDFs