数据建模
数据建模指的是对收集到的各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。合理的建模可以帮助数据分析师进行探索性研究和预测性研究,在本部分我们将介绍Python中常见的模型,以帮助你在后续工作中进行应用。
Logistic模型
Logistic模型是一个经典的二分类算法,在进行二分类计算时经常用到。例如判断某种病毒是阴性还是阳性,判断某商品是否被购买等。Logistic模型的思想来源于sigmoid函数,sigmoid最初应用于生物学,又被称为S型生长曲线。其函数表达式也可以写作:
不难看出,当x轴范围扩大时,sigmoid函数类似于一个在0和1之间的跳跃函数。那么sigmoid函数又如何变到了logistic函数呢?其实并不难,Logistic函数其实只是把每个特征进行加权后相加的和作为sigmoid函数的自变量代入进函数中。
随机森林模型
集成学习 Ensemble Learning
集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。而随机森林属于集成学习中的 Bagging(Bootstrap Aggregation 的简称)方法。
决策树是机器学习常见的分类算法,是监督学习。简单来讲,决策树就是带有特殊含义的数据结构中的树结构,其每个根结点(非叶子结点)代表数据的特征标签,根据该特征不同的特征值将数据划分成几个子集,每个子集都是这个根结点的子树,然后对每个子树递归划分下去,而决策树的每个叶子结点则是数据的最终类别标签。
Boosting
Boosting是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。
Bagging
Bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。
构造随机森林的 4 个步骤
Step 1:随机抽样,训练决策树
一个样本容量为N的样本,有放回的抽取N次,每次抽取1个,最终形成了N个样本。这选择好了的N个样本用来训练一个决策树,作为决策树根节点处的样本。
Step 2:随机选取属性,做节点分裂属性
当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m << M。然后从这m个属性中采用某种策略(比如说信息增益)来选择1个属性作为该节点的分裂属性。
Step 3:重复步骤二,直到不能再分裂
决策树形成过程中每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了)。一直到不能够再分裂为止。注意整个决策树形成过程中没有进行剪枝。
Step 4:建立大量决策树,形成森林
按照步骤1~3建立大量的决策树,这样就构成了随机森林了。