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

网站怎么建设dw网站群系统破解版

网站怎么建设dw,网站群系统破解版,wordpress 站群xmlrpc,网站系统下载不了文件文章目录 基于python集成学习算法XGBoost农业数据可视化分析预测系统一、项目简介二、开发环境三、项目技术四、功能结构五、功能实现模型构建封装类用于网格调参训练模型系统可视化数据请求接口模型评分 0.5*mse 六、系统实现七、总结 基于python集成学习算法XGBoost农业数据可… 文章目录 基于python集成学习算法XGBoost农业数据可视化分析预测系统一、项目简介二、开发环境三、项目技术四、功能结构五、功能实现模型构建封装类用于网格调参训练模型系统可视化数据请求接口模型评分 0.5*mse 六、系统实现七、总结 基于python集成学习算法XGBoost农业数据可视化分析预测系统 一、项目简介 基于python集成学习算法XGBoost农业数据可视化分析预测系统旨在帮助农民和相关从业者更好地预测农作物产量以优化农业生产。该系统主要包括四个功能模块。 首先农作物数据可视化模块利用Echarts、Ajax、Flask、PyMysql技术实现了可视化展示农作物产量相关数据的功能。 其次产量预测模块使用pandas、numpy等技术通过对气象和农作物产量关系数据集的分析和训练实现了对农作物产量的预测功能。该模块可以对当前或未来某一时间段的农作物产量进行预测并提供预测结果的可视化展示。 然后用户登录与用户注册模块使用layui、Flask、PyMysql技术实现了用户登录和注册功能。用户可以通过登录系统后利用该系统提供的预测和可视化功能更好地规划和管理自己的农业生产。 最后数据管理模块使用layui、Flask、PyMysql技术实现了用户管理、公告管理和农作物数据管理等功能。系统管理员可以通过后台界面对用户信息、公告信息和农作物数据进行管理和维护保证系统的正常运行和信息安全。 本系统的实现对农业生产的优化具有积极的意义。通过对气象和农作物产量关系数据的分析和训练该系统可以帮助用户更好地了解不同作物产量随时间变化的趋势和规律提高农作物的产量和品质促进农业生产的可持续发展。 二、开发环境 开发环境版本/工具PYTHON3.x开发工具PyCharm2021操作系统Windows 10内存要求16GB浏览器Firefox数据库MySQL 8.0数据库工具Navicat Premium 15项目框架FLASK、layui 三、项目技术 后端Flask、sklearn、PyMySQL、MySQL、urllib 前端Jinja2、Jquery、Ajax、layui 四、功能结构 农作物产量大屏数据可视化模块通过ECharts实现数据可视化展示农作物产量的趋势、关联因素等。 机器学习预测农作物产量模型构建与训练使用Scikit-learn、Pandas、NumPy构建机器学习模型对农作物产量进行预测。 用户登录与注册通过Flask、PyMySQL、LAYUI实现用户登录和注册功能。 系统后台管理模块 ​ 用户模块管理用户信息权限等。 ​ 公告模块发布和管理系统相关公告信息。 ​ 农作物数据管理模块存储和管理与农作物产量预测相关的数据集。 ​ 预测可视化后台交互提供用户与预测数据的交互界面使用Ajax请求后端数据接口展示数据可视化结果。 系统结构图 五、功能实现 模型构建 def model(X_data,y_label,testst,prediction):模型搭建global params_xgb #模型参数设置全局变量便于调参n_splits 25res []kf KFold(n_splits n_splits, shuffleTrue, random_state520)for i, (train_index, test_index) in enumerate(kf.split(X_data)):print(第{}次训练....format(i1))train_data X_data.iloc[train_index]train_label y_label.iloc[train_index]valid_data X_data.iloc[test_index]valid_label y_label.iloc[test_index]xgb_train xgb.DMatrix(train_data, labeltrain_label)xgb_valid xgb.DMatrix(valid_data, valid_label)evallist [(xgb_valid, eval), (xgb_train, train)]cgb_model xgb.train(params_xgb, xgb_train, num_boost_round500 , evalsevallist, verbose_eval500, early_stopping_rounds300, fevalmyFeval)valid cgb_model.predict(xgb_valid, ntree_limitcgb_model.best_ntree_limit)valid_score mean_squared_error(valid_label,valid)*0.5if valid_score 0.01:#验证集分数不好的模型丢弃continuexgb_test xgb.DMatrix(testst)preds cgb_model.predict(xgb_test, ntree_limitcgb_model.best_ntree_limit)res.append(preds)print(\n)使用XGBoostExtreme Gradient Boosting算法进行回归任务的模型搭建函数。 参数说明: X_data: 训练数据的特征。y_label: 训练数据的目标标签。testst: 测试数据的特征用于进行预测。prediction: 预测结果的存储列表。 交叉验证: 该模型使用了 K 折交叉验证KFold将数据集分成训练集和验证集循环进行训练和验证。这有助于评估模型的性能并减少由于数据集划分不同而引起的波动。 XGBoost模型训练: 使用 XGBoost 中的 xgb.train 函数进行模型训练。参数 params_xgb 是全局变量应该在代码其他地方定义包含了 XGBoost 模型的超参数设置。训练中使用了早停法early stopping如果在一定迭代次数内验证集分数没有提高则提前结束训练。 模型预测: 使用训练好的模型对验证集和测试集进行预测。验证集预测结果与真实标签计算均方误差Mean Squared Error如果分数大于0.01则该模型被丢弃。如果验证集分数较好将测试集的预测结果添加到 res 列表中。 输出信息: 打印每次训练的信息包括训练次数、验证集分数等。 封装类用于网格调参 class XGBoostre(object):封装类用于网格调参def __init__(self,**kwargs):self.params kwargsif num_boost_round in self.params:self.num_boost_round self.params[num_boost_round]self.params.update({objective: reg:squarederror,silent: 0,seed: 1000})def fit(self,x_train,y_train):xgb_train xgb.DMatrix(x_train, labely_train)self.bst xgb.train(paramsself.params, dtrainxgb_train, num_boost_roundself.num_boost_round, verbose_eval100, fevalmyFeval)def predict(self,x_pred):dpred xgb.DMatrix(x_pred)return self.bst.predict(dpred)def kfold(self,x_train,y_train,n_fold5):xgb_train xgb.DMatrix(x_train, labely_train)bst_cv xgb.cv(paramsself.params, dtrainxgb_train,fevalmyFeval,num_boost_roundself.num_boost_round, nfoldn_fold,)return bst_cv.iloc[-1,:]def plt_feature_importance(self):feat pd.Series(self.bst.get_fscore()).sort_values(ascendingFalse)feat.plot(title Feature_importance)def get_params(self,deepTrue):return self.paramsdef set_params(self,**params):self.params.update(params)return self初始化方法 __init__ 这个方法用于初始化XGBoostre类的实例。使用**kwargs来接收任意数量的关键字参数并将这些参数存储在self.params字典中。如果num_boost_round存在于self.params中则将其值存储在self.num_boost_round中。设置默认的XGBoost参数包括目标函数为reg:squarederror不进行静默操作silent: 0并设置随机种子为1000。 fit 方法 该方法用于训练XGBoost模型。将训练数据x_train和y_train转换为xgb.DMatrix格式。使用xgb.train函数进行模型训练并保存训练好的模型为self.bst。 predict 方法 该方法用于使用训练好的模型进行预测。将待预测数据x_pred转换为xgb.DMatrix格式。使用训练好的模型self.bst进行预测并返回预测结果。 kfold 方法 该方法执行K折交叉验证。使用xgb.cv函数进行K折交叉验证并返回交叉验证的结果。 plt_feature_importance 方法 该方法用于绘制特征重要性。获取模型中特征的重要性得分并将其排序。使用pd.Series.plot方法绘制特征重要性的条形图。 get_params 方法 该方法用于获取当前设置的XGBoost参数。返回存储在self.params中的参数。 set_params 方法 该方法用于更新XGBoost参数。使用传入的关键字参数更新self.params字典中的参数并返回更新后的参数。 这个XGBoostre类为XGBoost模型提供了一个封装接口使得用户可以更方便地进行模型训练、预测和评估同时还可以进行参数调优和特征重要性分析。 训练模型 if __name__ __main__:deal_loss()change()change_week()params_xgb {booster: gbtree,objective: reg:squarederror,eval_metric: rmse, # 对于回归问题,默认值是rmse,对于分类问题,默认值是errorgamma: 0.1, #损失下降多少才分裂max_depth: 4,lambda: 1.2, #控制模型复杂度的权重值的L2曾泽化参数参数越大越不容易过拟合subsample: 0.9, #随机采样的训练样本colsample_bytree: 0.9, #生成树时特征采样比例min_child_weight: 3, # 6silent: 0, #信息输出设置成1则没有信息输出eta: 0.12, #类似学习率seed: 1000,nthread: 9,}X_data,y_label,testst,prediction get_data()model(X_data,y_label,testst,prediction)df pd.read_csv(result.csv,encodinggbk)df[区县id] df[columns].apply(arr)对预测模型进行训练和预测然后将结果保存到一个 CSV 文件中并进行后续的数据处理。 XGBoost模型参数设置: 定义了一个字典 params_xgb包含了 XGBoost 模型的超参数设置。这些参数控制了模型的结构和训练过程。 获取数据: 调用 get_data() 函数但代码中未提供该函数的实现。这个函数用于获取训练数据 (X_data, y_label) 和测试数据 (testst)。 模型训练: 调用 model 函数传入训练数据和测试数据进行模型训练和预测。模型的超参数通过 params_xgb 传递。 读取CSV文件并进行数据处理: 使用 Pandas (pd) 读取一个 CSV 文件文件名为 “result.csv”使用 GBK 编码。对 DataFrame 中的 “columns” 列应用 arr 函数但未提供 arr 函数的实现。 系统可视化数据请求接口 app.route(/) def main_page():month_rain data_service.get_month_rain_volume()ave_wind data_service.get_ave_wind()count, output, weather data_service.get_total()yearly_outputs data_service.get_yearly_output()months_temp data_service.get_months_temp()times_selling data_service.get_times_selling()months_sun data_service.get_months_sun()table_list data_service.get_table_list()return render_template(main.html, month_rainmonth_rain,ave_windave_wind,table_listtable_list,countcount, outputoutput, weatherweather,yearly_outputsyearly_outputs, months_tempmonths_temp,times_sellingtimes_selling, months_sunmonths_sun)数据获取: month_rain data_service.get_month_rain_volume(): 获取月降雨量的数据是通过调用 get_month_rain_volume 函数从 data_service 中获取。ave_wind data_service.get_ave_wind(): 获取平均风速的数据是通过调用 get_ave_wind 函数从 data_service 中获取。count, output, weather data_service.get_total(): 获取总数、输出和天气的数据是通过调用 get_total 函数从 data_service 中获取。其他类似的语句用于获取其他数据如年度产出、月温度、销售次数、月日照时间等。 HTML 模板渲染: return render_template(main.html, ...): 使用 Flask 提供的 render_template 函数渲染 HTML 模板。传递了多个变量作为模板中的参数这些变量包括上面获取的各种数据。 返回结果: main.html 模板将使用传递的数据进行渲染然后作为 HTTP 响应返回给用户。 模型评分 0.5*mse def myFeval(preds, xgbtrain):模型评分 0.5*msexgbtrain xgbtrain.get_label() #将xgboost.core.DMatrix类转化为ndarray类别score mean_squared_error(xgbtrain,preds)*0.5return myFeval, score自定义评估函数 myFeval用于在XGBoost模型训练过程中评估模型的性能。 参数解释: preds: 预测的目标变量值。xgbtrain: XGBoost训练数据通常是 xgboost.DMatrix 类型。 函数逻辑: xgbtrain xgbtrain.get_label(): 将 xgbtrain 转换为 ndarray 类型通过调用 get_label() 方法获取标签。这是将XGBoost的 DMatrix 转换为NumPy数组的操作。 score mean_squared_error(xgbtrain, preds) * 0.5: 计算均方误差Mean Squared ErrorMSE然后乘以0.5。这是一个模型评估指标用于衡量模型预测值与实际标签之间的平方差。将MSE乘以0.5可能是为了得到更合适的评估分数。 return myFeval, score: 返回一个元组包含自定义评估名称 ‘myFeval’ 和计算得到的分数。 该评估函数主要用于XGBoost模型训练中作为 eval_metric 参数的值。这个函数的设计是为了与XGBoost的内置评估函数保持一致并且使用MSE的一半作为最终评估分数。 六、系统实现 启动项目 可视化模块主要实现了对各个地区农业产量的轮播数据展示、对气象变化归路展 示、对气象天气进行分类统计、对日照时间进行统计柱状图分析等功能。实现流程首先 通过浏览器发动 http 请求Flask 接收到请求后通过 PyMysql 对数据库进行查询然 后格式化与分析后响应给前端前端通过 Echarts 技术在进行可视化解析与渲染最终 实现可视化效果。 用户模块核心带主要是用户登录时候的校验这里以用户登录的业务逻辑层代码为 例如下图 所示。 登录页面 注册页面 后台管理首页 用户管理 公告管理 产量数据管理 气象数据管理 产量预测管理 七、总结 基于XGBoost的算法分析预测具有许多优势这些优势使得XGBoost成为许多应用场景的首选算法之一。 高性能 XGBoost是一种梯度提升算法它在性能上表现出色。通过使用并行处理和基于特征的分裂方法XGBoost能够快速、高效地处理大规模数据集。 强大的正则化 XGBoost通过正则化项如L1和L2正则化提供了对模型的强大控制有助于防止过拟合。这使得模型更具泛化能力可以适用于不同的数据集。 处理缺失值 XGBoost能够自动处理缺失值。在实际应用中数据中的缺失值是常见的问题而XGBoost能够有效地处理这些情况而不需要进行额外的数据处理。 可解释性 XGBoost具有一定的可解释性可以输出特征的重要性得分。这对于理解模型对农作物产量预测中哪些特征起到关键作用非常有帮助从而为农业决策提供支持。 适用于多种任务 XGBoost不仅可以用于回归问题如农作物产量预测还可以用于分类和排序等任务。这种通用性使得XGBoost在不同类型的问题中都能够展现出色的性能。 可扩展性 XGBoost具有良好的可扩展性可以应对大规模数据和高维特征。它支持分布式计算可以在分布式环境中运行提高了处理大规模数据时的效率。 特征重要性评估 XGBoost可以输出特征的相对重要性帮助用户理解模型对输入特征的依赖程度。这对于农作物产量预测系统的可解释性和可理解性非常有价值。 总结来说XGBoost在性能、鲁棒性和可解释性等方面都表现出色使其成为解决复杂问题的强大工具也为农作物产量预测系统提供了可靠的建模手段。 需项目资料/商业合作/交流探讨等可以添加下面个人名片感谢各位的喜欢与支持 后续持续更新更多优质内容
http://www.hkea.cn/news/14482735/

