INNER CODE UNIT · Python
predict
ankonzoid/LearningX · basic_ML/classification/decision_tree.py:90
def predict(self, X):
def traverse(node, x):
if "split" in node.keys():
if x[node["j_threshold"]] <= node["threshold"]:
return traverse(node["child_left"], x)
else:
return traverse(node["child_right"], x)
else:
return node["value"]
N, d = X.shape
y_pred = []
for i in range(N):
y_pred_i = traverse(self.tree, X[i])
y_pred.append(y_pred_i)
y_pred = np.array(y_pred)
return y_pred