我建立了RandomForest (RF)与滑雪板包。
我的问题是,我已经用相同的样本与不同的特征组训练射频。
例如,有10,000个样本,我从不同的实验室接收数据。
FR1用Lab1的数据训练,FR2用Lab2的数据训练。FR5使用来自Lab5的数据进行培训
每个实验室的特征数为4,000,因此每个实验室的数据大小为10,000 x 4000。
我不想把所有的数据合并在一起,我想对RFs进行培训,并从多数票中做出最终决定。多数票不只是基于实验室,而是考虑到各个实验室的所有选票。
例如,所有的模型都产生了100棵树,然后我想从100 *(5个实验室)= 500棵树中做出最后的决定。不仅仅是实验室的多数票,还有来自各个实验室生产的所有树木的多数票。
你能帮我解决这个问题吗?
谢谢。
发布于 2018-11-08 06:17:09
RF通过使用所有树木的预测平均值来进行预测。所以,你可以
estimators_(在您的示例中是DecisionTrees;5* 100 ),从每个林中进行预测,然后平均概率/输出。但我认为,这种方法相当等于所有RFs的平均输出:
outputs from forest 1: 0.5, 1, 1.5; average: 1
outputs from forest 2: 1, 1.25, 1.5; average: 1.25
average of forests: (1 + 1.25) / 2 = 1.125
average of trees: (0.5 + 1 + 1.5 + 1 + 1.25 + 1.5) / 6 = 6.75 / 6 = 1.125或者更好的解决方案:在顶部放置一些简单的模型(LinearRegression/LogisticRegression),它从每个RF获取输出并预测最终值。在一些Kaggle比赛中表现不错。这个简单的模型可以帮助你避免过度适应。
https://stackoverflow.com/questions/53196558
复制相似问题