机器学习——随机森林算法及原理

1. 随机森林使用背景

1.1 随机森林定义

随机森林是一种比较新的机器学习模型。经典的机器学习模型是神经网络,有半个多世纪的历史了。神经网络预测精确,但是计算量很大。上世纪八十年代Breiman等人发明分类树的算法(Breiman et al. 1984),通过反复二分数据进行分类或回归,计算量大大降低。2001年Breiman把分类树组合成随机森林(Breiman 2001a),即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元共线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用(Breiman
2001b),被誉为当前最好的算法之一(Iverson et al. 2008)。

随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。

1.2 随机森林优点

随机森林是一个最近比较火的算法,它有很多的优点:

a. 在数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合

b. 在当前的很多数据集上,相对其他算法有着很大的优势,两个随机性的引入,使得随机森林具有很好的抗噪声能力

c. 它能够处理很高维度(feature很多)的数据,并且不用做特征选择,对数据集的适应能力强:既能处理离散型数据,也能处理连续型数据,数据集无需规范化

d. 可生成一个Proximities=(pij)矩阵,用于度量样本之间的相似性: pij=aij/N, aij表示样本i和j出现在随机森林中同一个叶子结点的次数,N随机森林中树的颗数

e. 在创建随机森林的时候,对generlization error使用的是无偏估计

f. 训练速度快,可以得到变量重要性排序(两种:基于OOB误分率的增加量和基于分裂时的GINI下降量

g. 在训练过程中,能够检测到feature间的互相影响

h. 容易做成并行化方法

i. 实现比较简单

1.3 随机森林应用范围

随机森林主要应用于回归和分类。本文主要探讨基于随机森林的分类问题。随机森林和使用决策树作为基本分类器的(bagging)有些类似。以决策树为基本模型的bagging在每次bootstrap放回抽样之后,产生一棵决策树,抽多少样本就生成多少棵树,在生成这些树的时候没有进行更多的干预。而随机森林也是进行bootstrap抽样,但它与bagging的区别是:在生成每棵树的时候,每个节点变量都仅仅在随机选出的少数变量中产生。因此,不但样本是随机的,连每个节点变量(Features)的产生都是随机的。

许多研究表明, 组合分类器比单一分类器的分类效果好,随机森林(random forest)是一种利用多个分类树对数据进行判别与分类的方法,它在对数据进行分类的同时,还可以给出各个变量(基因)的重要性评分,评估各个变量在分类中所起的作用。

2. 随机森林方法理论介绍

2.1 随机森林基本原理

随机森林由LeoBreiman(2001)提出,它通过自助法(bootstrap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。其实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于一个独立抽取的样品,森林中的每棵树具有相同的分布,分类误差取决于每一棵树的分类能力和它们之间的相关性。特征选择采用随机的方法去分裂每一个节点,然后比较不同情况下产生的误差。能够检测到的内在估计误差、分类能力和相关性决定选择特征的数目。单棵树的分类能力可能很小,但在随机产生大量的决策树后,一个测试样品可以通过每一棵树的分类结果经统计后选择最可能的分类。

2.2 随机森林算法

2.2.1 决策树

决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

随机森林是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类。

在建立每一棵决策树的过程中,有两点需要注意采样与完全分裂。首先是两个随机采样的过程,random forest对输入的数据要进行行、列的采样。对于行采样,采用有放回的方式,也就是在采样得到的样本集合中,可能有重复的样本。假设输入样本为N个,那么采样的样本也为N个。这样使得在训练的时候,每一棵树的输入样本都不是全部的样本,使得相对不容易出现over-fitting。然后进行列采样,从M个feature中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无法继续分裂的,要么里面的所有样本的都是指向的同一个分类。一般很多的决策树算法都一个重要的步骤——剪枝,但是这里不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。

决策树中分裂属性的两个选择度量:

1)信息增益

随机森林模型任意样本分类的期望信息:

a) I(s1,s2,……,sm)=

∑Pi log2(pi)(i=1..m)

其中,数据集为S,m为S的分类数目,Pi≈|Si/|S|,Ci为某分类标号,Pi为任意样本属于Ci的概率,si为分类Ci上的样本数

