Advertisement
Falexom

Untitled

Aug 6th, 2023
1,115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.00 KB | None | 0 0
  1. class TreeObj:
  2.     def __init__(self, indx, value=None):
  3.         self.indx = indx
  4.         self.value = value
  5.         self.__left = None
  6.         self.__right = None
  7.  
  8.     @property
  9.     def left(self):
  10.         return self.__left
  11.  
  12.     @left.setter
  13.     def left(self, object):
  14.         self.__left = object
  15.  
  16.     @property
  17.     def right(self):
  18.         return self.__right
  19.  
  20.     @right.setter
  21.     def right(self, object):
  22.         self.__right = object
  23.  
  24.  
  25. class DecisionTree:
  26.     @classmethod
  27.     def predict(cls, root, x):
  28.         height = root
  29.         while height:
  30.             if x[height.indx] == 1:
  31.                 height = height.left
  32.             else:
  33.                 height = height.right
  34.             if height.left is None:
  35.                 break
  36.         return height.value
  37.  
  38.     @classmethod
  39.     def add_obj(cls, obj, node=None, left=True):
  40.         if node:
  41.             if left:
  42.                 node.left = obj
  43.             else:
  44.                 node.right = obj
  45.         return obj
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement