建外贸网站做互联网交易网站的条件

张小明 2025/12/19 17:30:11
建外贸网站,做互联网交易网站的条件,厦门做网站seo的,所见即所得型网页制作工具机器学习决策树#xff08;Decision Tree#xff09;全面知识梳理 决策树是一种可解释性极强的监督学习算法#xff0c;核心思想是通过“分而治之”将复杂数据集按特征逐步划分#xff0c;最终形成树形结构#xff08;根节点→内部节点→叶节点#xff09;#xff0c;适…机器学习决策树Decision Tree全面知识梳理决策树是一种可解释性极强的监督学习算法核心思想是通过“分而治之”将复杂数据集按特征逐步划分最终形成树形结构根节点→内部节点→叶节点适用于分类和回归任务。本文将从基础概念、核心方法、算法对比、代码实现、案例分析等维度系统梳理兼顾理论深度与实践可操作性。一、决策树基础概念1. 树形结构组成节点类型功能描述根节点Root整个决策树的起点包含全部数据集无父节点内部节点Internal Node决策节点代表一个特征的划分如“湿度60%”有一个父节点和多个子节点叶节点Leaf Node结果节点代表最终分类标签分类任务或回归值回归任务无子女节点分支Branch节点间的连接代表特征划分的某一取值如“湿度60%”→“是”/“否”2. 核心问题决策树构建的三大核心步骤也是算法差异的关键特征选择选择最优特征作为当前节点的划分依据如信息增益、基尼系数树的构建递归划分数据集直到满足停止条件如叶节点样本纯、达到最大深度剪枝Pruning解决过拟合问题通过裁剪部分分支简化模型。二、特征选择方法核心特征选择的目标是选择“区分度最高”的特征即使划分后子数据集的“纯度”提升最大。常用指标有3类需重点掌握计算逻辑和适用场景。1. 信息增益Information Gain- ID3算法核心1基础概念熵Entropy衡量数据集的混乱程度熵值越高数据越分散纯度越低。公式二分类问题标签占比为ppp和1−p1-p1−pH(D)−plog⁡2p−(1−p)log⁡2(1−p)H(D) -p\log_2 p - (1-p)\log_2 (1-p)H(D)−plog2​p−(1−p)log2​(1−p)多分类问题H(D)−∑k1Kpklog⁡2pkH(D) -\sum_{k1}^K p_k \log_2 p_kH(D)−∑k1K​pk​log2​pk​pkp_kpk​为第kkk类样本占比条件熵Conditional Entropy按特征AAA划分后子数据集的平均熵。公式H(D∣A)∑i1n∣Di∣∣D∣H(Di)H(D|A) \sum_{i1}^n \frac{|D_i|}{|D|} H(D_i)H(D∣A)i1∑n​∣D∣∣Di​∣​H(Di​)其中DiD_iDi​是特征AAA取第iii个值的子数据集∣Di∣|D_i|∣Di​∣为子数据集大小∣D∣|D|∣D∣为总数据集大小。信息增益划分后熵的减少量增益越大特征区分度越强。公式IG(D,A)H(D)−H(D∣A)IG(D,A) H(D) - H(D|A)IG(D,A)H(D)−H(D∣A)2计算案例天气数据集假设数据集DDD共14条样本标签为“是否打球”是9条否5条特征AAA为“天气”取值晴、阴、雨子数据集分布晴D1D_1D1​5条是2否3→H(D1)−2/5log⁡2(2/5)−3/5log⁡2(3/5)≈0.971H(D_1) -2/5\log_2(2/5) - 3/5\log_2(3/5) ≈ 0.971H(D1​)−2/5log2​(2/5)−3/5log2​(3/5)≈0.971阴D2D_2D2​4条是4否0→H(D2)0H(D_2) 0H(D2​)0纯节点雨D3D_3D3​5条是3否2→H(D3)−3/5log⁡2(3/5)−2/5log⁡2(2/5)≈0.971H(D_3) -3/5\log_2(3/5) - 2/5\log_2(2/5) ≈ 0.971H(D3​)−3/5log2​(3/5)−2/5log2​(2/5)≈0.971计算过程原始熵H(D)−9/14log⁡2(9/14)−5/14log⁡2(5/14)≈0.940H(D) -9/14\log_2(9/14) - 5/14\log_2(5/14) ≈ 0.940H(D)−9/14log2​(9/14)−5/14log2​(5/14)≈0.940条件熵H(D∣天气)(5/14)×0.971(4/14)×0(5/14)×0.971≈0.693H(D|天气) (5/14)×0.971 (4/14)×0 (5/14)×0.971 ≈ 0.693H(D∣天气)(5/14)×0.971(4/14)×0(5/14)×0.971≈0.693信息增益IG(D,天气)0.940−0.6930.247IG(D,天气) 0.940 - 0.693 0.247IG(D,天气)0.940−0.6930.2472. 信息增益比Information Gain Ratio- C4.5算法核心1问题解决信息增益倾向于选择取值较多的特征如“身份证号”这类特征可能划分出纯节点但泛化能力差。信息增益比通过“惩罚特征取值数”解决该问题。2公式IGR(D,A)IG(D,A)IV(A)IGR(D,A) \frac{IG(D,A)}{IV(A)}IGR(D,A)IV(A)IG(D,A)​其中IV(A)IV(A)IV(A)为特征AAA的“固有值”Intrinsic Value取值数越多IV(A)IV(A)IV(A)越大IV(A)−∑i1n∣Di∣∣D∣log⁡2∣Di∣∣D∣IV(A) -\sum_{i1}^n \frac{|D_i|}{|D|} \log_2 \frac{|D_i|}{|D|}IV(A)−i1∑n​∣D∣∣Di​∣​log2​∣D∣∣Di​∣​3案例延续特征“天气”的IV(A)IV(A)IV(A)计算IV(天气)−5/14log⁡2(5/14)−4/14log⁡2(4/14)−5/14log⁡2(5/14)≈1.585IV(天气) -5/14\log_2(5/14) -4/14\log_2(4/14) -5/14\log_2(5/14) ≈ 1.585IV(天气)−5/14log2​(5/14)−4/14log2​(4/14)−5/14log2​(5/14)≈1.585信息增益比IGR(D,天气)0.247/1.585≈0.156IGR(D,天气) 0.247 / 1.585 ≈ 0.156IGR(D,天气)0.247/1.585≈0.1563. 基尼系数Gini Index- CART算法核心1基础概念基尼系数衡量数据集的“不纯度”反映随机抽取两个样本标签不同的概率取值范围[0,1][0,1][0,1]值越小纯度越高。公式二分类Gini(D)1−∑k12pk2Gini(D) 1 - \sum_{k1}^2 p_k^2Gini(D)1−k1∑2​pk2​多分类Gini(D)1−∑k1Kpk2Gini(D) 1 - \sum_{k1}^K p_k^2Gini(D)1−k1∑K​pk2​2条件基尼系数按特征AAA划分后子数据集的平均基尼系数Gini(D∣A)∑i1n∣Di∣∣D∣Gini(Di)Gini(D|A) \sum_{i1}^n \frac{|D_i|}{|D|} Gini(D_i)Gini(D∣A)i1∑n​∣D∣∣Di​∣​Gini(Di​)3案例延续数据集DDD的基尼系数Gini(D)1−(9/14)2−(5/14)2≈0.459Gini(D) 1 - (9/14)^2 - (5/14)^2 ≈ 0.459Gini(D)1−(9/14)2−(5/14)2≈0.459特征“天气”的条件基尼系数Gini(D∣天气)(5/14)×[1−(2/5)2−(3/5)2](4/14)×[1−(4/4)2−(0/4)2](5/14)×[1−(3/5)2−(2/5)2]≈0.321Gini(D|天气) (5/14)×[1-(2/5)^2-(3/5)^2] (4/14)×[1-(4/4)^2-(0/4)^2] (5/14)×[1-(3/5)^2-(2/5)^2] ≈ 0.321Gini(D∣天气)(5/14)×[1−(2/5)2−(3/5)2](4/14)×[1−(4/4)2−(0/4)2](5/14)×[1−(3/5)2−(2/5)2]≈0.3214. 特征选择指标对比指标核心算法优点缺点适用场景信息增益ID3计算简单直观反映纯度提升偏好取值多的特征易过拟合特征取值较少的分类任务信息增益比C4.5修正信息增益的偏差鲁棒性强计算稍复杂极端情况下可能偏向取值少的特征多分类任务特征取值不均基尼系数CART计算效率高无需对数运算对纯度变化的敏感度略低于信息增益分类回归任务大规模数据三、决策树构建算法ID3/C4.5/CART1. 三大核心算法对比维度ID3算法1986C4.5算法1993CART算法1984核心指标信息增益信息增益比基尼系数分类/ 平方误差回归适用任务仅分类仅分类分类回归特征类型离散特征离散连续自动离散化离散连续缺失值处理不支持支持按样本权重分配支持填充或按比例划分树结构多叉树特征取值数分支数多叉树二叉树所有特征划分为“是/否”分支剪枝策略无需手动限制深度后剪枝代价复杂度剪枝预剪枝后剪枝代价复杂度剪枝优点简单高效易实现鲁棒性强适用场景广通用性强训练速度快支持回归缺点易过拟合不支持连续/缺失值训练速度较慢对数运算剪枝分类任务中对纯度的捕捉略逊于C4.52. 算法构建步骤通用框架以分类决策树为例递归构建流程输入数据集DDD特征集AAA停止条件终止条件满足任一则生成叶节点子数据集DDD中所有样本标签相同纯节点特征集AAA为空或所有样本的特征取值相同无法划分子数据集大小≤最小样本数阈值特征选择计算特征集AAA中每个特征的指标信息增益/增益比/基尼系数选择最优特征A∗A^*A∗划分数据集按A∗A^*A∗的所有取值CART为二叉划分将DDD拆分为子数据集D1,D2,...,DnD_1,D_2,...,D_nD1​,D2​,...,Dn​递归构建对每个子数据集以A−A∗A-A^*A−A∗为新特征集重复步骤2-4生成子树剪枝优化裁剪冗余分支提升泛化能力。四、剪枝方法解决过拟合决策树过拟合表现为“树深度过深、叶节点过多”对训练集精度极高但泛化能力差。剪枝是决策树优化的核心步骤分为预剪枝和后剪枝。1. 预剪枝Pre-pruning1核心思想在树构建过程中提前终止生长避免冗余分支生成。2常用策略策略具体做法限制最大深度设定树的最大深度如max_depth5达到深度后强制生成叶节点最小样本数限制设定叶节点最小样本数如min_samples_leaf5样本数不足则停止划分最小划分样本数设定内部节点最小样本数如min_samples_split10样本数不足则不划分最大特征数限制每次划分时最多考虑的特征数如max_featuressqrt(n_features)3优缺点优点计算效率高避免冗余计算缺点可能欠拟合终止条件设置过严。2. 后剪枝Post-pruning1核心思想先构建完整的决策树允许过拟合再通过“代价复杂度”裁剪冗余分支。2核心算法代价复杂度剪枝CCP定义“树的代价复杂度”为Cα(T)C(T)α∣T∣C_\alpha(T) C(T) \alpha |T|Cα​(T)C(T)α∣T∣C(T)C(T)C(T)树TTT的训练误差分类误分类率回归平方误差∣T∣|T|∣T∣树TTT的叶节点数α\alphaα正则化参数α\alphaα越大剪枝越彻底。3剪枝步骤计算每个子树的“剪枝收益”GainC(T)−C(T′)∣T′∣−1Gain \frac{C(T) - C(T)}{|T| - 1}Gain∣T′∣−1C(T)−C(T′)​T′TT′为剪枝后的子树选择收益最小的子树进行裁剪即剪枝后误差增加最少重复步骤1-2直到α\alphaα达到阈值或树只剩根节点4优缺点优点泛化能力强欠拟合风险低缺点计算复杂度高需构建完整树迭代剪枝。3. 剪枝方法对比维度预剪枝后剪枝时机树构建中树构建后计算效率高低泛化能力中等易欠拟合高不易欠拟合实现难度简单参数调优复杂需计算代价复杂度常用场景快速原型开发大规模数据高精度需求小批量数据五、决策树实践PythonScikit-learn以“鸢尾花分类”分类任务和“波士顿房价回归”回归任务为例提供带注释和无注释两个版本的代码。1. 分类决策树CART算法1带注释版本# 1. 导入库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_irisfromsklearn.treeimportDecisionTreeClassifier,plot_treefromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccuracy_score,classification_report# 2. 加载数据鸢尾花数据集3类花4个特征dataload_iris()Xdata.data# 特征花萼长度、花萼宽度、花瓣长度、花瓣宽度ydata.target# 标签0山鸢尾1变色鸢尾2维吉尼亚鸢尾# 3. 划分训练集/测试集7:3X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42# random_state保证结果可复现)# 4. 初始化模型CART分类树dt_clfDecisionTreeClassifier(criteriongini,# 特征选择指标基尼系数max_depth3,# 预剪枝最大深度3min_samples_leaf5,# 预剪枝叶节点最小样本数5random_state42)# 5. 训练模型dt_clf.fit(X_train,y_train)# 6. 预测y_preddt_clf.predict(X_test)# 7. 评估模型accuracyaccuracy_score(y_test,y_pred)reportclassification_report(y_test,y_pred,target_namesdata.target_names)print(f测试集准确率{accuracy:.4f})print(分类报告)print(report)# 8. 可视化决策树可解释性核心plt.figure(figsize(12,8))plot_tree(dt_clf,feature_namesdata.feature_names,class_namesdata.target_names,filledTrue,# 节点填充颜色按类别区分roundedTrue,# 节点圆角fontsize10)plt.title(Iris Dataset Decision Tree (CART),fontsize14)plt.show()2无注释版本importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_irisfromsklearn.treeimportDecisionTreeClassifier,plot_treefromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportaccuracy_score,classification_report dataload_iris()X,ydata.data,data.target X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42)dt_clfDecisionTreeClassifier(criteriongini,max_depth3,min_samples_leaf5,random_state42)dt_clf.fit(X_train,y_train)y_preddt_clf.predict(X_test)accuracyaccuracy_score(y_test,y_pred)reportclassification_report(y_test,y_pred,target_namesdata.target_names)print(f测试集准确率{accuracy:.4f})print(分类报告)print(report)plt.figure(figsize(12,8))plot_tree(dt_clf,feature_namesdata.feature_names,class_namesdata.target_names,filledTrue,roundedTrue,fontsize10)plt.title(Iris Dataset Decision Tree (CART),fontsize14)plt.show()2. 回归决策树CART算法1带注释版本# 1. 导入库importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_bostonfromsklearn.treeimportDecisionTreeRegressor,plot_treefromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_error,r2_score# 2. 加载数据波士顿房价数据集13个特征预测房价中位数dataload_boston()Xdata.data ydata.target# 3. 划分训练集/测试集X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42)# 4. 初始化回归树模型dt_regDecisionTreeRegressor(criterionsquared_error,# 回归指标均方误差MSEmax_depth4,# 预剪枝最大深度4min_samples_leaf10,# 预剪枝叶节点最小样本数10random_state42)# 5. 训练模型dt_reg.fit(X_train,y_train)# 6. 预测y_preddt_reg.predict(X_test)# 7. 评估模型回归任务常用指标msemean_squared_error(y_test,y_pred)rmsenp.sqrt(mse)r2r2_score(y_test,y_pred)print(f测试集MSE{mse:.4f})print(f测试集RMSE{rmse:.4f})print(f测试集R²{r2:.4f})# 8. 可视化回归树plt.figure(figsize(15,10))plot_tree(dt_reg,feature_namesdata.feature_names,filledTrue,roundedTrue,fontsize8)plt.title(Boston Housing Price Regression Tree (CART),fontsize14)plt.show()2无注释版本importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_bostonfromsklearn.treeimportDecisionTreeRegressor,plot_treefromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_error,r2_score dataload_boston()X,ydata.data,data.target X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42)dt_regDecisionTreeRegressor(criterionsquared_error,max_depth4,min_samples_leaf10,random_state42)dt_reg.fit(X_train,y_train)y_preddt_reg.predict(X_test)msemean_squared_error(y_test,y_pred)rmsenp.sqrt(mse)r2r2_score(y_test,y_pred)print(f测试集MSE{mse:.4f})print(f测试集RMSE{rmse:.4f})print(f测试集R²{r2:.4f})plt.figure(figsize(15,10))plot_tree(dt_reg,feature_namesdata.feature_names,filledTrue,roundedTrue,fontsize8)plt.title(Boston Housing Price Regression Tree (CART),fontsize14)plt.show()3. 关键参数说明Scikit-learn参数作用分类/回归适用criterion特征选择指标gini/entropy/squared_error两者max_depth树的最大深度预剪枝两者min_samples_split内部节点划分的最小样本数两者min_samples_leaf叶节点的最小样本数两者max_features划分时考虑的最大特征数两者random_state随机种子保证结果可复现两者六、决策树优缺点与延伸方向1. 优点可解释性极强树形结构直观可直接输出决策规则如“花瓣长度5.1cm → 维吉尼亚鸢尾”无需特征预处理对特征缩放、归一化不敏感支持离散/连续特征训练速度快基于贪心算法无需迭代优化支持多任务可同时处理分类和回归任务。2. 缺点易过拟合无剪枝时容易生成深度过大的树泛化能力差对噪声敏感数据微小变化可能导致树结构大幅改变不擅长处理线性关系对“X1X25”这类线性特征组合的捕捉能力弱多分类任务精度有限单棵决策树在复杂分类任务中表现不如集成算法。3. 延伸方向集成学习决策树是集成算法的基础通过“多棵树组合”弥补单棵树的缺陷随机森林Random Forest多棵决策树并行训练通过投票/平均降低方差梯度提升树GBDT多棵决策树串行训练每棵树修正前一棵树的误差XGBoost/LightGBM/CatBoost优化的梯度提升树兼顾精度和训练速度工业界广泛应用。七、总结决策树是机器学习中“入门简单、深入复杂”的核心算法核心在于特征选择、树的构建和剪枝三大步骤。掌握ID3/C4.5/CART的差异、特征选择指标的计算逻辑、剪枝策略的应用能为后续学习集成算法打下坚实基础。实践中需根据数据特点选择算法分类用C4.5/CART回归用CART通过调优预剪枝参数max_depth、min_samples_leaf或后剪枝CCP避免过拟合同时利用可视化工具plot_tree挖掘决策规则发挥其可解释性优势。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

