Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
KLASYFIKATORYKNN
27
MATLAB
%ModelklasyfikatoraKNN
knn=fitcknn(xucz,ducz,
’NumNeighbors’,5,’Standardize’,1)
%testowanienazbiorzetestowym
y=predict(knn,xtest)
%Macierzniezgodnościklasowej
confusionmat(dtest,y)
...
Python
#ModelklasyfikatoraKNN
fromsklearn.neighborsimport(
knn=KNeighborsClassifier(5)
knn.fit(xucz,ducz)
#testowanienazbiorzetestowym
y=knn.predict(xtest)
#Macierzniezgodnościklasowej
fromsklearn.metricsimport(
confusion_matrix(dtest,y)
confusion_matrix)
KNeighborsClassifier)
Rozkładdanychuczącychprzedstawionyjestnarys.3.1(uwaga:każdorazowe
uruchomienieprogramudajeinnyrozkładdanych).
a)
-1
-2
-3
4
3
2
1
0
-4
Rozkładdanychuczącychzpodziałemnaklasy
-3
-2
-1
x
1
0
1
2
klasa1
klasa2
klasa3
3
b)
Rys.3.1.Rozkładydanychuczącychwygenerowanelosowow:a)Matlabieib)Pythonie
WwynikutestowaniauzyskanomacierzniezgodnościklasowejMjakponiżej
MATLAB
M=26
12
15
15
24
7
13
7
1
Python
array([[14,13,
3],
[19,
8,
3],
[12,
5,
3]])
Wynikuzyskanywtestowaniujestdalekiodidealnego,aleprzylosowympro-
cesiepoddanymanalizietakiegonależałosięspodziewać(danelosoweniemają
zdolnościuogólniających).
Zdolnośćuogólnieniaodzyskujeklasyfikatorprzyzałożeniu,żedanetestujące
niewieleżniąsięoduczących(przytymsamymwektorzeklasowymd
test=d
ucz),
ak=1(tylkonajbliższysąsiad).Przykładtakiejmodyfikacjiprogramuzałączony
jestponiżej