推荐系统系列3-基于决策树做推荐系统的方法

时间:2024-04-15 20:53:57
1、决策树概念
    决策树是基于树的结构来进行决策的,这与人类的认知方法类似,例如:今天会下雨么?针对此问题我们首先会进行一系列的判断或者决策;今天阴天么,如果阴天,大概率
会下雨;如果晴天,大概率不下雨。如图1。
    
 图1
 
2、文本分类
    所谓文本分类,就是基于文本的特征将其划分到具体的类别当中,与决策树类似。只需要将文本的特征实例化,就可以将决策树的概念融合到文本分类中。
                                                                                                                                              图2
 
3、xgboost
    XGBoost(eXtreme Gradient Boosting)全名叫极端梯度提升,本质上是一种高级的决策树(其实应该较回归树)。XGBoost是集成学习方法的王牌,在Kaggle数据挖掘比赛中,大部分获胜者用了XGBoost,XGBoost在绝大多数的回归和分类问题上表现的十分顶尖。
 
4、
    参考资料:《西瓜书》
    参考代码: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表示每篇文章归入某一类别的概率。

                                                                                                                                  图4

                                                                                                                                  图5