""" 数据样本展示: #x1,x2,x3, Y 是,单身,125,否 否,已婚,100,否 否,单身,100,否 是,已婚,110,否 是,离婚,60,否 否,离婚,95,是 否,单身,85,是 否,已婚,75,否 否,单身,90,是 是,离婚,220,否 """
import numpy as np import pandas as pd def entropy(p): """ 信息熵的计算公式 :param p: :return: """ return np.sum([-t * np.log2(t) for t in p]) def gini(p): """ Gini系数的计算公式 :param p: :return: """ return 1-np.sum([t * t for t in p]) def error(p): """ 错误率de公式 :param p: :return: """ return 1-np.max(p) def h(p): """ 决策树中对节点纯度的衡量 :param p: :return: """ return entropy(p) # return gini(p) # return error(p)
""" 找分割点,若先计算x3的信息增益;x3的概率占比:要设置分届阈值,因为它是连续特征 以年收入97.5作为x3的划分值 """ # 第一步&#