k-NN binární klasifikátor
A) Zadání
- V prostředí Matlab napište skript realizující úlohu k-NN binárního klasifikátoru, a to pro k=1 a k=3.
- Vstupní data generujte jako náhodná čísla s rovnoměrným
rozložením takto:
• Vstupní data tvoří 100 vzorků s atributy x1 a x2.
• Vzorky 1 až 50 tvoří třídu „+“ s intervaly x1 <0.0;0.6> a x2 <0.0;1.0>.
• Vzorky 51 až 100 tvoří třídu „x“ s intervaly x1 <0.4;1.0> a x2 <0.0;1.0>.
• Pro zajištění unikátnosti datové sady použijte inicializaci generátoru náhodných čísel (funkce rng) semínkem o hodnotě vaše VUT ID – s tímto ID bude výsledek skriptu strojově kontrolován při hodnocení, proto generujte data po řádcích, tj. nejdříve 100 vzorků pro x1 a poté 100 vzorků pro x2.
- Výsledky vizualizujte do tří grafů tak, že kromě barevného
vyznačení třídy vstupních dat v prostoru (x1,x2) zobrazíte klasifikační
mapu 1-NN a 3-NN klasifikátoru, tj. příslušnost každého bodu prostoru
(x1,x2) ke třídě „+“ nebo
„x“, takto:
• Pro vzorkování prostoru intervalů x1 a x2 použijte rastr 100×100.
• Jako metriku vzdálenosti použijte Euklidovskou normu L2 (funkce norm).
• Pozn.: hranice tříd v případě 1-NN klasifikátoru geometricky odpovídají Voroného diagramu.
- Na základě vizuální analýzy výsledků předchozího kroku uveďte slovně jaký vztah platí mezi vstupními daty (x1,x2) a klasifikační mapou pro 1-NN, nikoli však už pro 3-NN.
B) Info
Ilustrace vizualizace výsledků klasifikačních map: