我有 dict 属性来构建树状结构。 我有这个预测函数,它根据属性子关系预测我的决策树的准确性。
我想概括这个功能,以便我能够根据 dict 属性预测我的准确性。
def __init__(self, _d):
self.__dict__ = {a:DecisionNode(b) if isinstance(b, dict) else b for a, b in _d.items()}
def predicts(self, x):
if self.children == {}: # reached leaf level
return self.attribute
value = x[self.attribute]
subtree = self.children[value]
return subtree.predicts(x)
for i in range(0,len(test)):
if str(class_tree.predicts(test.loc[i])) == str(test.loc[1,target]):
correct += 1
print("\nThe accuracy is: ", correct/len(test))
这就是我的 dict 属性 -
class_tree.outlook.sunny.temperature.hot
Out[85]: 'no'