相关文章:

  • ui设计师需要考什么证搜索引擎优化网站排名
  • dw网站二级页面怎么做广西钦州网站建设
  • 互动广告机网站建设无锡市网站建设
  • 郑州网站建设优化企业如何进行简单的网页设计
  • 网站建设傲鸿怎么通过做网站赚钱
  • 宁波企业自助建站网页制作是计算机什么专业
  • 专业建站教程口碑营销相关案例
  • 门户网站建设软件网站建设首选-云端高科
  • 专门做课件的网站wordpress弹幕主题
  • 捕鱼游戏网站开发商网络规划设计师培训
  • 国外高端网站潍坊手机网站
  • 网站多少钱一年网站开发工程是待遇
  • 医院病房建设网站哪家做公司网站
  • 成都市自住房建设网站看颜色应该搜索哪些词汇
  • 楼盘网站建设商城小程序定制公司
  • 网站总体规划设计说明好的室内设计网站
  • 做网站所需要的资质网站做微信支付宝支付宝
  • 网页设计公司婚庆网站模板下载国家企业信用信息查询平台官网
  • 网站组建新媒体运营和ui设计哪个好
  • 外贸一般在哪些网站wordpress程序员主题
  • 重生北京上大学开网吧做网站的小说建程网官网平台
  • 邯郸wap网站建设费用好网站目录
  • 怎么将网站做成html玉林专业网站建设
  • 怎么看网站做的好不好wordpress做人事网站
  • 网站建设怎么建设网站关键词排行查询
  • 转塘有做网站的吗主题教育网站建立
  • 做网站服务怎么赚钱wordpress注册页面修改
  • 网站建设 律师wordpress导航菜单加图片
  • 用群晖做网站wordpress插件的语言设定
  • 甘肃省水利厅引洮工程建设管理局网站做网站需要服务器和什么软件