b) I(s1,s2,……,sm)越小,s1,s2,……,sm就越有序(越纯),分类效果就越好。

c) 由属性A划分为子集的熵:

A为属性,具有V个不同的取值, S被A 划分为V 个子集s1,s2,……,sv,sij是子集sj中类Ci的样本数。E(A)= ∑(s1j+ ……+smj)/s * I(s1j,……,smj)

d) 信息增益:Gain(A)= I(s1,s2,……,sm)

 E(A)

e) 分裂属性选择规则:选择具有最大信息增益的属性为分裂属性

2)基尼指数

    a) 集合T包含N个类别的记录,那么其Gini指标就是pj 类别j出现的频率

     b) 如果集合T分成m部分 N1 , N2 ,…, Nm 。那么这个分割的Gini就是

c)分裂属性选择规则:选择具有最小Ginisplit的属性为分裂属性(对于每个属性都要遍历所有可能的分割方法)。

2.2.3 随机森林模型的注意点

设有N个样本,每个样本有M个features,决策树们其实都是随机地接受n个样本(对行随机取样)的m个feature(对列进行随机取样),每颗决策树的m个feature相同。每颗决策树其实都是对特定的数据进行学习归纳出分类方法,而随机取样可以保证有重复样本被不同决策树分类,这样就可以对不同决策树的分类能力做个评价。

2.2.4随机森林实现过程

随机森林中的每一棵分类树为二叉树,其生成遵循自顶向下的递归分裂原则,即从根节点开始依次对训练集进行划分;在二叉树中,根节点包含全部训练数据, 按照节点

纯度最小原则,分裂为左节点和右节点,它们分别包含训练数据的一个子集,按照同样的规则节点继续分裂,直到满足分支停止规则而停止生长。若节点n上的分类数据全部来自于同一类别,则此节点的纯度I(n)=0,

纯度度量方法是Gini准则,即假设P(Xj)是节点n上属于Xj 类样本个数占训练。

具体实现过程如下:

(1)原始训练集为N,应用bootstrap法有放回地随机抽取k个新的自助样本集,并由此构建k棵分类树,每次未被抽到的样本组成了k个袋外数据;

(2)设有mall个变量,则在每一棵树的每个节点处随机抽取mtry个变量(mtry n
mall),然后在mtry中选择一个最具有分类能力的变量,变量分类的阈值通过检查每一个分类点确定;

(3)每棵树最大限度地生长, 不做任何修剪;

(4)将生成的多棵分类树组成随机森林,用随机森林分类器对新的数据进行判别与分类,分类结果按树分类器的投票多少而定。

3. 随机森林应用

由于R中早就出现randomForest包了,本文主要讨论R中随机森林的应用。两个主要函数比较重要:randomForest用来构建随机森林模型,predict()使用训练后的随机森林对新数据进行预测。

3.1目标

通过随机森林的算法,根据一些特征,例如花瓣的长,宽,花萼的长宽。来预测植株的种类。

3.2 准备的数据集