四川建设行政主管部门官方网站wordpress循环评论

你是不是也遇到过这样的困扰?在Windows上精心设计的PDF文档,到了macOS上字体就变得乱七八糟,或者在Linux服务器上生成的PDF总是缺少某些特殊字符?😫 作为一名开发者,PDF跨平台兼容性问题确实让人头疼不已&a…

张小明 2025/12/19 17:28:10 网站建设

网站关键词推广优化全网营销实例

深入剖析 JVM 核心底层:从内存结构到垃圾回收的完整逻辑作为 Java 生态的 “运行基石”,JVM 的底层机制直接决定了程序的稳定性、性能上限与资源利用率。本文将从 ** 内存结构(栈帧深度解析)、运行机制(javap 实战&…

张小明 2025/12/19 17:26:09 网站建设

金融网站织梦模板弄网站赚钱吗

人才需求很明显的导致薪酬水平的变化。数据显示,网络安全领域的薪酬近年来稳步增长,2021年上半年,网络安全领域的平均招聘薪酬达到22387元/月,较去年同期提高了4.85%,相较于全行业的平均工资偏高。 很多公司希望通过招…

张小明 2025/12/19 17:24:06 网站建设

广州网站建设q.479185700棒wordpress 图片 并排

第一章:GraphQL的PHP缓存策略概述在构建高性能的GraphQL API时,缓存是提升响应速度和降低服务器负载的关键机制。PHP作为广泛应用的服务端语言,结合GraphQL实现高效缓存策略,能够显著优化数据查询性能。合理的缓存设计不仅能减少数…

张小明 2025/12/19 17:22:04 网站建设

青岛免费网站建设嘉峪关市网站建设设计

Llama 3.3 70B模型推理异常:从诊断到优化的完整技术路线 【免费下载链接】text-generation-inference text-generation-inference - 一个用于部署和提供大型语言模型(LLMs)服务的工具包,支持多种流行的开源 LLMs,适合需…

张小明 2025/12/19 17:18:01 网站建设

一个网站如何做推广方案想自己做个公司网站不知道怎么做

摘要 随着电子商务的快速发展,手机销售行业逐渐成为线上消费的重要领域。消费者对便捷、高效的购物体验需求日益增长,传统的线下销售模式已无法满足市场需求。手机销售网站信息管理系统的开发旨在解决这一问题,通过数字化手段实现商品管理、订…

张小明 2025/12/19 17:15:59 网站建设