【不斷更新】決策樹面試問題彙總

文章目錄一瞥

決策樹面試問題

引自知乎——數據取經團:呂洞賓

面試官:小麗同學,你好,看了你的簡歷,對相關算法還是略懂一些,下面開始我們的面試,**有這麼一個場景,在一個樣本集中,其中有100個樣本屬於A,9900個樣本屬於B,我想用決策樹算法來實現對AB樣本進行區分,**這時會遇到什麼問題:

小麗:欠擬合現象,因爲在這個樣本集中,AB樣本屬於嚴重失衡狀態,在建立決策樹算法的過程中,模型會更多的偏倚到B樣本的性質,對A樣本的性質訓練較差,不能很好的反映樣本集的特徵。
如何解決非平衡數據

面試官:看你決策樹應該掌握的不錯,你說一下自己對於決策樹算法的理解?

小麗:決策樹算法,無論是哪種,其目的都是爲了讓模型的不確定性降低的越快越好,基於其評價指標的不同,主要是ID3算法,C4.5算法和CART算法,其中ID3算法的評價指標是信息增益,C4.5算法的評價指標是信息增益率,CART算法的評價指標是基尼係數。

面試官:信息增益,好的,這裏面有一個信息論的概念,你應該知道的吧,敘述一下

小麗:香農熵,隨機變量不確定性的度量。利用ID3算法,每一次對決策樹進行分叉選取屬性的時候,我們會選取信息增益最高的屬性來作爲分裂屬性,只有這樣,決策樹的不純度纔會降低的越快。

面試官:OK,你也知道,在決策樹無限分叉的過程中,會出現一種現象,叫過擬合,和上面說過的欠擬合是不一樣的,你說一下過擬合出現的原因以及我們用什麼方法來防止過擬合的產生

小麗:對訓練數據預測效果很好,但是測試數據預測效果較差,則稱出現了過擬合現象。對於過擬合現象產生的原因,有以下幾個方面,
第一:在決策樹構建的過程中,對決策樹的生長沒有進行合理的限制(剪枝);
第二:在建模過程中使用了較多的輸出變量,變量較多也容易產生過擬合;
第三:樣本中有一些噪聲數據,噪聲數據對決策樹的構建的干擾很多,沒有對噪聲數據進行有效的剔除。對於過擬合現象的預防措施,有以下一些方法,
第一:選擇合理的參數進行剪枝,可以分爲預剪枝後剪枝,我們一般用後剪枝的方法來做;
第二:K-folds交叉驗證,將訓練集分爲K份,然後進行K次的交叉驗證,每次使用K-1份作爲訓練樣本數據集,另外的一份作爲測試集合(作者說反了,應該是份作爲測試集,其餘k-1份作爲訓練集);
第三:減少特徵,計算每一個特徵和響應變量的相關性,常見的爲皮爾遜相關係數,將相關性較小的變量剔除,當然還有一些其他的方法來進行特徵篩選,比如基於決策樹的特徵篩選,通過正則化的方式來進行特徵選取等。

面試官:你剛剛前面有提到預剪枝和後剪枝,當然預剪枝就是在決策樹生成初期就已經設置了決策樹的參數,後剪枝是在決策樹完全建立之後再返回去對決策樹進行剪枝,你能否說一下剪枝過程中可以參考的某些參數?

小麗:剪枝分爲預剪枝和後剪枝,參數有很多,在R和Python中都有專門的參數來進行設置,下面我以Python中的參數來進行敘述,max_depth(樹的高度),min_samples_split(葉子結點的數目),max_leaf_nodes(最大葉子節點數),min_impurity_split(限制不純度),當然R語言裏面的rpart包也可以很好的處理這個問題。

面試官:對了,你剛剛還說到了用決策樹來進行特徵的篩選,現在我們就以ID3算法爲例,來說一下決策樹算法對特徵的篩選?

小麗:對於離散變量,計算每一個變量的信息增益,選擇信息增益最大的屬性來作爲結點的分裂屬性;對於連續變量,首先將變量的值進行升序排列,每對相鄰值的中點作爲可能的分離點,對於每一個劃分,選擇具有最小期望信息要求的點作爲分裂點,來進行後續的決策數的分裂。

面試官:你剛剛還說到了正則化,確實可以對過擬合現象來進行很好的調整,基於你自己的理解,來說一下正則化?

小麗:這一塊的知識掌握的不是很好,我簡單說一下自己對這一塊的瞭解。以二維情況爲例,在L1正則化中,懲罰項是絕對值之和,因此在座標軸上會出現一個矩形,但是L2正則化的懲罰項是圓形,因此在L1正則化中增大了係數爲0的機會,這樣具有稀疏解的特性,在L2正則化中,由於係數爲0的機率大大減小,因此不具有稀疏解的特性。但是L1沒有選到的特性不代表不重要,因此L1和L2正則化要結合起來使用。

面試官:還可以吧!正則化就是在目標函數後面加上了懲罰項,你也可以將後面的懲罰項理解爲範數。分類算法有很多,邏輯迴歸算法也是我們經常用到的算法,剛剛主要討論的是決策樹算法,現在我們簡單聊一下不同分類算法之間的區別吧!討論一下決策樹算法和邏輯迴歸算法之間的區別?

小麗:分爲以下幾個方面:
第一,邏輯迴歸着眼於對整體數據的擬合,在整體結構上優於決策樹; 但是決策樹採用分割的方法,深入到數據內部,對局部結構的分析是優於邏輯迴歸;
第二,邏輯迴歸對線性問題把握較好,因此我們在建立分類算法的時候也是優先選擇邏輯迴歸算法,決策樹對非線性問題的把握較好;
第三,從本質來考慮,決策樹算法假設每一次決策邊界都是和特徵相互平行或垂直的,因此會將特徵空間劃分爲矩形,因而決策樹會產生複雜的方程式,這樣會造成過擬合現象;邏輯迴歸只是一條平滑的邊界曲線,不容易出現過擬合現象。

面試官: 下面呢我們來聊一下模型的評估,算法進行模型評估的過程中,常用的一些指標都有哪些,精度啊?召回率啊?ROC曲線啊?這些指標的具體含義是什麼?

小麗:
精度(precision),精確性的度量,表示標記爲正例的元組佔實際爲正例的比例;
召回率(recall),完全性的度量,表示爲實際爲正例的元組被正確標記的比例;
ROC 曲線的橫座標爲假陽性,縱座標爲真陽性,值越大,表示分類效果越好。

(to be honest,這個問題第一次我跪了,雖然說是記憶一下肯定沒問題,但是當時面試的那個時候大腦是一片空白)

面試官:聚類分析你懂得的吧!在我們一些分析中,它也是我們經常用到的一類算法,下面你介紹一下K-means算法吧!

小麗:對於K-means算法,可以分爲以下幾個步驟:
第一,從數據點中隨機抽取K個數據點作爲初始的聚類中心;
第二:計算每個點到這K箇中心點的距離,並把每個點分到距離其最近的中心中去;
第三:求取各個類的均值,將這些均值作爲新的類中心;
第四:重複進行步驟二三過程,直至算法結束,算法結束有兩種,一種是迭代的次數達到要求,一種是達到了某種精度。

參考:

  1. https://www.cnblogs.com/liuyingjun/p/10590095.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章