随机森林基于什么算法,随机森林算法简单实例
随机森林主要用于回归和分类。
您可以输入大部分数据。然后,使用Alice Ouyama的数据进行分类和预测。
环境python3.8
数据集孔径数据集
ef dataset(self):iris=load _ iris))feature=PD . data frame)data=iris . data,columns=iris . feature _ names(target=PD . data frame(data=map)lambda item 3360 iris . target _ names)item,IRR feature_test,target_train,target _ test=_ train _ test _ } test _ size=0.3)return feature _ train,featun
首先训练10个基分类器,每个基分类器是一棵决策树。预测时,对每个基分类器的投票结果进行统计反演,选择票数最多的结果,其中每棵树的生长状态如下
如果训练集中的事例数为n,则随机抽取n个事例。但是,它将从原始数据中被替换。这个例子将是一个树木栽培的训练集。
如果有M个输入变量,请指定一个数值mM,这样就可以在每个节点上从M中随机选取M个变量,用这些M上的最佳划分进行节点划分。在森林的生长过程中,m的值是恒定的。
所有的树都尽可能地生长。没有修剪。
浏览兰登森林官网
fit训练
Default (self,feature=None,label=None)):“训练模型。将模型保存到self . models 3360 param feature 3360训练集数据。键入ndarray3360。可以重复收集类型ndarray:return:none * * * * * * * * begin * * * * * * begin n=len(feature)for iinrangin frac=1的采样(采样仅包含特征数据)。Random samples=feature . sample(n)n,Replace=top axis=0))在所有特征M中随机选择M个特征,无重叠0.75表示4*0.75=3个特征Random features=Random samples . sample(frac=0.75)axis=1)#标记选择的特征tags=self . connect(Random features . columns . to list)target _ name #在该模型中,其索引与示例中的相同。set random label=label . loc[random samples . index . to list(,# for I,jinzip(random features . index . to list)]j)model=decision tree classifier)model=model . fit)random feature random lable(self . models . append){ tags:mord
Defpredict(self,features,target):" ":param features:ndarray类型的测试集数据:param target:测试集可重构,ndarray类型:return:* * * * * * begin * * * * * * * * * # result=[]vote=[]formodelinself。型号3333 (0)。split(000))30 for line)for ine)Convert r=list)model . values # array到矩阵的第10行第45列。对每棵树的投票结果进行排序,得到最大的v=sorted (counter (vote [:I])。items),key=lambda x: x[1],reverse=True),并将投票情况与实际标签(prrot list (target (I))结果进行比较。append) v (0))返回结果(* * * * *)。
if _ _ name _= _ _ main _ :BCF=bagging分类器(featureandtarget=BCF . dataset)BCF . fit)BCF . fit fatureandtarget[2](RES=BCF . predict(features=featureandtarget[1],target=featureandtarget[3])target)
你知道精确度非常高。可以调整特征号m的参数,精度不一样。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。