Rechenbeispiel

Als Datengrundlage dient das Dataset auf github: https://github.com/gr8Adakron/naive-bayes-using-python/blob/master/tennis.csv

Die Tabelle enthält die normalen Attrbiute Outlook, Temperatur, Humidity und Windy. Play ist das Label Attribut, nach dem es zu klassifizieren gilt.

Outlook Temp. Humidity Windy Play
sunny hot high false no
sunny hot high true no
overcast hot high false yes
rainy mild high false yes
rainy cool normal false yes
rainy cool normal true no
overcast cool normal true yes
sunny mild high false no
sunny cool normal false yes
rainy mild normal false yes
sunny mild normal true yes
overcast mild high true yes
overcast hot normal false yes
rainy mild high true no

Der folgende Datensatz soll klassifiziert werden.

Outlook Temp. Humidity Windy Play
sunny hot high false ?

Wir suchen also die Wahrscheinlichkeiten für die Klassen yes und no unter der Bedingung der Instanzen.

Für die erste Instanz sieht dies so aus:

Fangen wir mit der Klasse yes und folgendem Term an.

Unter der Bedingung der Klasse yes (Anzahl 9) zählen wir 2 Instancen mit sunny. Somit beträgt die bedingte Wahrscheinlichkeit für den Term:

Wir verfahren analog mit den anderen Attributen:

Nun können wir bereits den Likelihood für die Klasse yes ausrechnen bzw. fast den kompletten Term außer P(i).

Wir verfahren analog zu der Klasse no,

sowie mit den anderen Attributen und erhalten die Formel für den Likelihood.

Der Likelihood für die Klasse no ist höher und die Instanz wird somit als no klassifiziert. Der Term P(I), die Wahrscheinlichkeit für die Instanz, ist uns unbekannt. Dennoch können wir die Wahrscheinlichkeit für die Klasse anhand der bereits errechneten Likelihoods bestimmen.

Zu 85% trifft die Klassifizierung zu no zu.


Author: Sven Schirmer

results matching ""

    No results matching ""