决策树转规则

本文探讨了在决策和分类任务中,如何通过构建少量节点的决策树模型来找到易于理解和运营的规则。这种方法既避免了手动编写规则的复杂性,也解决了复杂机器学习模型如逻辑回归在解释性方面的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


有些决策、分类的规则,手写比较麻烦,但用机器学习模型,比如LR搞的话又比较难运营和理解。这时,通过少node的决策树模型来做,并将其生成规则,是一个折衷的解决方案。


import numpy as np
from sklearn.tree import DecisionTreeRegressor
from sklearn.tree import _tree

trainx = []
trainy = []
with open('vm06.xy') as fd:
    fdl = fd.readline()
    while len(fdl) > 0:
        v = fdl.split(' ')
        trainx.append(np.asarray([float(v[2]), float(v[3]), float(v[4]), float(v[5].strip())])) #v[2]~v[5]是特征
        trainy.append(float(v[1]) > 60) #v[1]的值用于分类,大于60为True,小于等于60为False
        fdl = fd.readline()

regressor = DecisionTreeRegressor(max_leaf_nodes=8)
regressor.fit(np.asarray(trainx), np.asarray(trainy))

res = regressor.predict(trainx[39:51])
print (res, trainy[39:51])

def tree_to_code(tree, feature_names):
    tree_ = tree.tree_
    feature_name = [
        feat
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值