当前位置: 首页 > news >正文

个人网站建设营销推广新蒲建设集团网站

个人网站建设营销推广,新蒲建设集团网站,关于网站开发的步骤,济源网站建设公司基于WIN10的64位系统演示 一、写在前面 这一期#xff0c;我们介绍AdaBoost回归。 同样#xff0c;这里使用这个数据#xff1a; 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndr…基于WIN10的64位系统演示 一、写在前面 这一期我们介绍AdaBoost回归。 同样这里使用这个数据 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndrome in Jiangsu Province, China》文章的公开数据做演示。数据为江苏省2004年1月至2012年12月肾综合症出血热月发病率。运用2004年1月至2011年12月的数据预测2012年12个月的发病率数据。 二、AdaBoost回归 1代码解读 sklearn.ensemble.AdaBoostRegressor(estimatorNone, *, n_estimators50, learning_rate1.0, losslinear, random_stateNone, base_estimatordeprecated) 咋一看跟AdaBoostClassifier用于分类上传送门参数也差不多因此我们列举出它们相同和不同的地方便于对比记忆 共同的参数 base_estimator: 基估计器用于训练弱学习器。如果为 None分类器默认使用决策树分类器而回归器默认使用决策树回归器。 n_estimators: 最大的弱学习器数量。 learning_rate: 按指定的学习率缩小每个弱学习器的贡献。 random_state: 随机数生成器的种子或随机数生成器。 algorithm: 用于 AdaBoost 算法的执行版本。在分类器中是 {SAMME, SAMME.R}在回归器中只有 SAMME。 差异 AdaBoostClassifier 特有参数 algorithm: 可选的执行算法可以是 SAMME 或 SAMME.R。默认为 SAMME.R。其中 SAMME.R 是 SAMME 的实值版本它通常表现得更好因为它依赖于类别概率而不是类别预测。 AdaBoostRegressor 特有参数 loss: 在增加新的弱学习器时用于更新权重的损失函数。可选的值包括 linear, square, 和 exponential。 综上可见虽然这两个类的大部分参数都很相似但它们的主要区别在于分类器具有两种执行算法SAMME 和 SAMME.R而回归器则添加了一个 loss 参数来定义更新权重时使用的损失函数。 2单步滚动预测 import pandas as pd import numpy as np from sklearn.metrics import mean_absolute_error, mean_squared_error from sklearn.ensemble import AdaBoostRegressor from sklearn.model_selection import GridSearchCVdata pd.read_csv(data.csv)# 将时间列转换为日期格式 data[time] pd.to_datetime(data[time], format%b-%y)# 拆分输入和输出 lag_period 6# 创建滞后期特征 for i in range(lag_period, 0, -1):data[flag_{i}] data[incidence].shift(lag_period - i 1)# 删除包含NaN的行 data data.dropna().reset_index(dropTrue)# 划分训练集和验证集 train_data data[(data[time] 2004-01-01) (data[time] 2011-12-31)] validation_data data[(data[time] 2012-01-01) (data[time] 2012-12-31)]# 定义特征和目标变量 X_train train_data[[lag_1, lag_2, lag_3, lag_4, lag_5, lag_6]] y_train train_data[incidence] X_validation validation_data[[lag_1, lag_2, lag_3, lag_4, lag_5, lag_6]] y_validation validation_data[incidence]# 初始化AdaBoostRegressor模型 adaboost_model AdaBoostRegressor()# 定义参数网格 param_grid {n_estimators: [50, 100, 150],learning_rate: [0.01, 0.05, 0.1, 0.5, 1],loss: [linear, square, exponential] }# 初始化网格搜索 grid_search GridSearchCV(adaboost_model, param_grid, cv5, scoringneg_mean_squared_error)# 进行网格搜索 grid_search.fit(X_train, y_train)# 获取最佳参数 best_params grid_search.best_params_# 使用最佳参数初始化AdaBoostRegressor模型 best_adaboost_model AdaBoostRegressor(**best_params)# 在训练集上训练模型 best_adaboost_model.fit(X_train, y_train)# 对于验证集我们需要迭代地预测每一个数据点 y_validation_pred []for i in range(len(X_validation)):if i 0:pred best_adaboost_model.predict([X_validation.iloc[0]])else:new_features list(X_validation.iloc[i, 1:]) [pred[0]]pred best_adaboost_model.predict([new_features])y_validation_pred.append(pred[0])y_validation_pred np.array(y_validation_pred)# 计算验证集上的MAE, MAPE, MSE和RMSE mae_validation mean_absolute_error(y_validation, y_validation_pred) mape_validation np.mean(np.abs((y_validation - y_validation_pred) / y_validation)) mse_validation mean_squared_error(y_validation, y_validation_pred) rmse_validation np.sqrt(mse_validation)# 计算训练集上的MAE, MAPE, MSE和RMSE y_train_pred best_adaboost_model.predict(X_train) mae_train mean_absolute_error(y_train, y_train_pred) mape_train np.mean(np.abs((y_train - y_train_pred) / y_train)) mse_train mean_squared_error(y_train, y_train_pred) rmse_train np.sqrt(mse_train)print(Train Metrics:, mae_train, mape_train, mse_train, rmse_train) print(Validation Metrics:, mae_validation, mape_validation, mse_validation, rmse_validation) 看结果 3多步滚动预测-vol. 1 AdaBoostRegressor预期的目标变量y应该是一维数组所以你们懂的。 4多步滚动预测-vol. 2 同上。 5多步滚动预测-vol. 3 import pandas as pd import numpy as np from sklearn.ensemble import AdaBoostRegressor from sklearn.model_selection import GridSearchCV from sklearn.metrics import mean_absolute_error, mean_squared_error# 数据读取和预处理 data pd.read_csv(data.csv) data_y pd.read_csv(data.csv) data[time] pd.to_datetime(data[time], format%b-%y) data_y[time] pd.to_datetime(data_y[time], format%b-%y)n 6for i in range(n, 0, -1):data[flag_{i}] data[incidence].shift(n - i 1)data data.dropna().reset_index(dropTrue) train_data data[(data[time] 2004-01-01) (data[time] 2011-12-31)] X_train train_data[[flag_{i} for i in range(1, n1)]] m 3X_train_list [] y_train_list []for i in range(m):X_temp X_trainy_temp data_y[incidence].iloc[n i:len(data_y) - m 1 i]X_train_list.append(X_temp)y_train_list.append(y_temp)for i in range(m):X_train_list[i] X_train_list[i].iloc[:-(m-1)]y_train_list[i] y_train_list[i].iloc[:len(X_train_list[i])]# 模型训练 param_grid {n_estimators: [50, 100, 150],learning_rate: [0.01, 0.05, 0.1, 0.5, 1],loss: [linear, square, exponential] }best_ada_models []for i in range(m):grid_search GridSearchCV(AdaBoostRegressor(), param_grid, cv5, scoringneg_mean_squared_error)grid_search.fit(X_train_list[i], y_train_list[i])best_ada_model AdaBoostRegressor(**grid_search.best_params_)best_ada_model.fit(X_train_list[i], y_train_list[i])best_ada_models.append(best_ada_model)validation_start_time train_data[time].iloc[-1] pd.DateOffset(months1) validation_data data[data[time] validation_start_time]X_validation validation_data[[flag_{i} for i in range(1, n1)]] y_validation_pred_list [model.predict(X_validation) for model in best_ada_models] y_train_pred_list [model.predict(X_train_list[i]) for i, model in enumerate(best_ada_models)]def concatenate_predictions(pred_list):concatenated []for j in range(len(pred_list[0])):for i in range(m):concatenated.append(pred_list[i][j])return concatenatedy_validation_pred np.array(concatenate_predictions(y_validation_pred_list))[:len(validation_data[incidence])] y_train_pred np.array(concatenate_predictions(y_train_pred_list))[:len(train_data[incidence]) - m 1]mae_validation mean_absolute_error(validation_data[incidence], y_validation_pred) mape_validation np.mean(np.abs((validation_data[incidence] - y_validation_pred) / validation_data[incidence])) mse_validation mean_squared_error(validation_data[incidence], y_validation_pred) rmse_validation np.sqrt(mse_validation) print(验证集, mae_validation, mape_validation, mse_validation, rmse_validation)mae_train mean_absolute_error(train_data[incidence][:-(m-1)], y_train_pred) mape_train np.mean(np.abs((train_data[incidence][:-(m-1)] - y_train_pred) / train_data[incidence][:-(m-1)])) mse_train mean_squared_error(train_data[incidence][:-(m-1)], y_train_pred) rmse_train np.sqrt(mse_train) print(训练集, mae_train, mape_train, mse_train, rmse_train) 结果 三、数据 链接https://pan.baidu.com/s/1EFaWfHoG14h15KCEhn1STg?pwdq41n 提取码q41n
http://www.dnsts.com.cn/news/46485.html

