2. 随机森林 Random Forest

今天学了菜菜第二章,随机森林。顺便回顾了昨天学的决策树。

具体学到了什么 总结到下面用代码和注释的形式给出,相当于给自己理清楚思路。

划分训练集和测试集的代码:

from sklearn.model_selection import train_test_split
Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)
# 划分为训练集和测试集的代码

 建随机森林的代码(三行):

rfc=RandomForestClassifier(random_state=0)
rfc=rfc.fit(Xtrain,Ytrain)
score_r=rfc.score(Xtest,Ytest)
# 建随机森林来分析的代码

建决策树的代码(三行):

clf=DecisionTreeClassifier(random_state=0)
clf=clf.fit(Xtrain,Ytrain)
score_c=clf.score(Xtest,Ytest)
# 建决策树来分析的代码

交叉验证法(也叫k折交叉验证法)的用法:

rfc_l = []

for i in range(10):
    rfc = RandomForestClassifier(n_estimators=25)
    rfc_s = cross_val_score(rfc, wine.data, wine.target, cv=10).mean() 
    rfc_l.append(rfc_s)


#     定义列表 用来存每次评测的分数

#     n_estimators是森林中树木的数量,即基评估器的数量
#     cross_val_score是交叉验证法(cross validation),

#     也叫k折交叉验证法。参数:(随机森林,数据,标签,cv)  cv:每次的测试折数
#     append用法:在列表后插入括号里面的数值

 把十折交叉验证的结果画成图:

import matplotlib.pyplot as plt
# 画图用plot,在matplotlib的子库pyplot里

plt.plot(range(1,11),rfc_l,label = "Random Forest") 
plt.plot(range(1,11),clf_l,label = "Decision Tree") 
# plt画图的语句 标准写法

plt.legend()
plt.show()

随机森林的四个重要属性:

rfc.feature_importances_
# 是返回特征的重要性
# 这个属性最重要

rfc.apply(Xtest)
# apply中输入测试集 返回每个测试样本所在的叶子结点的索引

rfc.predict(Xtest)
# 输入测试集 返回每个测试样本的标签

rfc.predict_proba(Xtest)
# 这个接口返回每个测试样本对应的被分到每一类标签的概率,
# 标签有几个分类 就返回几个概率。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值