**Prečítajte si aj ďalšie príspevky zo série "Classification Tree"**
[Classification Tree: 2D Problém](/classification-tree-2d-problem/)
[Classification Tree: Separátory](/untitled-14/)
[Classification Tree: Klasifikácia](/untitled-15/)
**Definícia problému:**
Pomocou funkcie [create_nodes](/untitled-14/) sme našli všetkých (n-1) separátorov oddeľujúcich našich n skupín. Narozdiel od [minulého príkladu](/untitled-15/) však nemáme jednu, ale hneď **niekoľko neznámych vzoriek tvoriacich maticu**, ktoré potrebujeme klasifikovať, t.j. priradiť im mená jednotlivých skupín dát. Opäť chceme vytvoriť klasifikačnú funkciu, ktorá využije klasifikačný strom ako jeden zo vstupných argumentov.
**Riešenie problému:**
**Nové neznáme vzorky** usporiadané v matici klasifikujeme spustením funkcie **classification**, ktorá má dva vstupné argumenty - premenné **Tree a Samples**. Klasifikácia prebieha opakovaným volaním funkcie **tree_classify**, s ktorou sme sa zoznámili v [predchádzajúcom príspevku](/untitled-15/).
Premenná **Tree** predstavuje **klasifikačný strom**. Všetko o tejto premennej sa dočítate v príspevkoch [Classification Tree: Separátory](/untitled-14/) a [Classification Tree: Klasifikácia](/untitled-15/).
Premenná **Samples** je **maticou neznámych vzoriek**. Matica je rozmeru n×m, kde n je počet vlastností alebo súradníc vzorky a m je počet všetkých vzoriek.
function Classes = classification(Tree, Samples)
Classes = [];
n = size(Samples, 2);
for i = 1:n
m = size(Samples(i).data, 2);
C = {};
for j = 1:m
ClassName = tree_classify(Tree, Samples(i).data(:,j));
C{j} = ClassName;
end
Classes = [Classes, C];
end
Classes = Classes';
end
Výstupom z funkcie je premenná **Classes** typu cell array, rozmeru m×1. Táto premenná obsahuje mená všetkých klasifikovaných vzoriek.