Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将深度优先搜索转换为面包优先搜索以实现决策树网络_Python_Decision Tree_Depth First Search - Fatal编程技术网

在python中将深度优先搜索转换为面包优先搜索以实现决策树网络

在python中将深度优先搜索转换为面包优先搜索以实现决策树网络,python,decision-tree,depth-first-search,Python,Decision Tree,Depth First Search,我被指派去实现决策树算法。到目前为止,我已经找到了所有的节点/叶,但是我把它们放在了一个平面1d数组中。如何标记它们,以便提取视觉表示? 我有下面最左边的搜索节点列表,参考图片:[喜剧,枪,叶,律师,叶,叶,枪,叶,叶,叶] 我需要的是喜剧类的标签:1枪:1.1叶1.1.1律师:1.1.2等等 我的代码基本上与此方案中的代码类似: track=0 def create node(dataset): select best attribute save

我被指派去实现决策树算法。到目前为止,我已经找到了所有的节点/叶,但是我把它们放在了一个平面1d数组中。如何标记它们,以便提取视觉表示? 我有下面最左边的搜索节点列表,参考图片:[喜剧,枪,叶,律师,叶,叶,枪,叶,叶,叶]

我需要的是喜剧类的标签:1枪:1.1叶1.1.1律师:1.1.2等等

我的代码基本上与此方案中的代码类似:

    track=0
    def create node(dataset):
       select best attribute
       save attribute with track #
       track+=1

       if this attribute has sub-options:
          track*=10 #to indicate new depth level
          create appropriate decision set
          create_node(newdataset)
       else:
          pass #interestingly this bottom part called multiple times
track metohd没有帮助我,我以为它可以跟踪内部循环等,但它失败了。任何建议都将不胜感激


实现深度优先搜索的正确方法是,当您看到节点时,将节点的所有子节点放入一个列表中,然后从堆栈中获取下一个节点,重复操作直到堆栈为空。广度优先搜索是完全相同的,但使用的是a。你能更具体一点吗?我已经成功地找到了所有节点,但我无法区分哪个节点连接到哪个节点,但它始终跟踪左侧和深度优先的结果。我应该一起改变搜索算法吗?我认为有一个简单的技巧,即标记每个节点以知道它连接的是谁。我认为最好在这一点上提供一些。关键是堆栈和队列为您处理遍历顺序-这就是算法入门课程在DFS和BFS实现中使用这些结构的原因。除此之外,我帮不了你——我最多只能引用一个正统的实现。实现深度优先搜索的正确方法是,当你看到节点的所有子节点时,将它们放入一个数组中,然后从堆栈中获取下一个节点,重复直到堆栈为空。广度优先搜索是完全相同的,但使用的是a。你能更具体一点吗?我已经成功地找到了所有节点,但我无法区分哪个节点连接到哪个节点,但它始终跟踪左侧和深度优先的结果。我应该一起改变搜索算法吗?我认为有一个简单的技巧,即标记每个节点以知道它连接的是谁。我认为最好在这一点上提供一些。关键是堆栈和队列为您处理遍历顺序-这就是算法入门课程在DFS和BFS实现中使用这些结构的原因。除此之外,我帮不了你——我最多只能提到一个正统的实现。