一、決策樹概念
決策樹是基於樹的結構來進行決策的,這與人類的認知方法相似,例如:今天會下雨麼?針對此問題咱們首先會進行一系列的判斷或者決策;今天陰天麼,若是陰天,大機率
會下雨;若是晴天,大機率不下雨。如圖1。
圖1
二、文本分類
所謂文本分類,就是基於文本的特徵將其劃分到具體的類別當中,與決策樹相似。只須要將文本的特徵實例化,就能夠將決策樹的概念融合到文本分類中。
圖2
三、xgboost
XGBoost(eXtreme Gradient Boosting)全名叫極端梯度提高,本質上是一種高級的決策樹(其實應該較迴歸樹)。XGBoost是集成學習方法的王牌,在Kaggle數據挖掘比賽中,大部分獲勝者用了XGBoost,XGBoost在絕大多數的迴歸和分類問題上表現的十分頂尖。
四、
參考資料:《西瓜書》
參考代碼:https://github.com/dongguadan/recommender-system/tree/master/xgboost-Based_Filter
數據集採用bbc提供的文本語料庫:bbc.terms、bbc.classes、bbc.mtx。代碼根據語料庫將數據組織成特徵矩陣,如圖3:
圖3
而後將特徵矩陣隨機劃分紅訓練集(70%)、測試集(30%),進行訓練、測試:文章共分爲5類分別用0-4來表示;圖4表示每篇文章所屬分類;圖5表示每篇文章納入某一類別的機率。

圖4git

圖5github