【数据分类】利用随机森林的方法进行数据分类

关于随机森林的原理,可以参考这篇博文:
随机森林算法及其实现(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

你可能感兴趣的:(数据挖掘,数据挖掘)