关于随机森林的原理,可以参考这篇博文:
随机森林算法及其实现(Random Forest)
随机森林原理介绍与适用情况(综述篇)
关于sklearn中随机森林分类器参数和属性和含义(中文版),可以参考这篇博文:
sklearn随机森林分类类RandomForestClassifier
下面用一个类来实现随机森林:
from sklearn.ensemble import RandomForestClassifier
class CipvRandomForest():
def __init__(self):
self.crfmodel = RandomForestClassifier()
def train(self,features,labels):
self.crfmodel.fit(features,labels)#训练
def get_prediction(self,features):
return self.crfmodel.predict([features])#预测(注意细节,这边的feature要求输入2D数组,因此要在原有1D数组的基础上加个[]。
如果要对模型得到的结果进行预测,可以用以下的函数:
def test_model(policy,features,labels):
success_time=0
for i in range(len(features)):
label_got=policy.get_prediction(features[i])
if label_got==labels[i]:
success_time +=1
success_rate = success_time/len(features)
print('success rate',success_rate)
return 0