树模型 — 阈值与交互作用
回归只回答一个问题:输入每变化一个单位,响应变化多少。现场最常见的两种情形却被它漏掉 — 只有超过某个阈值才出现的效应(700 °C 以下无碍,以上则出事),以及只有两个输入同时偏高时才显现的效应。
树模型转而寻找分割点,因此两者都能抓住。单棵树可读,但会背下自己的数据;随机森林对数百棵树取平均,泛化能力好得多,代价是画不出来。
这里的重要性用置换法在模型没见过的数据上测量:打乱一个变量,看分数下降多少。这样可以避免基于不纯度的重要性所带来的偏差 — 那种做法会偏袒取值很多的列。即便如此,重要性仍不等于因果:同一测量的两个副本会平分功劳,可能双双显得不重要。
树模型转而寻找分割点,因此两者都能抓住。单棵树可读,但会背下自己的数据;随机森林对数百棵树取平均,泛化能力好得多,代价是画不出来。
这里的重要性用置换法在模型没见过的数据上测量:打乱一个变量,看分数下降多少。这样可以避免基于不纯度的重要性所带来的偏差 — 那种做法会偏袒取值很多的列。即便如此,重要性仍不等于因果:同一测量的两个副本会平分功劳,可能双双显得不重要。
在应用中试试
试一试:树模型页 → 载入示例 → 拟合模型。比较留出集分数与训练分数,再切换到「单棵树」阅读各次分割。