**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.

Categories: Uncategorized

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *