René's URL Explorer Experiment


Title: 一文通俗讲透树模型 · Issue #47 · aialgorithm/Blog · GitHub

Open Graph Title: 一文通俗讲透树模型 · Issue #47 · aialgorithm/Blog

X Title: 一文通俗讲透树模型 · Issue #47 · aialgorithm/Blog

Description: 前言 决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。 不同于线性模型【数学描述:f(W*X +b)】,是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后(这提高了模型的非线性能力),再做出决策。 一、树模型的概括 决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单判别西瓜质量的决策树模型示例(注:以下西瓜示例,数据随机杜撰的,请忽略这么小的西...

Open Graph Description: 前言 决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。 不同于线性模型【数学描述:f(W*X +b)】,是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后(这提高了模型的非线性能力),再做出决策。 一、树模型的概括 决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单...

X Description: 前言 决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。 不同于线性模型【数学描述:f(W*X +b)】,是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后(这提高了模型的非线性能力),再做出决策。 一、树模型的概括 决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单...

Opengraph URL: https://github.com/aialgorithm/Blog/issues/47

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"一文通俗讲透树模型","articleBody":"## 前言\r\n\r\n决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-ca229cef16d7260d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n不同于线性模型【数学描述:f(W*X +b)】,是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后(这提高了模型的非线性能力),再做出决策。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-51175299beda25ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n## 一、树模型的概括\r\n\r\n决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单判别西瓜质量的决策树模型示例(注:以下西瓜示例,数据随机杜撰的,请忽略这么小的西瓜瓜~):\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-778e69c330ee8c50.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n学习这样树模型的过程,简单来说就是从有监督的数据经验中学习**一个较优的树模型的结构:包含了依次地选择特征、确定特征阈值做划分的内部节点及最终输出叶子节点的数值或类别结果**。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-d96f1602e153c4b0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n\r\n\r\n- 1、我们首先要拿到一些有关西瓜的**有监督数据**(这些西瓜样本已有标注高/低质量西瓜),并尝试选用决策树模型来学习这个划分西瓜的任务。\r\n如下数据样本示例:\r\n![](https://upload-images.jianshu.io/upload_images/11682271-d2df52bb03d8e423.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n- 2、后面也就是,凭着已知西瓜样本的特性/特征【如:西瓜重量、西瓜颜色】,学习如何正确地划分这些西瓜(归纳出本质规律)。开始学习之前,我们得确定一个树模型在生长的目标(**学习的目标**)。**简单来说,也就是在当前节点以什么为目标来指导怎么选择特征及分裂,而划分得好也就是要划分出的各组的准确率(纯度)都比较高**。\r\n\r\n- 3、然后,根据学习目标,简单的我们可以通过遍历计算所有特征不同阈值的划分效果。选择各个的特征及尝试特征的所有实际取值,看以哪个特征阈值划分西瓜质量的效果较好。这个过程也就是确定**选择特征及特征阈值划分的优化算法**。\r\n\r\n- 4、最终的,按照上面的步骤,我们逐个特征及取值试着去划分后发现,根据西瓜重量的特征 以300g作为划分出了两组,我们以**叶子节点的大多数类作为该节点的决策类别**。可能发现\u003c300的组 里面低质量西瓜占比100%,\u003e300 那组 高质量西瓜占比99%,整体分类效果是不错的,最终就确定下了这样的一个决策树模型。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-823683438577d26a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n## 二、树模型的要素\r\n\r\n从上述例子,我们可以将树模型的学习可以归到经典机器学习的4个要素:\r\n- 2.0 已知(标签)的数据\r\n- 2.1 树模型的分段函数结构(特征划分+决策结果)\r\n- 2.2 学习目标\r\n- 2.3 优化算法\r\n\r\n树模型通过这几个要素,更快更好地划分特征空间,得出比较准确的决策。如下对这几个要素具体解析。\r\n\r\n### 2.1 树模型的结构\r\n树模型的结构也就是个分段函数,包含了 选定特征做阈值划分(内部节点),以及划分后赋值的分数或类别决策(叶子节点)。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-05f569d259a59613.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n#### 2.1.1学习树结构的过程\r\n\r\n学习树模型的关键在于依据某些学习目标/指标(如划分准确度、信息熵、Gini不纯度、均方误差的增益量)去选择当前最优的特征并对样本的特征空间做非线性准确的划分,如上面西瓜的例子选择了一个特征做了一次划分(一刀切),通常情况下仅仅一刀切的划分准确度是不够的,可能还要在前面划分的样本基础上,继续多划分几次(也就多个切分条件的分段函数,如 if a\u003e300 且特征b\u003e10 且特征c\u003c100, then 决策结果1;),以达到更高的准确度(纯度)。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-f5f8017e82f43d6a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n但是,随着切分次数的变多,树的复杂度提高也就容易过拟合,相应每个切分出的小子特征空间的统计信息可能只是噪音。减少树生长过程的过拟合的风险,一个重要的方法就是**树的剪枝**,剪枝是一种正则化:由于决策树容易对数据产生过拟合,即生长出结构过于复杂的树模型,这时局部的特征空间会越分越“小”得到了不靠谱的“统计噪声”。通过剪枝算法可以降低复杂度,减少过拟合的风险。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-48fcc34cced0cc74.image?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\u003e决策树剪枝的目的是极小化经验损失+结构损失,基本策略有”预剪枝“和”后剪枝“两种策略:\r\n**①预剪枝**:是在决策树生成过程中,限制划分的最大深度、叶子节点数和最小样本数目等,以减少不必要的模型复杂度;\r\n**②后剪枝**:是先从训练集生成一棵完整的决策树,然后用用验证集自底向上地对非叶结点进行考察,若将该节点对应的子树替换为叶子结点(剪枝)能带来决策树的泛化性能提升(即目标函数损失更小,常用目标函数如:loss = 模型经验损失bias+ 模型结构损失α|T|, T为节点数目, α为系数),则将该子树替换为叶子结点。\r\n\r\n#### 2.1.2 复杂树结构的进阶\r\n\r\n- 树模型的集成学习\r\n\r\n实践中可以发现,浅层的树很容易欠拟合,而通过加深树的深度,虽然可以提高训练集的准确度,却很容易过拟合。\r\n\r\n这个角度来看,单个树模型是比较弱的,且很容易根据特征选择、深度等超参数调节各树模型的多样性。正因为这些特点,决策树很适合通过**结合多个的树模型做集成学习进一步提升模型效果。**\r\n\r\n**集成学习**是结合一些的基学习器共同学习,来改进其泛化能力和鲁棒性的方法,主流的有两种集成思想:\r\n\r\n1. 并行方式(bagging):独立的训练一些基学习器,然后(加权)平均它们的预测结果。代表模型如:Random Forests;\r\n![](https://upload-images.jianshu.io/upload_images/11682271-031e0b834202ae2e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n2. 串行方式(boosting):一个接一个的(串行)训练基学习器,每一个基学习器主要用来修正前面学习器的偏差。代表模型如:AdaBoost、GBDT及XGBOOST;\r\n(扩展:像基于cart回归树的GBDT集成方法,通过引入了损失函数的梯度去代替残差,这个过程也类似局部的梯度下降算法)\r\n![](https://upload-images.jianshu.io/upload_images/11682271-e61e1d480f8155dc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n- 线性决策树\r\n\r\n树模型天然具有非线性的特点,但与此有个缺陷,树模型却学习不好简单的线性回归!可以简单构想下传统决策树表达 y=|2x|这样规律,需要怎么做?如` if x=1,then 2;  x =3, then 6 .....;`这样穷举显然不可能的。 这里介绍下线性决策树,其实原理也很简单:把线性回归加到决策树的叶子节点里面(特征划分完后,再用线性模型拟合做决策)。一个简单线性树模型用分段函数来表示如:`if x \u003e0,  then 2x;`代表模型有 linear decision tree, GBDT-PL等模型。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-5c369d24d5d068d8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n\r\n### 2.2 学习目标(目标函数)\r\n\r\n上文有提到,树模型的学习目标就是让**各组的划分的准确率(纯度)都比较高,减小划分误差损失(此处忽略了结构损失T)**。能达成划分前后损失差异效果类似的指标有很多:信息熵、基尼系数、MSE损失函数等等 都可以评估划分前后的纯度的增益 ,其实都是对分类误差的一种衡量,不同指标也对应这不同类型的决策树方法。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-0895503543137f1d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n- ID3决策树的指标:信息增益(information gain)\r\n信息增益定义为集合 D 的经验熵 H(D) 与特征 A 给定条件下 D 的经验条件熵 H(D|A) 之差,也就是信息熵减去条件信息熵,表示得知特征X的信息而使得Y的信息的不确定性减少的程度(信息增益越大,表示已知X的情况下, Y基本就确定了)。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-4ecd4af952cb1e39.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n\u003e使用信息增益做特征划分的缺点是:信息增益偏向取值较多的特征。当特征的取值较多时,根据此特征划分更容易得到纯度更高的子集,因此划分之后的熵更低,由于划分前的熵是一定的,因此信息增益更大,因此信息增益比较偏向取值较多的特征。\r\n\r\n- C4.5决策树的指标:信息增益比\r\n\r\n信息增益比也就是信息增益除以信息熵,这样可以减少偏向取值较多信息熵较大的特征。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-47e0a8a4b7260833.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n\u003e相应的,使用信息增益比缺点是:信息增益比偏向取值较少的特征。综上两种指标,可以在候选特征中找出信息增益高于平均水平的特征,然后在这些特征中再选择信息增益率最高的特征。   \r\n\r\n- Cart决策树的指标:基尼系数(分类树) 或 平方误差损失(回归)\r\n\r\n与信息熵一样(信息熵 如下式)\r\n![](https://upload-images.jianshu.io/upload_images/11682271-5760bf5f00b896da.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n基尼系数表征的也是事件的不确定性(不纯度),也都可以看做是对**分类误差率的衡量**。\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-9d6505b40922e671.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n​我们将熵定义式中的“-log(pi)”替换为 1-pi 也就是基尼系数,因为-log(pi)的泰勒近似展开第一项就是1-pi。基尼系数简单来看就是熵的“平替版”,在衡量分类误差的同时,也简化了大量计算。(注:由于分类误差为分段函数=1-max(p, 1-p) ,不便于微分计算,实际中也比较少直接用)\r\n\r\n\r\n\r\n\r\n![](https://upload-images.jianshu.io/upload_images/11682271-ad0f2ffe57db2ad9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n当Cart应用于回归任务,平方误差损失也就是Cart回归树的生长指标。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-8f10052a6c0c1f55.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n\r\n### 2.3 优化算法\r\n确认学习目标,而依据这个指标去学习具体树结构的方法(优化算法),基本上有几种思路:\r\n\r\n- 暴力枚举:尝试所有可能的特征划分及组合,以找到目标函数最优的树结构。但在现实任务中这基本是不可能的。\r\n\r\n- 自上而下的贪心算法:每一步(节点)都选择现在最优(信息增益、gini、平方误差损失)的特征划分,最终生成一颗决策树,这也是决策树普遍的启发式方法,代表有:cart树、ID3、C4.5树等等\r\n\r\n\r\n\r\n\r\n- 随机优化:随机选择特征及划分方式,通常这种方法单树的生长较快且复杂度较高。模型的随机性、偏差比较大(模型的方差相对较小,不容易过拟合,但是bias较大),所以常用集成bagging的思路进一步优化收敛。代表有:Extremely randomized trees(极端随机树)、孤立森林等等.\r\n\r\n\r\n### 总结\r\n树模型也就是基于已知数据上, 通过以学习目标(降低各划分节点的误差率)为指导,启发式地选择特征去划分特征空间,以各划分的叶子节点做出较\"优\"的决策结果。所以,树模型有非常强的非线性能力,但是,由于是基于划分的局部样本做决策,过深(划分很多次)的树,局部样本的统计信息可能失准,容易过拟合。\r\n![](https://upload-images.jianshu.io/upload_images/11682271-07d680bb27c0d340.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\r\n\r\n(END)\r\n---\r\n文章首发公众号“算法进阶”,欢迎关注。公众号阅读原文可访问文章[相关代码及资料](https://github.com/aialgorithm/Blog)\r\n\r\n\r\n\r\n","author":{"url":"https://github.com/aialgorithm","@type":"Person","name":"aialgorithm"},"datePublished":"2022-04-08T09:36:17.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/47/Blog/issues/47"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:faded034-8579-cea9-7ca7-071b8bd79c24
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id89CE:DF9A5:78334C:AA4CD6:696A4DF0
html-safe-noncedd6e77a221a9917176099fe87d9d6e8e4867b62ab518510526db7ff7aaeed0e8
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OUNFOkRGOUE1Ojc4MzM0QzpBQTRDRDY6Njk2QTRERjAiLCJ2aXNpdG9yX2lkIjoiOTIyMDgwOTA4OTkwMzkwNjI4OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacd1029e7461bdab8b0b4dfaac24906b6553e80f6cc9767c3f0a695c6226b80a9d
hovercard-subject-tagissue:1197083529
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/aialgorithm/Blog/47/issue_layout
twitter:imagehttps://opengraph.githubassets.com/fb0927f72b509b70642d412dc5f6e0ec988f3991bdbe636fbda7b67a02469d45/aialgorithm/Blog/issues/47
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/fb0927f72b509b70642d412dc5f6e0ec988f3991bdbe636fbda7b67a02469d45/aialgorithm/Blog/issues/47
og:image:alt前言 决策树模型因为其特征预处理简单、易于集成学习、良好的拟合能力及解释性,是应用最广泛的机器学习模型之一。 不同于线性模型【数学描述:f(W*X +b)】,是通过数据样本学习各个特征的合适权重,加权后做出决策。决策树会选择合适特征并先做特征划分后(这提高了模型的非线性能力),再做出决策。 一、树模型的概括 决策树呈树形结构,更通俗来讲,树模型的数学描述就是**“分段函数”**。如下一个简单...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameaialgorithm
hostnamegithub.com
expected-hostnamegithub.com
None3f871c8e07f0ae1886fa8dac284166d28b09ad5bada6476fc10b674e489788ef
turbo-cache-controlno-preview
go-importgithub.com/aialgorithm/Blog git https://github.com/aialgorithm/Blog.git
octolytics-dimension-user_id33707637
octolytics-dimension-user_loginaialgorithm
octolytics-dimension-repository_id147093233
octolytics-dimension-repository_nwoaialgorithm/Blog
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id147093233
octolytics-dimension-repository_network_root_nwoaialgorithm/Blog
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release63c426b30d262aba269ef14c40e3c817b384cd61
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/aialgorithm/Blog/issues/47#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F47
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Faialgorithm%2FBlog%2Fissues%2F47
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=aialgorithm%2FBlog
Reloadhttps://github.com/aialgorithm/Blog/issues/47
Reloadhttps://github.com/aialgorithm/Blog/issues/47
Reloadhttps://github.com/aialgorithm/Blog/issues/47
aialgorithm https://github.com/aialgorithm
Bloghttps://github.com/aialgorithm/Blog
Notifications https://github.com/login?return_to=%2Faialgorithm%2FBlog
Fork 259 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Star 942 https://github.com/login?return_to=%2Faialgorithm%2FBlog
Code https://github.com/aialgorithm/Blog
Issues 66 https://github.com/aialgorithm/Blog/issues
Pull requests 0 https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects 0 https://github.com/aialgorithm/Blog/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/aialgorithm/Blog/security
Please reload this pagehttps://github.com/aialgorithm/Blog/issues/47
Insights https://github.com/aialgorithm/Blog/pulse
Code https://github.com/aialgorithm/Blog
Issues https://github.com/aialgorithm/Blog/issues
Pull requests https://github.com/aialgorithm/Blog/pulls
Actions https://github.com/aialgorithm/Blog/actions
Projects https://github.com/aialgorithm/Blog/projects
Security https://github.com/aialgorithm/Blog/security
Insights https://github.com/aialgorithm/Blog/pulse
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/47
New issuehttps://github.com/login?return_to=https://github.com/aialgorithm/Blog/issues/47
一文通俗讲透树模型https://github.com/aialgorithm/Blog/issues/47#top
https://github.com/aialgorithm
https://github.com/aialgorithm
aialgorithmhttps://github.com/aialgorithm
on Apr 8, 2022https://github.com/aialgorithm/Blog/issues/47#issue-1197083529
https://camo.githubusercontent.com/204903c180ffd0cd556c93e3f4db2e7dc25e7931f45c5c52c2225835c4c54de3/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d636132323963656631366437323630642e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/8b44e4a010ba759a30223a19d19d1dd846aed87775031714b45b7cd2549f394b/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d353131373532393962656461323566662e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/2d42cb426465c59b5797e37c395119231a3aed6c3ea259f9ff8eaad6e9bd3851/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d373738653639633333306565386335302e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/ac3b65cabaaa57d622a12be1021fc83942765f1a15513b763189a5af3cee0bd5/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d643936663136303265313533633462302e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/248a2616bd2ea260ab87c1ef2e7cd7a836373a1c1938e6ad63c6ca36ec1f2c92/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d643264663532626230336438653432332e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/ea7ab8aebb3b5121a43755c22e828d987b4cc4cc7eb8b553ace5ba7d2428e7a1/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d383233363833343338353737643236612e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/ee0eb7ccdfac79d02e4c59e3aac7c37fb8d5a76f7fd4bd0a3fc416772fb45358/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d303566353639643235396135393631332e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/7394a5217fca536f7d89284da0f199d138e38b023aff1d8eb284ad766da19199/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d663566383031376538326634336436612e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/833566de0d2783c4a191319ea0cc56425f77673a4d0ace4b4db7dffe8a027f5f/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d343866636333346363656430636337342e696d6167653f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/ea359578263c6c0422a951cf525d92e027788809b1da65d24cbfb2e797a35ca9/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d303331653062383334323032616532652e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/02790e11871fcc780eddf20830286096724285509b5739da9d7dd0041bac4c52/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d653631653164343830663831353564632e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/9036196abedc05cb36937f33f8c31c9c16c7ca4e14cf55ad8d5c4cf0c5d0ecca/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d356333363964323464356430363864382e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/e92afa7e359a4d5b68cf68e6376a0b59c25acc2f1fdfa0cb35a1775d423608f7/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d303839353530333534333133376631642e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/3b888e4b1cb3e269fd96d337ac5cf0c036352e0f94a5493a2830e66cff3765ff/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d346563643461663935326362316533392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/bcb426bb39410e89c9acd090bb220cec5ab647ecc48ad33d78ae5982b1798d4d/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d343765306138613462373236303833332e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/a328021ad8f975a6a3f0f52b91a13ce2b70ebdf98c9c516b8fd33ff35d3a12e9/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d353736306266356630306238393664612e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/d8301d5f4795ac8d816b175bb4ccd00900849aba3a86fafb7358af3bffa9baf9/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d396436353035623430393232653637312e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/8050a317c3b52123df66aed7ee658313b0a6cef5db7c21c8d61ae73b93f25ad4/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d616430663266666535376462326164392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/9c1c2048ab7219dd9905fd478ce7b6d6a12db4ddba670cbc1878f4b86a4b1365/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d386631303035326136633063316635352e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
https://camo.githubusercontent.com/f48147a6d181551bed2fa98c55e790c01b5494b3b8051e3f20ef81f66d7a4911/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f31313638323237312d303764363830626232376330643334302e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430
相关代码及资料https://github.com/aialgorithm/Blog
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.