老饼讲解-机器学习 机器学习 神经网络 深度学习
集成方法

【代码】sklearn简单实现随机森林

作者 : 老饼 发表日期 : 2022-06-26 14:08:51 更新日期 : 2023-11-07 15:37:45
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com


本文展示一个python的sklearn中实现随机森林的Demo

并展示如何查看袋外错误率及随机森林的特征权重



  01. sklearn实现随机森林-代码简述  



  代码简介 


代码展示一个python的sklearn中实现随机森林的Demo,
Demo先是加载iris数据,
然后调用随机森林包进行训练,
最后展示预测结果和袋外准确率和特征得分。






  02. 代码   


  Demo代码  


# -*- coding: utf-8 -*-
"""
sklearn的随机森林Demo
"""
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
import numpy as np

np.random.seed(888)
# ==================== 加载数据 =====================================================
iris = load_iris()
X   = iris.data
y   = iris.target

# ========================= 模型训练 ====================================================
clf = RandomForestClassifier(n_jobs=1,oob_score=True,max_features=2,n_estimators=100)
clf.fit(X, y)

# =============================== 模型预测 ===================================================
pred_prob = clf.predict_proba(X)
pred_c    = clf.predict(X)
preds     = iris.target_names[pred_c]

#=================打印结果==========================
print("\n----前5条预测结果:----") 
print(pred_prob[0:5])
print("\n----袋外准确率oob_score:----") 
print(clf.oob_score_)
print("\n----特征得分:----") 
print(clf.feature_importances_)


  代码运行结果  


代码运行结果如下:
----前5条预测结果:----
[[1.   0.   0.  ]
 [0.99 0.01 0.  ]
 [1.   0.   0.  ]
 [1.   0.   0.  ]
 [1.   0.   0.  ]]

----袋外准确率oob_score:----
0.9533333333333334

----特征得分:----
[0.08186032 0.02758341 0.44209899 0.44845728]






  End  






联系老饼