相关文章:

  • 高端建设网站网站推广模板
  • 常州网络推广网站找什么人做公司网站
  • 你认为视频网站如何做推广营销网站主题有哪些
  • 做华为网站的还有哪些功能吗网站建设公司做前端
  • 中国建设网官方网站平台网站修改建设
  • 营销型网站制作哪个好薇烟台微信网站建设
  • 如何确定竞争对手网站影院资讯 wordpress
  • 湖南网站建设制作公司家装公司文案
  • 基于php+mysql的网站开发seo外推软件
  • 济宁城乡建设局网站桐庐网站建设
  • 邮箱网站怎么做杭州集团公司网站建设
  • 厦门市建设工程交易中心网站网络美工是做什么的
  • 怎样自己制作网站做情感顾问网站建设和管理
  • 网站设计与开发范本附近比较好的电脑培训学校
  • dedecms网站地图模板怎么济南住建官网
  • 威海市网站建设做网站用什么程序
  • 商城网站模板图深圳设计师
  • 代刷网站系统怎么做帝国管理系统导入新的模板怎么建网站?
  • 邵阳住建部网站石材网站建设方案
  • 网站设计赚钱吗商城网站开发需要哪些人员
  • 云主机可以放多少网站安徽住房与城乡建设门户网站
  • 展示网站方案怎么买速成网站
  • 素材下载网站安庆市城乡建设网站
  • 做外贸找工厂货源网站黄山自驾游攻略
  • 8网站免费建站互联网小程序开发
  • 建设网站ppt模板wordpress副标题字数
  • 西安招商型网站建设霍邱县住房和城乡建设局网站
  • 广告设计与制作专业能考二建吗seo推广需要多少钱
  • 哪个网站做课件能赚钱在百度上怎么发布信息
  • 56做视频网站学生个人网页制作代码模板