目录
1.sklearn实现随机森林
2.代码示例
编辑:
校对:
版本:
WangXin
WangXin
python3
sklearn实现随机森林
随机森林算法的实现在sklearn中已经有了现成的方法,我们只需要在使用随机森林算法时,使用sklearn模块中的
RandomForestRegressior方法便可以实现我们所需要的功能。因此该节旨在前几节的原理掌握的基础上,使用更为方便的方法来实现随机森林算法。
代码示例
这里的数据我们采用boston房价数据集进行随机森林回归,并得模型的默认评估值,R²值,均方误差,平均绝对误差,来判定模型的好坏。
from sklearn.datasets import load_boston
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
import numpy as np
'''
随机森林回归
极端随机森林回归
梯度提升回归
通常集成模型能够取得非常好的表现
'''
# 1 准备数据
# 读取波士顿地区房价信息
boston = load_boston()
# 查看数据描述
# print(boston.DESCR) # 共506条波士顿地区房价信息,每条13项数值特征描述和目标房价
# 查看数据的差异情况
# print("最大房价:", np.max(boston.target)) # 50
# print("最小房价:",np.min(boston.target)) # 5
# print("平均房价:", np.mean(boston.target)) # 22.532806324110677
x = boston.data
y = boston.target
# 2 分割训练数据和测试数据
# 随机采样25%作为测试 75%作为训练
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=33)
# 3 训练数据和测试数据进行标准化处理
ss_x = StandardScaler()
x_train = ss_x.fit_transform(x_train)
x_test = ss_x.transform(x_test)
ss_y = StandardScaler()
y_train = ss_y.fit_transform(y_train.reshape(-1, 1))
y_test = ss_y.transform(y_test.reshape(-1, 1))
# 4 三种集成回归模型进行训练和预测
# 随机森林回归
rfr = RandomForestRegressor()
# 训练
rfr.fit(x_train, y_train)
# 预测 保存预测结果
rfr_y_predict = rfr.predict(x_test)
#
# 5 模型评估
# 随机森林回归模型评估
print("随机森林回归的默认评估值为:", rfr.score(x_test, y_test))
print("随机森林回归的R_squared值为:", r2_score(y_test, rfr_y_predict))
print("随机森林回归的均方误差为:", mean_squared_error(ss_y.inverse_transform(y_test),
ss_y.inverse_transform(rfr_y_predict)))
print("随机森林回归的平均绝对误差为:", mean_absolute_error(ss_y.inverse_transform(y_test),
ss_y.inverse_transform(rfr_y_predict
'''
随机森林回归的默认评估值为: 0.8391590262557747
随机森林回归的R_squared值为: 0.8391590262557747
随机森林回归的均方误差为: 12.471817322834646
随机森林回归的平均绝对误差为: 2.4255118110236227
'''
学而不思则罔
在网络上找到其他你感兴趣的数据,并得其随机森林回归模型的默认评估值,R²值,均方误差,平均绝对误差。

理解编程语言,探索数据奥秘
每日练习|干货分享|新闻资讯|公益平台。
每天学习一点点,你将会见到全新的自己。

长按识别二维码关注





