如何用Python统计决策树路径分类实例的使用次数?
Python实现决策树规则分类使用次数统计
实现思路
每个测试样本可能匹配多条规则,我们需要逐个检查样本是否满足每条规则的条件,匹配成功则对应规则的计数加1。核心步骤为:定义规则逻辑、准备测试样本、遍历匹配并统计次数。
具体代码实现
import random # 1. 定义规则集合:每个规则包含名称和判断条件 rules = [ {'name': '规则1', 'condition': lambda x, y: x < 3 and y < 5}, {'name': '规则2', 'condition': lambda x, y: x < 3 and x > 1 and y < 5}, {'name': '规则3', 'condition': lambda x, y: x < 3 and y > 2 and y < 5}, {'name': '规则4', 'condition': lambda x, y: x < 6 and y < 8}, {'name': '规则5', 'condition': lambda x, y: x < 10 and y < 10} ] # 2. 生成10个测试样本(示例用随机数模拟,可替换为真实数据集) test_samples = [(random.randint(0, 12), random.randint(0, 12)) for _ in range(10)] print("测试样本:", test_samples) # 3. 初始化规则计数器 rule_counts = {rule['name']: 0 for rule in rules} # 4. 遍历样本,检查每条规则的匹配情况并计数 for x, y in test_samples: for rule in rules: if rule['condition'](x, y): rule_counts[rule['name']] += 1 # 5. 输出统计结果 print("\n规则使用次数统计:") for rule_name, count in rule_counts.items(): print(f"{rule_name} 使用 {count} 次")
代码说明
- 规则定义:用
lambda函数封装每条规则的判断逻辑,可直接传入样本数据完成条件校验。 - 样本处理:示例用
random模块生成随机样本,实际使用时可替换为CSV读取、数据库查询等方式获取的真实测试数据。 - 计数逻辑:通过双重循环遍历所有样本与规则,只要样本满足规则条件,就给对应规则的计数加1,确保所有匹配的规则都被统计到。
内容的提问来源于stack exchange,提问作者user19563724
相关产品推荐
相关产品推荐

