随机森林在python上的实现

默认参数

class sklearn.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, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0, warm_start=False, class_weight=None)

参数介绍

 https://blog.csdn.net/w952470866/article/details/78987265

https://www.cnblogs.com/jasonfreak/p/5720137.html

https://www.cnblogs.com/pinard/p/6160412.html?utm_source=itdadao&utm_medium=referral

训练阶段

import pandas as pd  
from sklearn.ensemble import RandomForestClassifier  
from sklearn import cross_validation,metrics
from sklearn.externals import joblib  
train= pd.read_excel('C:/Users/yangge/Desktop/fenx/buyData.xlsx')  
target='isbad' # isbad的值就是二元分类的输出   
x_columns = [x for x in train.columns if x not in [target]]  
X = train[x_columns]  
y = train[target] 
rf0 = RandomForestClassifier(oob_score=True, random_state=10,n_estimators=500)  
rf0.fit(X,y)  
#scores=cross_validation.cross_val_score(rf0,X,y,cv=5)
#print("交叉验证准确率:",scores)
y_predprob = rf0.predict_proba(X)[:,1] 
y_pred = rf0.predict(X)
fpr, tpr, thresholds = metrics.roc_curve(y,y_predprob, pos_label=1)
auc=metrics.auc(fpr, tpr)
cm=metrics.confusion_matrix(y, y_pred)#混淆矩阵
featurImportances=sorted(zip(map(lambda x: round(x, 4), rf0.feature_importances_), x_columns),reverse=True)
print("特征重要性:",featurImportances)
print("泛化能力:",rf0.oob_score_) 
print("AUC:",metrics.roc_auc_score(y,y_predprob))
print("准确率:",metrics.accuracy_score(y,y_pred))
print("召回率:",metrics.recall_score(y,y_pred))
print("F测度:",metrics.f1_score(y, y_pred))
joblib.dump(rf0, "rfTrainModel.m")#保存模型

预测阶段

import pandas as pd  
from sklearn.externals import joblib  
x= pd.read_excel('C:/Users/yangge/Desktop/fenx/buyDataTest.xlsx')  
rf0= joblib.load("rfTrainModel.m") 
y_pred = rf0.predict(x)

偏差与方差

https://www.cnblogs.com/daguankele/p/6561419.html 机器学习中的方差和偏差

https://blog.csdn.net/hit0803107/article/details/71108563 偏差bias/方差variance 的理解

https://blog.csdn.net/accumulate_zhang/article/details/63251337 模型的偏差与方差的理解

https://blog.csdn.net/simple_the_best/article/details/71167786 理解机器学习中的偏差与方差

https://blog.csdn.net/liweibin1994/article/details/76859743 机器学习:偏差、方差与欠拟合、过拟合

如果对你有帮助,请点下赞,予人玫瑰手有余香!

时时仰望天空,理想就会离现实越来越近!

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值