iris数据集,是R语言自带的数据集。

  1. Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
      
  2. 1            5.1         3.5          1.4         0.2     setosa
      
  3. 2            4.9         3.0          1.4         0.2     setosa
      
  4. 3            4.7         3.2          1.3         0.2     setosa
      
  5. 4            4.6         3.1          1.5         0.2     setosa
      
  6. 5            5.0         3.6          1.4         0.2     setosa
      
  7. 6            5.4         3.9          1.7         0.4     setosa
      
  8. 7            4.6         3.4          1.4         0.3     setosa
      
  9. 8            5.0         3.4          1.5         0.2     setosa
      
  10. 9            4.4         2.9          1.4         0.2     setosa
      
  11. 10           4.9         3.1          1.5         0.1     setosa
      
  12. 11           5.4         3.7          1.5         0.2     setosa
      
  13. 12           4.8         3.4          1.6         0.2     setosa
      
  14. 13           4.8         3.0          1.4         0.1     setosa
      
  15. 14           4.3         3.0          1.1         0.1     setosa
      
  16. 15           5.8         4.0          1.2         0.2     setosa
      
  17. 16           5.7         4.4          1.5         0.4     setosa
      
  18. 17           5.4         3.9          1.3         0.4     setosa
      
  19. 18           5.1         3.5          1.4         0.3     setosa
      
  20. 19           5.7         3.8          1.7         0.3     setosa
      
  21. 20           5.1         3.8          1.5         0.3     setosa
      
  22. 21           5.4         3.4          1.7         0.2     setosa
      
  23. 22           5.1         3.7          1.5         0.4     setosa
      
  24. 23           4.6         3.6          1.0         0.2     setosa
      
  25. 24           5.1         3.3          1.7         0.5     setosa
      
  26. 25           4.8         3.4          1.9         0.2     setosa
      
  27. 26           5.0         3.0          1.6         0.2     setosa
      
  28. 27           5.0         3.4          1.6         0.4     setosa
      
  29. 28           5.2         3.5          1.5         0.2     setosa
      
  30. 29           5.2         3.4          1.4         0.2     setosa
      
  31. 30           4.7         3.2          1.6         0.2     setosa
      
  32. 31           4.8         3.1          1.6         0.2     setosa
      
  33. 32           5.4         3.4          1.5         0.4     setosa
      
  34. 33           5.2         4.1          1.5         0.1     setosa
      
  35. 34           5.5         4.2          1.4         0.2     setosa
      
  36. 35           4.9         3.1          1.5         0.2     setosa
      
  37. 36           5.0         3.2          1.2         0.2     setosa
      
  38. 37           5.5         3.5          1.3         0.2     setosa
      
  39. 38           4.9         3.6          1.4         0.1     setosa
      
  40. 39           4.4         3.0          1.3         0.2     setosa
      
  41. 40           5.1         3.4          1.5         0.2     setosa
      
  42. 41           5.0         3.5          1.3         0.3     setosa
      
  43. 42           4.5         2.3          1.3         0.3     setosa
      
  44. 43           4.4         3.2          1.3         0.2     setosa
      
  45. 44           5.0         3.5          1.6         0.6     setosa
      
  46. 45           5.1         3.8          1.9         0.4     setosa
      
  47. 46           4.8         3.0          1.4         0.3     setosa
      
  48. 47           5.1         3.8          1.6         0.2     setosa
      
  49. 48           4.6         3.2          1.4         0.2     setosa
      
  50. 49           5.3         3.7          1.5         0.2     setosa
      
  51. 50           5.0         3.3          1.4         0.2     setosa
      
  52. 51           7.0         3.2          4.7         1.4 versicolor
      
  53. 52           6.4         3.2          4.5         1.5 versicolor
      
  54. 53           6.9         3.1          4.9         1.5 versicolor
      
  55. 54           5.5         2.3          4.0         1.3 versicolor
      
  56. 55           6.5         2.8          4.6         1.5 versicolor
      
  57. 56           5.7         2.8          4.5         1.3 versicolor
      
  58. 57           6.3         3.3          4.7         1.6 versicolor
      
  59. 58           4.9         2.4          3.3         1.0 versicolor
      
  60. 59           6.6         2.9          4.6         1.3 versicolor
      
  61. 60           5.2         2.7          3.9         1.4 versicolor
      
  62. 61           5.0         2.0          3.5         1.0 versicolor
      
  63. 62           5.9         3.0          4.2         1.5 versicolor
      
  64. 63           6.0         2.2          4.0         1.0 versicolor
      
  65. 64           6.1         2.9          4.7         1.4 versicolor
      
  66. 65           5.6         2.9          3.6         1.3 versicolor
      
  67. 66           6.7         3.1          4.4         1.4 versicolor
      
  68. 67           5.6         3.0          4.5         1.5 versicolor
      
  69. 68           5.8         2.7          4.1         1.0 versicolor
      
  70. 69           6.2         2.2          4.5         1.5 versicolor
      
  71. 70           5.6         2.5          3.9         1.1 versicolor
      
  72. 71           5.9         3.2          4.8         1.8 versicolor
      
  73. 72           6.1         2.8          4.0         1.3 versicolor
      
  74. 73           6.3         2.5          4.9         1.5 versicolor
      
  75. 74           6.1         2.8          4.7         1.2 versicolor
      
  76. 75           6.4         2.9          4.3         1.3 versicolor
      
  77. 76           6.6         3.0          4.4         1.4 versicolor
      
  78. 77           6.8         2.8          4.8         1.4 versicolor
      
  79. 78           6.7         3.0          5.0         1.7 versicolor
      
  80. 79           6.0         2.9          4.5         1.5 versicolor
      
  81. 80           5.7         2.6          3.5         1.0 versicolor
      
  82. 81           5.5         2.4          3.8         1.1 versicolor
      
  83. 82           5.5         2.4          3.7         1.0 versicolor
      
  84. 83           5.8         2.7          3.9         1.2 versicolor
      
  85. 84           6.0         2.7          5.1         1.6 versicolor
      
  86. 85           5.4         3.0          4.5         1.5 versicolor
      
  87. 86           6.0         3.4          4.5         1.6 versicolor
      
  88. 87           6.7         3.1          4.7         1.5 versicolor
      
  89. 88           6.3         2.3          4.4         1.3 versicolor
      
  90. 89           5.6         3.0          4.1         1.3 versicolor
      
  91. 90           5.5         2.5          4.0         1.3 versicolor
      
  92. 91           5.5         2.6          4.4         1.2 versicolor
      
  93. 92           6.1         3.0          4.6         1.4 versicolor
      
  94. 93           5.8         2.6          4.0         1.2 versicolor
      
  95. 94           5.0         2.3          3.3         1.0 versicolor
      
  96. 95           5.6         2.7          4.2         1.3 versicolor
      
  97. 96           5.7         3.0          4.2         1.2 versicolor
      
  98. 97           5.7         2.9          4.2         1.3 versicolor
      
  99. 98           6.2         2.9          4.3         1.3 versicolor
      
  100. 99           5.1         2.5          3.0         1.1 versicolor
      
  101. 100          5.7         2.8          4.1         1.3 versicolor
      
  102. 101          6.3         3.3          6.0         2.5  virginica
      
  103. 102          5.8         2.7          5.1         1.9  virginica
      
  104. 103          7.1         3.0          5.9         2.1  virginica
      
  105. 104          6.3         2.9          5.6         1.8  virginica
      
  106. 105          6.5         3.0          5.8         2.2  virginica
      
  107. 106          7.6         3.0          6.6         2.1  virginica
      
  108. 107          4.9         2.5          4.5         1.7  virginica
      
  109. 108          7.3         2.9          6.3         1.8  virginica
      
  110. 109          6.7         2.5          5.8         1.8  virginica
      
  111. 110          7.2         3.6          6.1         2.5  virginica
      
  112. 111          6.5         3.2          5.1         2.0  virginica
      
  113. 112          6.4         2.7          5.3         1.9  virginica
      
  114. 113          6.8         3.0          5.5         2.1  virginica
      
  115. 114          5.7         2.5          5.0         2.0  virginica
      
  116. 115          5.8         2.8          5.1         2.4  virginica
      
  117. 116          6.4         3.2          5.3         2.3  virginica
      
  118. 117          6.5         3.0          5.5         1.8  virginica
      
  119. 118          7.7         3.8          6.7         2.2  virginica
      
  120. 119          7.7         2.6          6.9         2.3  virginica
      
  121. 120          6.0         2.2          5.0         1.5  virginica
      
  122. 121          6.9         3.2          5.7         2.3  virginica
      
  123. 122          5.6         2.8          4.9         2.0  virginica
      
  124. 123          7.7         2.8          6.7         2.0  virginica
      
  125. 124          6.3         2.7          4.9         1.8  virginica
      
  126. 125          6.7         3.3          5.7         2.1  virginica
      
  127. 126          7.2         3.2          6.0         1.8  virginica
      
  128. 127          6.2         2.8          4.8         1.8  virginica
      
  129. 128          6.1         3.0          4.9         1.8  virginica
      
  130. 129          6.4         2.8          5.6         2.1  virginica
      
  131. 130          7.2         3.0          5.8         1.6  virginica
      
  132. 131          7.4         2.8          6.1         1.9  virginica
      
  133. 132          7.9         3.8          6.4         2.0  virginica
      
  134. 133          6.4         2.8          5.6         2.2  virginica
      
  135. 134          6.3         2.8          5.1         1.5  virginica
      
  136. 135          6.1         2.6          5.6         1.4  virginica
      
  137. 136          7.7         3.0          6.1         2.3  virginica
      
  138. 137          6.3         3.4          5.6         2.4  virginica
      
  139. 138          6.4         3.1          5.5         1.8  virginica
      
  140. 139          6.0         3.0          4.8         1.8  virginica
      
  141. 140          6.9         3.1          5.4         2.1  virginica
      
  142. 141          6.7         3.1          5.6         2.4  virginica
      
  143. 142          6.9         3.1          5.1         2.3  virginica
      
  144. 143          5.8         2.7          5.1         1.9  virginica
      
  145. 144          6.8         3.2          5.9         2.3  virginica
      
  146. 145          6.7         3.3          5.7         2.5  virginica
      
  147. 146          6.7         3.0          5.2         2.3  virginica
      
  148. 147          6.3         2.5          5.0         1.9  virginica
      
  149. 148          6.5         3.0          5.2         2.0  virginica
      
  150. 149          6.2         3.4          5.4         2.3  virginica
      
  151. 150          5.9         3.0          5.1         1.8  virginica
      

R 源代码:

  1. library( ”randomForest” )
      
  2. data(iris)   
  3. set.seed(100)
      
  4. ind=sample(2,nrow(iris),replace=TRUE,prob=c(0.8,0.2))
      
  5. iris.rf=randomForest(Species~.,iris[ind==1,],ntree=50,nPerm=10,mtry=3,proximity=TRUE,importance=TRUE)
      
  6. print(iris.rf)
      
  7. iris.pred=predict( iris.rf,iris[ind==2,] )
      
  8. table(observed=iris[ind==2,"Species"],predicted=iris.pred )
      

3.4 一些重要参数说明

randomForest()对训练集的数据进行处理,生成决策树

iris.rf=randomForest(Species~.,iris[ind==1,],ntree=50,nPerm=10,mtry=3,proximity=TRUE,importance=TRUE)

Species~.:代表需要预测的列,species是列的名称。

iris[ind==1,]:生成决策树的训练集

ntree:生成决策树的数目

nperm:计算importance时的重复次数

mtry:选择的分裂属性的个数

proximity=TRUE:表示生成临近矩阵

importance=TRUE:输出分裂属性的重要性

predict()

iris.pred=predict( iris.rf,iris[ind==2,] )

iris.rf:表示生成的随机森林模型

iris[ind==2,] :进行预测的测试集

3.5预测结果

  1.           predicted   
  2. served     setosa versicolor virginica   
  3. setosa         35          0         0  
  4. versicolor      0         37         1  
  5. virginica       0          3        33 
  6. virginica     0        3       33  

                                               
                            

           想要了解更多,请扫描关注数据分析师Nieson的微信公众号!

时间: 2024-11-03 01:22:04

机器学习——随机森林算法及原理的相关文章

基于云计算平台的随机森林算法的研究与实现

基于云计算平台的随机森林算法的研究与实现 于延  王建华 随着网络时代海量数据的日渐普及,从中挖掘出有价值的信息成为当今社会的研究热点.本文针对构建随机森林的数据挖掘算法,提出了基于海量数据的分布式可扩展随机森林算法.该算法基于MapReduce分布式计算模型,可以高效地分析.处理海量数据,并且能够准确地对数据进行分类预测.大量的实验结果表明,本文提出的算法具有很好的可扩展性及高效性. 基于云计算平台的随机森林算法的研究与实现

基于Hadoop平台的随机森林算法研究及图像分类系统实现

基于Hadoop平台的随机森林算法研究及图像分类系统实现 厦门大学 梁世磊 本文结合Hadoop开源分布式计算平台,研究图像处理过程的并行化以及利用MapReduce并行计算模型对随机森林算法进行了分布式并行设计以提高对大规模图像分类的效率.首先,本文介绍了Hadoop平台,主要包括HDFS文件系统以及MapReduce框架:接着,分析了图像分类的关键技术,总结了图像分类中常用到的一些特征,重点介绍SIFT特征和BagofVisual Words特征代表的实现过程,并阐述了几类重要的模式分类方法

