本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
本文展示一个python的sklearn中实现随机森林的Demo
并展示如何查看袋外错误率及随机森林的特征权重
代码简介
代码展示一个python的sklearn中实现随机森林的Demo,
Demo先是加载iris数据,
然后调用随机森林包进行训练,
最后展示预测结果和袋外准确率和特征得分。
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