Python 我有一个if-else规则决策树文件,想要将其可视化,我如何才能做到这一点?

Python 我有一个if-else规则决策树文件,想要将其可视化,我如何才能做到这一点?,python,python-3.x,pygraphviz,Python,Python 3.x,Pygraphviz,我使用C4.5算法生成了一个决策树,该树被生成并存储在rules.py中,就像else规则一样 现在我想在rules.py中可视化决策树。我看过一些graphviz的教程,但我无法想象它 下面是rules.py文件: [1]:性别,obj[2]:朋友时间,obj[3]:教师参观,obj[4]:平均出勤率,obj[5]:全神贯注的课堂,obj[6]:参与更正,obj[7]:学习时间,obj[8]:社交时间,obj[9]:cgpa,obj[10]:额外的,obj[11]:健康,obj[12]:睡眠,

我使用C4.5算法生成了一个决策树,该树被生成并存储在
rules.py
中,就像else规则一样

现在我想在rules.py中可视化决策树。我看过一些graphviz的教程,但我无法想象它

下面是
rules.py
文件:

[1]:性别,obj[2]:朋友时间,obj[3]:教师参观,obj[4]:平均出勤率,obj[5]:全神贯注的课堂,obj[6]:参与更正,obj[7]:学习时间,obj[8]:社交时间,obj[9]:cgpa,obj[10]:额外的,obj[11]:健康,obj[12]:睡眠,obj[13]:外出,obj[14]:obj时间 如果obj[9]>2: 如果obj[14]>2: 如果obj[12]>1: 如果obj[3]>1: 如果obj[7]>1: 返回5
elif obj[7]您可以使用它来可视化代码。

它似乎是chefboost框架的输出。框架不支持可视化吗?
def findDecision(obj): #obj[0]: Semester, obj[1]: Gender, obj[2]: Friend_time, obj[3]: Faculty_visit, obj[4]: avg_attendance, obj[5]: attentive_class, obj[6]: participation_corricular, obj[7]: study_time, obj[8]: social_time, obj[9]: cgpa, obj[10]: extra_crse, obj[11]: health, obj[12]: sleep, obj[13]: go_out_frnd, obj[14]: lib_time
   if obj[9]>2:
      if obj[14]>2:
         if obj[12]>1:
            if obj[3]>1:
               if obj[7]>1:
                  return 5
               elif obj[7]<=1:
                  return 4.5
               else:
                  return 4.5
            elif obj[3]<=1:
               return 5.666666666666667
            else:
               return 5.666666666666667
         elif obj[12]<=1:
            return 6.5
         else:
            return 6.5
      elif obj[14]<=2:
         if obj[11]>1:
            if obj[8]>1:
               if obj[2]>2:
                  return 6.0
               elif obj[2]<=2:
                  return 7
               else:
                  return 7.0
            elif obj[8]<=1:
               return 6
            else:
               return 6.0
         elif obj[11]<=1:
            return 8.0
         else:
            return 8.0
      else:
         return 6.7272727272727275
   elif obj[9]<=2:
      if obj[7]>1:
         if obj[1]>1:
            return 8
         elif obj[1]<=1:
            return 9
         else:
            return 9.0
      elif obj[7]<=1:
         return 7.0
      else:
         return 7.0
   else:
      return 8.125