Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Algorytmy sztucznej inteligencji

Sprawozdanie 2

Naiwny klasyfikator Bayes’a


i algorytm kNN

Paweł Kaim
Zadanie 1.

Korzystając z naiwnego klasyfikatora Bayesa oblicz jakie będzie prawdopodobieostwo klasyfikacji do


klasy „diabetes = 1” w następujących przypadkach:

1. : BP = Average; weight = above average; FH = yes; age = 50+


2. : BP = low; weight = average; FH = no; age = 50+
3. : BP = high; weight = average; FH = yes; age = 50+

LP BP Weight FH age diabetes


1 average above average yes 50+ 1
2 low average yes 0-50 0
3 high above average no 50+ 1
4 average above average yes 50+ 1
5 high above average yes 50+ 0
6 average above average yes 0-50 1
7 low below average yes 0-50 0
8 high above average no 0-50 0
9 low below average no 0-50 0
10 average above average yes 0-50 0
11 high average no 50+ 0
12 average average yes 50+ 1
13 high above average no 50+ 1
14 average average no 0-50 0
15 low average no 50+ 0
16 average above average yes 0-50 1
17 high average yes 50+ 1
18 average above average no 0-50 0
19 high above average no 50+ 1
20 high average no 0-50 0

Ponieważ dla wszystkich trzech przypadków obliczane jest prawdopodobieostwo przynależności dla
klasy diabetes = 1 (dalej oznaczaną jak D1) tylko raz obliczamy P(D1)

( )

Następnie dla każdego obiektu obliczane zostaje prawdopodobieostwo warunkowe P(X|D1)

( | ) ( | ) ( | ) ( | )
( | )

( | ) ( | ) ( | ) ( | ) ( | )

( | ) ( | ) ( | ) ( | ) ( | )
Dla :

( | )

( | )

( | )

( | )

( | ) 78 = 0,23

Dla :

( | )

( | )

( | )

( | )

( | ) 78 = 0

Dla :

( | ) ,44

( | )

( | )

( | )

( | ) 78 = 0,05

Na koniec dla każdego obiektu obliczany zostaje iloczyn P(X|D1)*P(D1)

( | ) ( )

( | ) ( )

( | ) ( )
Zadanie 2.

Korzystając z algorytmu kNN oraz podanych danych wykonaj obliczenia aby odpowiedzied na pytanie:
„Jaka będzie klasa dla obiektu X: BP = 3; weight = 3; FH = 1; age = 2” gdy założymy że miarą odległości
będzie odległośd euklidesowa oraz że k=5.

LP BP weight FH age diabetes


X1 2 3 1 2 1
X2 1 2 1 1 0
X3 3 3 2 2 1
X4 2 3 1 2 1
X5 3 3 1 2 0
X6 2 3 1 1 1
X7 1 1 1 1 0
X8 3 3 2 1 0
X9 1 1 2 1 0
X10 2 3 1 1 0
X11 3 2 2 2 0
X12 2 2 1 2 1
X13 3 3 2 2 1
X14 2 2 2 1 0
X15 1 2 2 2 0
X16 2 3 1 1 1
X17 3 2 1 2 1
X18 2 3 2 1 0
X19 3 3 2 2 1
X20 3 2 2 1 0

Na początek obliczamy odległośd pomiędzy obiektem X a każdym obiektem ze zbioru uczącego za


pomocą odległości euklidesowej ( ) √∑ ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )
( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

( ) √( ) ( ) ( ) ( )

Następnie wybieranych zostaje k obiektów o najmniejszej odległości od obiektu X. W tym przypadku


wybranych zostanie 5 obiektów * +

Ostatnim krokiem jest stworzenie zbiorów dla każdej z klas decyzyjnych ze zbioru określonego
wcześniej.

* +

* +

Wybierany jest najliczniejszy zbiór więc odpowiedzią na postawione w treści zadania pytanie jest
klasa diabetes = 1.

You might also like