Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
KLASYFIKATORYKNN
29
a)
Rys.3.2.Rozkładydanychuczącychwygenerowanelosowowokółtrzechpunktówcentralnychw:
x
2
-4
-3
-2
-1
x
1
0
1
a)Matlabie,b)Pythonie
2
3
b)
TymrazemmacierzniezgodnościklasowejMjestpodanaponiżejdlak=5,po-
twierdzającwłaściwedziałanieklasykatora(przyjednymsąsiedzienajbliższymjest
zwyklewektorniewieleżniącysięodtegowykorzystanegowzbiorzeuczącym).
MATLAB
M=
35
2
1
35
8
5
31
3
0
Pyton
array([[23,
[11,11,
[1,
3,
0,25]])
1],
5],
Zmianaliczbysąsiadównawartośćkżnąod5oczywiściezmieniadziałanieklasy-
katora.Wceluporównaniamożnaposłużyćsięponiższymkodem,któryoblicza,jak
zmieniasiędokładnośćobliczeńwzależnościodliczbywziętychpoduwagęsąsiadów.
MATLAB
fork=1:30
end
figure
plot(p*100)
title(’Dokładność[%]’)
%ModelklasyfikatoraKNN
knn=fitcknn(xucz,ducz,...
%testowanienazbiorze
%testowym
y=predict(knn,xtest);
p=[psum(y==dtest)/...
’NumNeighbors’,
k,’Standardize’,1);
length(dtest)]
...
Pyton
p=[]
forkinrange(1,31):
towym
confusion_matrix
len(dtest))
plt.plot(np.array(p)*100);
plt.title(”Dokładność[%]”)
plt.gtid()
knn=KNeighborsClassifier(k)
knn.fit(xucz,ducz)
#testowanienazbiorzetes-
y=knn.predict(xtest)
#Macierzniezgodnościklasowej
fromsklearn.metricsimport
p.append(np.sum(y==dtest)/