(self , datasets ,targets , attr , split_value)
return c1 / c1_count , c2/ c2_count if c1 == 0 or c2 == 0 else None,None
根据分裂点，得到两个部分的target目标值
            param:datasets:class 训练数据集
            param:targets:list 训练数据对应的目标值list
            param:attr:int 训练属性坐标
            param:split_value:float 属性分裂值
            return:数据集中大于split_value值属性的训练target目标平均值c1 , 数据集attr属性中小于等于spliit_value属性的训练target目标平均值c2
            raise:None
根据分裂点，得到两个部分的target目标值
            param:datasets:class 训练数据集
            param:targets:list 训练数据对应的目标值list
            param:attr:int 训练属性坐标
            param:split_value:float 属性分裂值
            return:数据集中大于split_value值属性的训练target目标平均值c1 , 数据集attr属性中小于等于spliit_value属性的训练target目标平均值c2
            raise:None
根据分裂点，得到两个部分的target目标值 param : datasets : class 训练数据集 param : targets : list 训练数据对应的目标值list param : attr : int 训练属性坐标 param : split_value : float 属性分裂值 return : 数据集中大于split_value值属性的训练target目标平均值c1 数据集attr属性中小于等于spliit_value属性的训练target目标平均值c2 raise : None
def get_target_avg(self , datasets ,targets , attr , split_value):
        """根据分裂点，得到两个部分的target目标值
            param:datasets:class 训练数据集
            param:targets:list 训练数据对应的目标值list
            param:attr:int 训练属性坐标
            param:split_value:float 属性分裂值
            return:数据集中大于split_value值属性的训练target目标平均值c1 , 数据集attr属性中小于等于spliit_value属性的训练target目标平均值c2
            raise:None
        """
        c1 , c2 = 0., 0.
        c1_count , c2_count = 0, 0
        for i in xrange(len(datasets)):
            if datasets[i][attr] is None:
                continue
            if datasets[i][attr] > split_value:
                c1 += targets[i]
                c1_count += 1
            else:
                c2 += targets[i]
                c2_count += 1
        return c1 / c1_count , c2/ c2_count if c1 == 0 or c2 == 0 else None,None
def get_target_avg ( self , datasets , targets , attr , split_value ) : c1 , c2 = 0. , 0. c1_count , c2_count = 0 , 0 for i in xrange ( len ( datasets ) ) : if datasets [ i ] [ attr ] is None : continue if datasets [ i ] [ attr ] > split_value : c1 += targets [ i ] c1_count += 1 else : c2 += targets [ i ] c2_count += 1 return c1 / c1_count , c2 / c2_count if c1 == 0 or c2 == 0 else None , None