穩健性與可解釋性

特徵重要性(feature importance)

/ FEE-cher im-POR-tunss /

特徵重要性,是給「模型最倚重哪些輸入」排出的一份名次。如果一個模型根據面積、地段、房齡和油漆顏色來預測房價,特徵重要性會告訴你:面積和地段在驅動預測,而油漆顏色幾乎排不上號。這是可解釋性最基本的問題:在模型本可以關注的一切之中,究竟是什麼真正撬動了它的答案?

有兩種誠實的問法,它們回答的其實是不同的問題。一種衡量模型內部對每個特徵的依賴程度——比如一棵決策樹有多頻繁地依它來分叉。另一種,「置換重要性」,更不挑模型:把某個特徵的取值在整個資料集裡打亂重排,看看準確率掉了多少。掉得多,說明模型是真的需要這個特徵。想法簡單又直觀——可魔鬼藏在「相關」二字裡。

特徵重要性之所以要緊,是因為它是團隊最先抓到模型「作弊」的地方。如果「病人編號」竟成了預測疾病的頭號因子,那一定出了岔子:模型攀附上的是一處資料洩漏,而非醫學。但這裡的告誡很鋒利。當特徵彼此相關時,重要性會被令人困惑地抹勻在它們之間,而不同方法對同一批特徵排出的名次,可能南轅北轍。重要性告訴你的是「模型用了什麼」——千萬別想當然地以為它告訴你的是「什麼真正導致了結果」。

一個預測病人再入院的模型,把「既往就診次數」和「年齡」列為頭部特徵——合情合理。可「病人來自3號樓」也排得很靠前。一查才知道,3號樓住的是腫瘤科病房;模型悄悄發現了「癌症病人更容易再入院」這件事——一條真實、卻非本意的捷徑,值得我們知道。

一個出乎意料的高重要性特徵,往往是一條線索,而非一紙定論——信它之前,先去查。

重要性說的是模型,而不是這個世界。一個特徵排得高,可能僅僅是因為模型用了它,哪怕它對結果毫無因果作用——而一個真正具有因果性的特徵,也可能因為某個與之相關的特徵「搶了功勞」而排得很低。千萬別把一張特徵重要性圖,當成一幅因果地圖來讀。

又稱
variable importance特征重要性变量重要性特徵重要性變數重要性