博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跟我学算法 - 随机森林
阅读量:5941 次
发布时间:2019-06-19

本文共 1385 字,大约阅读时间需要 4 分钟。

from sklearn.ensemble import  RandomForestRegressor  #导入随机森林的包import pandas as pd#加载入数据,这里用的是住房的数据from sklearn.datasets.california_housing import fetch_california_housinghousing = fetch_california_housing()#进行数据的分割, test_size表示分割的比例from sklearn.model_selection import train_test_splitdata_train, data_test, target_train, target_test = \    train_test_split(housing.data, housing.target, test_size = 0.1, random_state = 42)#构建随机森林的树rfr = RandomForestRegressor(random_state=42) #每次生成的数都是相同的rfr.fit(data_train, target_train) #模型计算rfr_predict = rfr.predict(data_test)  #预测结果rfr.score(data_train, target_train) #默认评估值#随机森林的参数调节from sklearn.grid_search import GridSearchCVtree_pram_grad = {
'min_samples_split':list((3, 6, 9)), 'n_estimators':list((10,50,100))}grid = GridSearchCV(RandomForestRegressor(), param_grid=tree_pram_grad, cv=5) #RandomForestRegressor()# 表示需要调节的函数程序, param_grid 表示待调节的参数, cv=5表示交叉验证的次数grid.fit(data_train, target_train)print(grid.grid_scores_, grid.best_params_, grid.best_score_)# 输出每组的grid_scores, 输出最好的参数组合,输出最好的默认评估值# 输出的结果是在3 和 100 时呈现最好的状态# 重新构建树做预测rfr = RandomForestRegressor(random_state=42) #每次生成的数都是相同的rfr.fit(data_train, target_train) #模型计算new_rfr_predict = rfr.predict(data_test) #预测结果#展示变量的重要性pd.Series(rfr.feature_importances_, index=housing.feature_names).sort_values(ascending=False)

 

转载于:https://www.cnblogs.com/my-love-is-python/p/9511033.html

你可能感兴趣的文章
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>
办公室几台电脑怎么连一台打印机的具体步骤
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>
nagios配置监控的一些思路和工作流程
查看>>
通讯组基本管理任务三
查看>>
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
如何解压缩后缀名为zip.001,zip.002等的文件
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
关于System.Collections空间
查看>>
MPP(大规模并行处理)
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>