0

Basicly我的問題是有關以下紙張組合(這是足以只讀部分1.Introduction,部分3.Prediction model structure和部分3.1 Decision tree feature transforms的開始,一切就可以跳過去)決策樹與Logistic迴歸

https://pdfs.semanticscholar.org/daf9/ed5dc6c6bad5367d7fd8561527da30e9b8dd.pdf

本文表明,與僅使用決策樹或線性分類(不是兩者)相比,在組合決策樹+線性分類(例如邏輯迴歸)的情況下,二元分類可以表現出更好的性能

簡單來說,訣竅是我們有幾個決策樹(爲了簡單起見,假設2棵樹,第一棵樹有3葉節點,第二棵樹有2葉節點)和一些實值特徵向量x它作爲輸入所有決策樹

所以,
- 如果第一樹的決定是leaf node 1和第二樹的決定是leaf node 2那麼線性分類將收到的二進制字符串[ 1 0 0 0 1 ]
- 如果第一樹的決定是leaf node 2和第二樹的決定是leaf node 1然後線性分類將收到二進制字符串[ 0 1 0 1 0 ]

但是,目前還不清楚對我來說,這班(多少),在這些決策樹使用,做到如果我們只用決策樹(沒有他們執行二元分類或多元等 線性分類),它是全部清楚的,即我們有class 0class 1,但是在這種方案中,樹的輸出被組合成二進制串,饋送給線性分類器。目前還不清楚如何培訓這些決策樹?我們有什麼是前面提到的向量x和點擊/不點擊,這是線性分類輸出,而不是樹

任何想法?

+0

在我看來,可能那些決策樹是迴歸樹,而不是分類樹。在那種情況下,葉節點值是實數,但是我仍然不明白在二進制向量內表示葉節點值的規則是什麼,即葉節點必須在分箱內轉換爲1或0的值。矢量 – mangusta

回答

0

對我而言,您需要通過最小化登錄丟失標準(二進制分類)來執行助推決策樹。一旦你訓練了你的樹木(假設你有2棵3葉和2棵樹)。然後對於每個實例,您預測每棵樹的葉索引

示例 如果對於實例,您將獲得樹1的樹葉1和樹2的樹葉2。 IE你得到一個向量(1,0,0,0,1),它是一個二進制向量不是String。然後你有兩種策略:

  1. 你訓練線性分類(例如:邏輯迴歸)在你的樹預測的結果,你的數據集的維數(N * 5),其中N是您的實例數。您將訓練二進制數據的邏輯迴歸。

  2. 您將維度爲5的矢量與要素的初始矢量連接起來,然後執行線性分類器。您將訓練真實數據和二進制數據的邏輯迴歸。

+0

@Rachit Ait Abdesselam感謝您的反饋。所以,據我瞭解,你的意思是我的樹將是二元分類樹,我將用(** x **,y)對訓練它們,其中y是{{click | no-click}' – mangusta

+0

,我的線性分類器將會(** x **,y)對進行訓練,其中** x **是來自樹的二進制向量,y與樹訓練中的「{click | no-click}」相同?我想,在線性分類器的訓練期間樹應該保持不變 – mangusta

+0

對於第一個評論,是的。對於第二條評論,首先你需要在學習後保持樹不變,因爲如果你更新樹,你需要更新線性分類器。然後正如我在回覆中所說的,並取決於您的數據。您可以選擇僅在樹的輸出(結果葉的索引)上執行線性分類器,或者將具有用於學習樹的初始特徵的樹的輸出連接起來。這裏是一個例子http://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf –