近年来,随机森林模型在界内的关注度与受欢迎程度有着显著的提升,这多半归功于它可以快速地被应用到几乎任何的数据科学问题中去,从而使人们能够高效快捷地获得第一组基准测试结果。

随机森林入门攻略(随机森林入门攻略视频)  随机森林 入门 攻略 第1张

简介

近年来,随机森林模型在界内的重视度与受欢迎程度有着明显的进步,这八成归功于它能够快速地被应用到简直任何的数据科学问题中去,从而使人们能够高效快捷地取得***组基准测验成果。在各式各样的问题中,随机森林一次又一次地展现出令人难以置信的强壮,而与此一起它又是如此的便当有用。

需求咱们留意的是,在上文中特别说到的是***组测验成果,而非一切的成果,这是由于随机森林办法当然也有自己的局限性。在这篇文章中,咱们将向你介绍运用随机森林构建猜测模型时最令人感兴趣的几个方面。

随机森林的开展史

谈及随机森林算法的发生与开展,咱们有必要回溯到20世纪80年代。能够说,该算法是Leo Breiman, Adele Cutler, Ho Tin Kam, Dietterich, Amit和Geman这几位大师煞费苦心的一起结晶,他们中的每个人都对随机森林算法的前期开展作出了重要的奉献。Leo Breiman和 Adele Cutler最早提出了履行随机森里的要害算法,这一算法也成为了他们的专利之一。Amit, Gemen和Ho Tim Kam各自独登时介绍了特征随即挑选的思维,而且运用了Breiman的“套袋”思维构建了操控方差的决策树调集。在此之后,Deitterich在模型中引入了随即节点优化的思维,对随机森里进行了进一步完善。

什么是随机森林?

随机森林是一种多功用的机器学习算法,能够履行回归和分类的使命。一起,它也是一种数据降维手法,用于处理缺失值、反常值以及其他数据探究中的重要进程,并取得了不错的成效。别的,它还担任了集成学习中的重要办法,在将几个低效模型整合为一个高效模型时大显神通。

在随机森林中,咱们将生成许多的决策树,并不像在CART模型里相同只生成仅有的树。当在根据某些特点对一个新的目标进行分类判别时,随机森林中的每一棵树都会给出自己的分类挑选,并由此进行“投票”,森林全体的输出成果将会是票数最多的分类选项;而在回归问题中,随机森林的输出将会是一切决策树输出的均匀值。

随机森林入门攻略(随机森林入门攻略视频)  随机森林 入门 攻略 第2张

随机森林在Python和R中的完成

随机森林在R packages和Python scikit-learn中的完成是当下非常盛行的,下列是在R和Python中载入随机森林模型的详细代码:

Python

#Import Library fromsklearn.ensemble import RandomForestClassifier #use RandomForestRegressor for regression problem #Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset # Create Random Forest object model= RandomForestClassifier(n_estimators=1000) # Train the model using the training sets and check score model.fit(X, y) #Predict Output predicted= model.predict(x_test)

R Code

library(randomForest) x<- cbind(x_train,y_train) # Fitting model fit<- randomForest(Species ~ ., x,ntree=500) summary(fit) #Predict Output predicted= predict(fit,x_test)

好了,现在咱们现已了解了运转随机森林算法的代码,接下来让咱们看看这个算法自身的运作办法是什么样的吧!

#p#

随机森林算法是怎么作业的?

在随机森林中,每一个决策树“栽培”和“成长”的规矩如下所示:

1.假定咱们设定练习会集的样本个数为N,然后经过有重置的重复屡次抽样来取得这N个样本,这样的抽样成果将作为咱们生成决策树的练习集;

2.如果有M个输入变量,每个节点都将随机挑选m(m<M)个特定的变量,然后运用这m个变量来确认***的分裂点。在决策树的生成进程中,m的值是坚持不变的;

3.每棵决策树都***或许地进行成长而不进行剪枝;

4.经过对一切的决策树进行加总来猜测新的数据(在分类时选用大都投票,在回归时选用均匀)。

随机森林入门攻略(随机森林入门攻略视频)  随机森林 入门 攻略 第3张

随机森林的长处与缺陷

长处:

1.正如上文所述,随机森林算法能处理分类与回归两种类型的问题,并在这两个方面都有相当好的估量体现;

2.随机森林关于高维数据集的处理才能令人兴奋,它能够处理不计其数的输入变量,并确认最重要的变量,因而被认为是一个不错的降维办法。此外,该模型能够输出变量的重要性程度,这是一个非常便当的功用。下图展现了随机森林关于变量重要性程度的输出方式:

随机森林入门攻略(随机森林入门攻略视频)  随机森林 入门 攻略 第4张

3.在对缺失数据进行估量时,随机森林是一个非常有用的办法。就算存在很多的数据缺失,随机森林也能较好地坚持准确性;

4.当存在分类不平衡的状况时,随机森林能够供给平衡数据集差错的有用办法;

5.模型的上述功能能够被扩展运用到未符号的数据会集,用于引导无监督聚类、数据透视和反常检测;

6.随机森林算法中包含了对输入数据的重复自抽样进程,即所谓的bootstrap抽样。这样一来,数据会集大约三分之一将没有用于模型的练习而是用于测验,这样的数据被称为out of bag samples,经过这些样本估量的差错被称为out of bag error。研讨标明,这种out of bag办法的与测验集规划同练习集共同的估量办法有着相同的准确程度,因而在随机森林中咱们无需再对测验集进行别的的设置。

缺陷:

1.随机森林在处理回归问题时并没有像它在分类中体现的那么好,这是由于它并不能给出一个接连型的输出。当进行回归时,随机森林不能够作出逾越练习集数据规模的猜测,这或许导致在对某些还有特定噪声的数据进行建模时呈现过度拟合。

2.关于许多计算建模者来说,随机森林给人的感觉像是一个黑盒子——你简直无法操控模型内部的运转,只能在不同的参数和随机种子之间进行测验。

调整随机森林模型中的参数

到目前为止,咱们现已对整个随机森林模型进行了根本的了解,与此一起,关于模型中各种参数的调整与修正也非常重要,下列为python scikit-learn中随机森林模型的语法:

classsklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth=None,min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’,max_leaf_nodes=None,bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0,warm_start=False, class_weight=None)

详细的参数阐明这儿不再赘述,咱们能够到scikit-learn.org的3.2.4.3.1章节进行检查。

随机森林入门攻略(随机森林入门攻略视频)  随机森林 入门 攻略 第5张

这些参数在调理随机森林模型的准确性方面起着至关重要的效果。科学地运用这些目标,将能明显的进步模型作业效率。

转载请说明出处
知优网 » 随机森林入门攻略(随机森林入门攻略视频)

发表评论

您需要后才能发表评论