[[
✎ pl:miw:miw08_rbs_ml:termostatnode
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
<code=java> package MachineLearning; import java.util.*; /** * Klasa reprezentująca węzeł drzewa decyzyjnego. Dziedziczy po liściu drzewa * @author Angello * */ public class TermostatNode extends TermostatLeaf { /** * Rodzaj testu wykonywanego w danym węźle */ public NominalTest Test; /** * Mapa zawierająca węzły lub liście do których prowadzi dany węzeł */ HashMap<Integer, TermostatLeaf> m_listOfLeaves = new HashMap<Integer, TermostatLeaf>(); /** * Konstruktor * @param test Test * @param category Kategoria większościowa * @param P Lista przykładów uczących */ public TermostatNode(NominalTest test, Integer category, ArrayList<Integer> P) { Test = test; m_category = category; m_P = new ArrayList<Integer>(P); } /** * Konstruktor domyślny */ public TermostatNode() { } /** * Dodaje liść lub węzeł do którego można przejść z danego węzła * @param r * @param node */ public void addNode(Integer r, TermostatLeaf node) { if (!m_listOfLeaves.containsKey(r)) m_listOfLeaves.put(r, node); } /** * Rekurencyjne przeszukuje drzewo żeby znaleźć kategorię podanego zestawu atrybutów */ public Integer getCategory(Object[] attributes) { Integer key = (Integer)attributes[Test.AttributeIndex]; // Wartość atrybutu który testujemy if (!Test.Results().contains(key)) // Jeśli R (rezultaty) nie zawiera wartości 'value' return this.category(); return m_listOfLeaves.get(key).getCategory(attributes); // Rekurencyjne wywołanie dla węzła który spełnia test } /** * Tworzy bardziej przejrzystą strukturę drzewa */ public ShowedNode showTree() { ShowedNode node = new ShowedNode(); node.P = new Integer[m_P.size()]; m_P.toArray(node.P); node.TestName = Test.AttributeName; for (Integer key : m_listOfLeaves.keySet()) { node.addNode(key, m_listOfLeaves.get(key).showTree()); } return node; } } </code>
pl/miw/miw08_rbs_ml/termostatnode.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry