当前位置:首页>学习笔记>算法学习笔记4:决策树(CART),线性不可分?递归分割做分类

算法学习笔记4:决策树(CART),线性不可分?递归分割做分类

  • 2026-05-12 18:39:33
算法学习笔记4:决策树(CART),线性不可分?递归分割做分类

摘要:前三天都是线性模型,今天换一种思路,线性不可分怎么办?递归分割一层层切下去。在 Iris 上从零实现了一棵 CART 决策树,训练、剪枝、可视化都走了一遍。决策树也是后面理解随机森林、GBDT 的底座。线性模型画一条线,决策树画一个框。线从数据中间穿过去,框可以层层嵌套,一个套一个。

前三天走完了线性模型家族:线性回归 → Ridge → Lasso → 逻辑回归。它们有一个共同点:用一条直线(或超平面)把数据分开。但现实中的很多决策不这么走。例如医生诊断不是量一个指标就下结论,而是阶梯式的:先看体温是否正常,再看白细胞,再看其他指标,逐层往下。

决策树模仿的就是这种逐层判断的思维方式。每一步只关心一个问题:选哪个特征、切在什么值上,能让分出来的两个子集不纯度最低。

一、什么是决策树?

决策树是一种基于树结构的分类模型。内部节点对应一个特征上的判断条件(特征 + 阈值),每条分支对应一个判断结果,每个叶节点对应一个分类结果。训练时从根节点开始,递归地将数据划分为不纯度更低的子集,直到满足停止条件为止。

以Iris数据集来说,要分出三种鸢尾花,先看花瓣长度,如果很短,一定是 setosa,直接分出去。剩下的再看花瓣宽度,窄的是 versicolor,还搞混的再进一步切。决策树做的就是这件事,每一步都在问:

选哪个特征、切在什么值上,能让分出来的两个子集不纯度最低?

二、Gini 不纯度:怎么衡量"纯不纯"

CART 用 Gini 不纯度来量化。公式很简单:每个类别的概率平方和取反加一。

每次分裂的目标,就是选一个特征和切分点,让分出来的两个子集 Gini 加权和最小。实现上就是遍历所有特征、所有可能的切分点:

def _cart_split(self, Xy):    best_gini = float('inf')    for f in range(n_features):        col = X[:, f]        values = np.unique(col)        candidates = (values[:-1] + values[1:]) / 2  # 中点作为候选        for thresh in candidates:            mask = col <= thresh            y_left, y_right = y[mask], y[~mask]            gini = (len(y_left) * gini(y_left) +                    len(y_right) * gini(y_right)) / len(y)            if gini < best_gini:                best_gini = gini

递归地在左右子节点上重复,直到满足停止条件(深度到上限、节点样本太少、或不纯度已降为零)。

训练集的决策树结构。根节点用 petal length ≤ 2.45 一刀切下去,左边 40 个样本全是 setosa(Gini=0),直接收工。右边剩下 versicolor 和 virginica,继续用 petal length 和 petal width 逐层切。到深度 3 时每个叶子节点基本只含一种类了。每个节点旁标注了样本分布和 Gini 值,能清晰看到每次分裂后纯度如何提升。

三、实验:在 Iris 上训练

Iris 数据集 150 条样本、4 个特征、3 个品种。选它是因为:

  1. 树很浅,深度 3 就到 100% 准确率,可视化不费力
  2. 能画边界,只用花瓣长宽两个特征就能在二维平面上画决策区域

设置 max_depth=3 训练:

训练集准确率:95.8%测试集准确率:100%
测试集 30 个样本全部分对。和 sklearn 的 DecisionTreeClassifier 对比,结果完全一致。
混淆矩阵。测试集 30 个样本全部落在对角线上,setosa 10 个、versicolor 9 个、virginica 11 个,没有任何混淆。对 Iris 来说,深度 3 已经够用了。

四、决策边界:树在二维空间里画什么

用 petal length 和 petal width 两个特征单独训练一棵树,画出决策区域:
 二维决策边界。背景色块表示树的预测区域:左下方蓝色全是 setosa,中间绿色是 versicolor,右上方红色是 virginica。注意边界全是水平或垂直的,树每次只在一个特征上切一刀,所以切出来的区域永远是矩形。这和逻辑回归的斜线边界、SVM 的曲线边界都不一样。
边界在 petal length = 4.75 处有一条明显的水平线,这是树的第二个关键分裂。4.75 以下继续按 petal width 细分,4.75 以上直接按另一条规则走。

五、特征重要性:哪些特征真正管用

决策树有个副产品:特征重要性。每个特征在分裂时带来的 Gini 下降总量,按该节点样本数加权求和,最后归一化到 [0, 1],就是它对分类的贡献。用公式写就是:
Iris 的结果很不均衡,也就是说,区分三种鸢尾花,看花瓣就够了。花萼长宽在这个任务里没有任何贡献,不是算法忽略它们,而是算法发现它们确实没必要。
特征重要性。petal length(花瓣长度)占了 93.5%,petal width(花瓣宽度)占 6.5%,花萼长和宽完全不参与分裂,重要性为 0。

六、超参数:树长多深合适

 max_depth 从 1 到 10 的表现:

深度
训练准确率
测试准确率
1
67.5%
63.3%
2
95.0%
96.7%
3
95.8%
100%
4+
97.5%
100%

深度 1 只分一叉,严重欠拟合。深度 3 测试集就到顶了。再加深训练准确率还能涨(深度 6 到 100%),但测试集不动了,对 Iris 来说,深度 3 就是最佳位置。

深度 vs 准确率曲线。两条线在深度 1-2 之间急速上升,3 之后测试集稳住不动,训练集继续缓慢爬到 6 才到 100%。灰色虚线标出推荐值 3。

七、概率输出:树的信心程度

决策树还可以输出概率,每个叶子节点里各类样本的比例,就是落在该节点的样本被预测为某类的概率。比如一个叶节点有 36 个 versicolor 和 0 个其他,那么所有落到这个节点的样本,都有 100% 的把握说是 versicolor。另一个节点有 4 个 versicolor 和 4 个 virginica,那就只有 50% 的把握,树自己也知道这里不太确定。

八、和逻辑回归比一下

翻出 Day 3 的逻辑回归结果,放在一起看两种模型在 Iris 上的差异:

对比维度
决策树(Depth=3)
逻辑回归
测试准确率
100%
97%
决策边界
水平/垂直线,矩形区域
一条斜线
特征处理
不需要标准化
必须标准化
特征选择
自动选出重要特征
所有特征参与计算
概率输出
叶子节点的类别比例
Sigmoid 平滑输出
稳定性
数据一变,树结构可能大改
参数平滑,变化小

最本质的差异在决策边界的形状。逻辑回归画一条斜线把空间一分为二,决策树用水平线和垂直线一层层框出区域。这意味着:

  • 如果类别边界接近一条直线(比如预测是否发烧,体温就是决定性指标),逻辑回归更高效
  • 如果类别边界不规则、需要多次判断才能区分(比如 Iris 要同时看花瓣长和宽),决策树更灵活

准确率上决策树高 3 个百分点,但 Iris 对两者都太简单,这个差距说明不了什么。真正选哪个,取决于你的数据,线性可分的用逻辑回归,有复杂交互关系的用决策树

小结

决策树是集成学习的基础,随机森林、GBDT 都建立在它之上。单独一棵树可能不太稳定(数据稍微一变,结构可能就不同),但作为组件非常强大:

  • 可解释:每步决策能说清楚为什么
  • 不挑数据:不用标准化,不用处理缺失值
  • 不稳定:对数据变化敏感,方差高——所以才需要森林和 boosting

接下来会看到:随机森林用 Bagging 降低方差,GBDT 用 Boosting 降低偏差。底座都是今天这棵树。


代码仓库:模型实现见 models/decision_tree.py

完整实验见 notebooks/day4_decision_tree.ipynb

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-13 11:31:29 HTTP/2.0 GET : https://67808.cn/a/487643.html
  2. 运行时间 : 0.136849s [ 吞吐率:7.31req/s ] 内存消耗:4,674.91kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7eb524ad01b533b4757e76ffaf9d1da1
  1. /yingpanguazai/ssd/ssd1/www/no.67808.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/no.67808.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/no.67808.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/no.67808.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/no.67808.cn/runtime/temp/6df755f970a38e704c5414acbc6e8bcd.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/no.67808.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000717s ] mysql:host=127.0.0.1;port=3306;dbname=no_67808;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000881s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000412s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000380s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000711s ]
  6. SELECT * FROM `set` [ RunTime:0.000334s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000789s ]
  8. SELECT * FROM `article` WHERE `id` = 487643 LIMIT 1 [ RunTime:0.000609s ]
  9. UPDATE `article` SET `lasttime` = 1778643089 WHERE `id` = 487643 [ RunTime:0.005060s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000496s ]
  11. SELECT * FROM `article` WHERE `id` < 487643 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000867s ]
  12. SELECT * FROM `article` WHERE `id` > 487643 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000747s ]
  13. SELECT * FROM `article` WHERE `id` < 487643 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007457s ]
  14. SELECT * FROM `article` WHERE `id` < 487643 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.021891s ]
  15. SELECT * FROM `article` WHERE `id` < 487643 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007474s ]
0.138473s