Python 实现:计算样本标签信息熵及色泽浅白样本对应标签信息熵
```python import math def calculate_entropy(label): """ 此函数用于计算输入标签的信息熵 :param label: 包含所有样本的 0,1 标签 :return: 信息熵的值 """ num_0 = label.count(0) num_1 = label.count(1) total = len(label) p_0 = num_0 / total p_1 = num_1 / total if p_0 == 0 or p_1 == 0: entropy = 0 else: entropy = - (p_0 * math.log2(p_0) + p_1 * math.log2(p_1)) return entropy def calculate_entropy_for_light_white_samples(data): """ 此函数用于计算色泽为浅白的样本对应标签的信息熵 :param data: 数据集 :return: 信息熵的值 """ light_white_samples = [sample for sample in data if sample['color'] == '浅白'] light_white_labels = [sample['label'] for sample in light_white_samples] return calculate_entropy(light_white_labels) ``` 额外需要注意的逻辑点: 1. 确保输入的 `label` 数据格式正确,只包含 0 和 1 。 2. 处理可能出现的样本数量为 0 的情况,避免计算对数时出现错误。 3. 对于数据集 `data` ,要确保其中包含 `color` 和 `label` 这两个字段。 ######[AI写代码神器 | 359点数解答 | 2024-11-26 21:18:12]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)498
- 求解四人等差数列年龄:和为 26 积为 880 的答案揭秘(DeepSeek | 735点数解答 | 2026-02-01 09:36:08)38
- C++求解:年龄成等差数列、和为26积为880的四人年龄组合(字节豆包 | 503点数解答 | 2026-02-01 09:36:35)79
- Java:抽象类 Vehicle 及子类 Car、MotorBike 实战演示(讯飞星火 | 440点数解答 | 2024-06-06 23:18:54)334
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)382
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)394
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)382
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)451
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)443
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)352
- 用 NumPy 查看二维数组维数、行列数并调整为 2 行 6 列(讯飞星火 | 142点数解答 | 2024-10-12 21:48:05)279
- 用 NumPy 查看二维数组维数、行列数并调整为 2 行 6 列(百度文心 | 451点数解答 | 2024-10-12 21:54:35)284