• 大小: 0.03M
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Python
  • 标签: 其他  

资源简介

dtree_c4.5.py

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-  
“““ 
@author: 蔚蓝的天空Tom 
Talk is cheapshow me the code 
Aim:C4.5算法生成决策树(字典存储) 并绘制决策树图形
“““  

import numpy as np  
import math
import matplotlib.pyplot as plt
varnamestr = lambda vnms: [ vn for vn in nms if id(v)==id(nms[vn])][0]  
class CUtileTool(object):  
    ‘‘‘提供有用的方法 比如dump_list方法,可以打印给定的list的相关信息‘‘‘  
    def dump_list(self src_list src_list_namestr):  
        ‘‘‘逐行打印list 
        :param self:类实例自身 
        :param src_list:被打印的源list 
        :return 无 
        ‘‘‘  
        print(‘\n============‘src_list_namestr‘================‘)  
        list_len = len(src_list)  
        list_shape = np.shape(src_list)  
        print(‘type(‘src_list_namestr‘):‘type(src_list))  #  
        print(‘np.shape(‘src_list_namestr‘):‘np.shape(src_list))  
        if 1 == len(list_shape):  
            print(src_list)  
        elif 2 == len(list_shape):  
            for i in range(list_len):  
                if 0 == i:  
                    print(‘[‘src_list[i])  
                elif (list_len - 1) == i:  
                    print(src_list[i]‘]‘)  
                else:  
                    print(src_list[i])  
        else:  
            print(src_list)  
        print(‘======\n‘)  
        return  
   
    def dump_array(self src_a src_dict_namestr):  
        ‘‘‘‘‘ 
        逐行打印array 
        :param self:类实例自身 
        :param src_a:被打印的源array 
        :return 无 
        ‘‘‘  
        print(‘\n===============‘src_dict_namestr‘===================‘)  
        a_len = len(src_a)  
        a_shape = np.shape(src_a)  
        print(‘type(‘src_dict_namestr‘):‘type(src_a))  #  
        print(‘np.shape(‘src_dict_namestr‘):‘np.shape(src_a))  
        if 1 == len(a_shape):  
            print(src_a)  
        elif 2 == len(a_shape):  
            for i in range(a_len):  
                if 0 == i:  
                    print(‘[‘src_a[i])  
                elif (a_len - 1) == i:  
                    print(src_a[i]‘]‘)  
                else:  
                    print(src_a[i])  
        else:  
            print(src_a)  
        print(‘======\n‘)  
        return  
  
  
    def print_dict(self src_dict level src_dict_namestr=‘‘):  
        ‘‘‘‘‘ 
        逐行打印dict 
        :param self:类实例自身 
        :param src_dict:被打印的dict 
        :param level:递归level,初次调用为level=0 
        :param src_dict_namestr:对象变量名称字符串 
        ‘‘‘  
        if isinstance(src_dict dict):  
            tab_str = ‘\t‘  
            for i in range(level):  
                tab_str += ‘\t‘  
            if 0 == level:  
                print(src_dict_namestr‘= {‘)  
            for key value in src_dict.items():  
                if isinstance(value dict):  
                    has_dict = False  
                    for kv in value.items():  
                        if isinstance(v dict):  
                            

评论

共有 条评论