Products
GG网络技术分享 2025-11-22 11:21 0
嘿,细小朋友们,今天我们要来聊一聊一个听起来hen厉害的东西——决策树!你兴许觉得它hen麻烦, 但别担心,我会用超级轻巧松的方式来告诉你,学决策树到底Neng不Neng让我们学会机器学的核心技Neng呢!
先说说我们要晓得啥是决策树。想象一下你有一个细小树,树叶上写着各种各样的规则,比如“Ru果下雨,就带伞”。这玩意儿树就像一个超级机灵的老师,它Neng根据你的情况给出Zui优良的觉得Neng。在机器学中,决策树就是用这些个规则来预测后来啊,比如判断你是不是会中意某个电影。

决策树NengZuo的事情可许多了!它Neng帮我们预测天气,判断病人有没有病,甚至还Neng推荐我们kan啥电影。听起来是不是hen神奇?这就是它的力量!
就像个个人dou有优良处和不优良的地方一样,决策树也有它的优良处和不优良的地方。
优良处是它hen直观,我们hen轻巧松搞懂它的规则;而且它计算起来也不麻烦,用不了太许多计算力。但是不优良的地方就是它兴许会太轻巧松,有时候不Nenghen优良地处理麻烦的问题。而且,Ru果树变得太巨大,它兴许会过于依赖训练数据,这就是我们说的“过度拟合”。
//代码示例
def createDecisionTree:
classList = for example in dataSet]
if classList.count == len:
return classList
if len == 0:
return majorityCnt
bestFeat = chooseBestFeatureToSplit
bestFeatLabel = labels
myTree = {bestFeatLabel: {}}
del
featValues = for example in dataSet]
uniqueVals = set
for value in uniqueVals:
subLabels = labels
myTree = createDecisionTree, subLabels)
return myTree
决策树在生活中的应用超级许多!比如银行Neng用它来判断贷款申请人有没有兴许按时还钱;医生Neng用它来预测病人会不会生病。 它就像一个超级英雄,在hen许多地方douNeng巨大显身手。
虚假设我们要预测一个借款人Neng不Neng按时还款。我们Neng收集他的收入、干活年限、征信记录等信息,然后让决策树根据这些个信息来判断。
虽然决策树hen有力巨大,但它有一个细小细小的管束:它不Nenghen优良地处理那些个连续的数据。比如你的身高大兴许是1.75米,它兴许就不晓得该怎么处理这玩意儿数据了。
就像前面说的,Ru果决策树变得太巨大,它兴许会过于依赖训练数据,这就是过度拟合。这时候,它兴许就不Nenghen优良地处理新鲜的数据了。
构建决策树的过程就像砍伐一棵巨大树。我们从一个巨大的节点开头,然后根据数据的情况,不断分割成geng细小的节点,直到我们找到Zui合适的分割点。这玩意儿过程需要用到hen许多数学知识,但别担心,只要我们跟着规则走,就NengZuo出一棵完美的决策树。
学决策树对我们掌握机器学的核心技Nenghen有帮。虽然它有不优良的地方,但只要我们掌握优良它的用法,就Neng让它成为我们的超级英雄!
//数据初始化 start data_init: data_set = init_data // 初始化数据集 column_set = get_columns // 获取特征列表 return data_set, column_set //获取Zui优特征 start get_best_feature: base_entropy = calculate_entropy // 计算数据集的原始信息熵 best_info_gain = 0 best_feature = -1 for feature in range-1): sub_data_sets = split_data_set new_entropy = 0 for sub_data_set in sub_data_sets: prob = len / float) new_entropy += prob * calculate_entropy info_gain = base_entropy - new_entropy if : best_info_gain = info_gain best_feature = feature return best_feature
Demand feedback