**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];endClasses = 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.
0 Comments