决策树-计算信息熵

#计算含有缺失值的信息熵, 不同之处是每个样本带有权重
''' 
weight 代表每个样本的权重
d_v 表示包含数据的 DataFrame
label 表示标签列的名称,默认为好瓜。
'''
def calEntroWithNull(weight,d_v:pd.DataFrame,label='好瓜'):
    #获取标签列中的唯一值(分类列表)
    classlist = d_v[label].unique()
    #初始信息熵=0
    ret_entro = 0
    #过类目表
    for k in classlist:
        #分类的概率
        prob_k = sum(weight[(d_v[label]==k)]) / sum(weight)
        # print('p_k : ',sum(weight[(d_v[label]==k)]),'/',sum(weight),'=',prob_k)
        ret_entro -= prob_k*np.log2(prob_k)

    return ret_entroA

这段代码是用来计算在给定数据集中,针对某一特征(比如'好瓜'),以及对应的权重,计算其信息熵。信息熵是用来衡量数据的不确定性的指标,当信息熵越高时,数据的不确定性也越大。

具体来说,这段代码做了以下几件事情:

  1. 获取特征列中的唯一值(分类列表)
  2. 遍历每个分类,计算该分类的概率
  3. 根据公式计算信息熵
  4. 返回计算得到的信息熵值

其中,参数weight是每个样本的权重,d_v是包含数据的DataFrame,label是指定的特征列名(默认为'好瓜')。在代码中,使用了numpy库中的log2函数来计算对数。

相关推荐

  1. 决策-计算信息

    2024-03-27 06:52:06       18 阅读
  2. 决策学习-计算数据集的信息

    2024-03-27 06:52:06       18 阅读
  3. 决策相关算法_ID3_C45_信息_剪枝

    2024-03-27 06:52:06       37 阅读
  4. c++计算DNA序列信息代码

    2024-03-27 06:52:06       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 06:52:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 06:52:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 06:52:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 06:52:06       18 阅读

热门阅读

  1. 决策树学习心得

    2024-03-27 06:52:06       16 阅读
  2. Stable Diffusion 本地部署教程

    2024-03-27 06:52:06       20 阅读
  3. 压力测试(QPS)及测试工具Locust

    2024-03-27 06:52:06       18 阅读
  4. Spark SizeTrackingAppendOnlyMap 相关源代码分析

    2024-03-27 06:52:06       16 阅读
  5. Stable Diffusion XL之核心基础内容

    2024-03-27 06:52:06       16 阅读
  6. k8s 的资源清单

    2024-03-27 06:52:06       17 阅读
  7. 图论相关代码(matlab)

    2024-03-27 06:52:06       17 阅读
  8. Mac OS中Git版本更新(亲测有效)

    2024-03-27 06:52:06       17 阅读
  9. Odoo自动化动作

    2024-03-27 06:52:06       15 阅读
  10. spring boot3 解决跨域几种方式

    2024-03-27 06:52:06       18 阅读
  11. caffe | undefined reference to google protobuf

    2024-03-27 06:52:06       16 阅读
  12. Flink SQL填坑记3:两个kafka数据关联查询

    2024-03-27 06:52:06       17 阅读
  13. react native hooks 如何避免重复请求

    2024-03-27 06:52:06       16 阅读
  14. AI绘画自动生成器平台有哪些

    2024-03-27 06:52:06       16 阅读