随机森林:猜糖豆游戏揭示的机器学习算法

还记得那款老的嘉年华游戏吗,大家一起猜测一个罐子里糖豆的数量?虽然准确猜出糖豆的数量需要一点运气和技巧的组合,事实证明,通过平均所有人的各种各样的猜测,平均结果出奇地接近正确答案. 这是一个被称为"众人的智慧(the wisdom of the crowd)"的典型例子,也是机器学习常用的建模策略之一. 前提条件还是有的:你要有数量足够多的不同的数据,每一个数据都在某些程度上包含所需信号,但数据之间没有任何其他维度的相关性(这样数据的误差往往对称分布在真实结果周围),当然还需要一种合适

机器学习中的算法(1)-决策树模型组合之随机森林与GBDT

机器学习中的算法(1)-决策树模型组合之随机森林与GBDT. 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的. 模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果是生成N(可能会有几百棵以上)棵树,这样可以大大的减少单决策树带来的毛病,

从决策树到随机森林:树型算法的原理与实现

在本篇文章中,我们将会介绍决策树的数学细节(以及各种 Python 示例)及其优缺点.你们将会发现它们是很简单的,并且这些内容是有助于理解的.然而,与最好的监督学习方法相比,它们通常是没有竞争力的.为了克服决策树的各种缺点,我们将会聚焦于各种概念(附有 Python 实例),比如自助聚集或袋装(Bootstrap Aggregating or Bagging),还有随机森林(Random Forests).另一种广泛使用的提升方法会在以后进行单独讨论.每种方法都包括生成多种树,这些树被联合起来,

干货|从决策树到随机森林:树型算法的实现原理与Python 示例

基于树(Tree based)的学习算法在数据科学竞赛中是相当常见的.这些算法给预测模型赋予了准确性.稳定性以及易解释性.和线性模型不同,它们对非线性关系也能进行很好的映射.常见的基于树的模型有:决策树.随机森林和提升树. 在本篇文章中,我们将会介绍决策树的数学细节(以及各种 Python 示例)及其优缺点.你们将会发现它们很简单,并且这些内容有助于理解.然而,与最好的监督学习方法相比,它们通常是没有竞争力的.为了克服决策树的各种缺点,我们将会聚焦于各种概念(附有 Python 实例),比如自助

Python 实现的随机森林

随机森林是一个高度灵活的机器学习方法,拥有广泛的应用前景,从市场营销到医疗保健保险. 既可以用来做市场营销模拟的建模,统计客户来源,保留和流失.也可用来预测疾病的风险和病患者的易感性. 随机森林是一个可做能够回归和分类. 它具备处理大数据的特性,而且它有助于估计或变量是非常重要的基础数据建模. 这是一篇关于使用Python来实现随机森林文章. 什么是随机森林? 随机 森林 是 几乎 任何 预测 问题 (甚至 非直线 部分) 的固有 选择 . 它是 一个 相对较 新 的 机器 学习 的 策略 (

随机森林入门攻略

简介 近年来,随机森林模型在界内的关注度与受欢迎程度有着显著的提升,这多半归功于它可以快速地被应用到几乎任何的数据科学问题中去,从而使人们能够高效快捷地获得第一组基准测试结果.在各种各样的问题中,随机森林一次又一次地展示出令人难以置信的强大,而与此同时它又是如此的方便实用. 需要大家注意的是,在上文中特别提到的是第一组测试结果,而非所有的结果,这是因为随机森林方法固然也有自己的局限性.在这篇文章中,我们将向你介绍运用随机森林构建预测模型时最令人感兴趣的几个方面. 随机森林的发展史 谈及随机森林算

决策树模型组合之(在线)随机森林与GBDT

前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时, 单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的. 模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,这些算法最终的结果是生成N(可能会有几百棵以上)棵树,这样可以大 大的减少单决策树带来的毛病,有点类似于三个臭皮匠等于一个诸葛亮的做法,虽然这几