【问题标题】:AttributeError: 'int' object has no attribute 'feat'AttributeError:“int”对象没有属性“feat”
【发布时间】:2020-05-31 02:12:27
【问题描述】:

我的代码有一个很奇怪的问题:

所以我正在尝试构建一个分类器,并在我编写的代码的“预测”部分:

def predict(self, feature):
        node = self.tree
        for i in range(len(feature)):
            if feature[node.feat] == 0:
                 node = node.left
            else:
                 node = node.right

检查是向左还是向右移动。

这是我的节点类:

class Node():
    def __init__(self, data):
        self.left = None
        self.right = None
        self.feat = 0

但是,当我运行代码时,我似乎遇到了问题 AttributeError: 'int' 对象没有属性 'feat'

【问题讨论】:

  • 只是补充一点,当我执行 'print(node.feat)' 或 'print(node.feat == 0)' 时,一切运行正常,只是在 if 语句中不起作用
  • 将所有相关信息添加到问题本身,并向我们展示足够的代码以查看 node 的来源。

标签: python machine-learning tree data-science decision-tree


【解决方案1】:

对不起,问题解决了,

我只是在我的一个递归调用中返回一个 int 而不是一个节点对象

【讨论】:

    猜你喜欢
    • 2021-11-30
    • 2020-03-26
    • 2013-04-15
    • 2021-01-18
    • 2019-05-30
    • 2021-02-24
    • 2021-08-01
    • 2015-07-06
    • 2018-03-17
    相关资源
    最近更新 更多