python机器学习——网格搜索实现

news/2024/7/23 10:12:56

网格搜索实现

本文我们依然使用波士顿房价数据作为案例,进行分析。

下面是使用默认参数的随机森林模型的效果

# 从 sklearn.datasets 导入波士顿房价数据读取器。
from sklearn.datasets import load_boston
# 从读取房价数据存储在变量 boston 中。
boston = load_boston()

# 从sklearn.cross_validation 导入数据分割器。
from sklearn.model_selection import train_test_split
X = boston.data
y = boston.target
# 随机采样 25% 的数据构建测试样本,其余作为训练样本。
X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    random_state=33,
                                                    test_size=0.25)
                                                    
# 从 sklearn.preprocessing 导入数据标准化模块。
from sklearn.preprocessing import StandardScaler
# 分别初始化对特征和目标值的标准化器。
ss_X = StandardScaler()
ss_y = StandardScaler()
# 分别对训练和测试数据的特征以及目标值进行标准化处理。
X_train = ss_X.fit_transform(X_train)
X_test = ss_X.transform(X_test)
y_train = ss_y.fit_transform(y_train.reshape(-1,1))
y_test = ss_y.transform(y_test.reshape(-1,1))                                                

from sklearn.ensemble import RandomForestRegressor
rfr = RandomForestRegressor()

rfr.fit(X_train, y_train)

rfr_y_predict = rfr.predict(X_test)

from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
# 使用 R-squared、MSE 以及 MAE 指标对默认配置的随机回归森林在测试集上进行性能评估。
print('R-squared value of RandomForestRegressor:', rfr.score(X_test, y_test))

print('The mean squared error of RandomForestRegressor:', mean_squared_error(
    ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict)))

print('The mean absoluate error of RandomForestRegressor:', mean_absolute_error(
    ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict)))

在这里插入图片描述

from sklearn.model_selection import GridSearchCV
rfr = RandomForestRegressor()
parameters_range = dict(n_estimators=[20,40,60,80,100,120,140,160,180,200,300,500])
gs = GridSearchCV(rfr, parameters_range,cv=5,verbose=2,n_jobs=2)
search = gs.fit(X_train, y_train)
rfr_opt = search.best_estimator_

rfr_opt.fit(X_train, y_train)
rfr_y_predict = rfr_opt.predict(X_test)
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
# 使用 R-squared、MSE 以及 MAE 指标对默认配置的随机回归森林在测试集上进行性能评估。
print('R-squared value of RandomForestRegressor:', rfr_opt.score(X_test, y_test))

print('The mean squared error of RandomForestRegressor:', mean_squared_error(
    ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict)))

print('The mean absoluate error of RandomForestRegressor:', mean_absolute_error(
    ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict)))

在这里插入图片描述
我们可以看到,通过网格搜索得到的超参数的模型比默认参数的模型表现更好。当然这还取决于超参数搜搜范围的选取,更多的是凭经验。


http://www.niftyadmin.cn/n/1446710.html

相关文章

制作无盘Windows 2003之无忧Ghost文件(转)

好多学校已将两年前的Windows 2000无盘终端网络系统升级为Windows 2003。除系统以外,一般还要安装Office、WPS、Photoshop等常用软件到C:Program file目录下,C区可能一下子猛增至2GB左右。制作系统镜像并且刻录一张恢复光盘是防患于未然的最有效手段&…

python机器学习——xgboost简介

xgboost简介(1)背景(2)什么是 XGBoost(3)为什么要用 XGBoost(4)XGBoost 相比传统 gbdt 有何不同?xgboost为什么快?xgboost如何支持并行?参考&…

有意思的字符串拘留实验

本次字符串拘留实验分为4个,最终根据实验得出了一个很有意思的结论。这些结论使兄弟们在以前关于字符串操作的结论基础上进行深入理解。(关于字符串拘留池,请Google一下String Intern Pool,你可以搜索到不少东西的。) …

hdu 2689 Sort it(线段树)

题目链接&#xff1a;hdu 2689 Sort it 题目大意&#xff1a;求逆序对数。 解题思路&#xff1a;用水水的线段树做了一下。 #include <cstdio> #include <cstring> #include <algorithm>using namespace std;const int maxn 1005;#define lson(x) ((x)<…

python机器学习——xgboost使用

xgboost使用 首先需要安装xgboost,详见安装。 本文以“泰坦尼克号沉船事故”数据集为例&#xff0c;对比随机决策森林以及XGBoost 模型对泰坦尼克上的乘客是否生还的预测能力&#xff1a; # 导入 pandas 用于数据分析 import pandas as pd # 利用 pandas 的 read_csv 模块直…

【Hadoop Summit Tokyo 2016】为什么我的Hadoop集群运行这么慢?

本讲义出自Bikas Saha在Hadoop Summit Tokyo 2016上的演讲&#xff0c;主要分享了对于Hadoop集群的性能度量与监控、日志记录、以及跟踪和分析等的相关方法和使用到的HBase、HDFS、YARN等相关的开源技术。

搜索引擎的原出处算法伤害了谁(转)

2006年论坛流量和排名普遍下跌&#xff0c;一个重要的原因是搜索引擎的原出处算法里对博客提权&#xff0c;这样&#xff0c;当同一篇文章同时发表在博客和论坛后&#xff0c;搜索结果中博客内容将会排在前面&#xff0c;而一般作者自认为重要的文章&#xff0c;发表在论坛的同…

万字长文,助你掌握数据库排序算法

了解更多Greenplum技术干货&#xff0c;欢迎访问Greenplum中文社区网站 引言 在《深入浅出Greenplum内核》系列直播的第六场中&#xff0c;Greenplum内核研发张桓为大家详细介绍了Greenplum排序算法&#xff0c;相关视频已上传Greenplum中文社区B站频道。相关PPT请点击链接前往…