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

建设一个网站预算零基础怎么做网站

建设一个网站预算,零基础怎么做网站,工程材料信息价查询网免费,有什么推广方法XGboost#xff08;extreme gradient boosting#xff09;:高效实现了GBDT算法并进行了算法和工程上的许多改进。 XGboost的思路#xff1a; 目标#xff1a;建立k个回归树#xff0c;使得树群的预测尽量接近真实值#xff08;准确率#xff09;而且有尽量大的泛化能力… XGboostextreme gradient boosting:高效实现了GBDT算法并进行了算法和工程上的许多改进。 XGboost的思路 目标建立k个回归树使得树群的预测尽量接近真实值准确率而且有尽量大的泛化能力。 目标函数 i表示第i个样本表示第i个样本的预测误差误差越小越好表示树的复杂度的函数越小复杂度越低泛化能力越强 T叶子的个数 w的L2模平方 目标要求预测尽量小叶子节点尽量少节点数值尽量不极端回归树的参数1选取哪个特征分裂节点2节点的预测值。间接解决这两个参数的方法贪心策略最优化二次最优化 1选取哪个特征分裂节点最简单的是枚举选择loss function效果最好的那个 2确立节点的w以及最小的loss function采用二次函数的求最值 步骤选择一个feature分裂计算loss function最小值然后再选一个feature分列又得到一个loss function最小值枚举完成后找一个效果最好的把树分裂在分裂的时候每次节点分裂loss function被影响的只有这个节点的样本因而每次分裂计算分裂的增益只需要关注打算分裂的那个节点的样本。接下来继续分裂按照上述方法形成一棵树再形成一棵树每次在上一次的预测基础上取最优进一步分裂/建树。 停止条件 ①当引入的分裂带来的增益小于一个阈值的时候可以剪掉这个分裂所以并不是每一次分裂lossfunction整体都会增加的有点预剪枝的意思阈值参数为正则项里叶子节点数T的系数。 ②当数达到最大深度时则停止建立决策树设置一个超参数max_depth树太深很容易出现过拟合。 ③当样本权重和小于设定阈值时则停止建树一个叶子节点样本太少时终止避免过拟合。 constant常数对于XGboost利用泰勒展开三项做一个近似表示其中一颗回归树。 XGBoost与GBDT有什么不同 1、GBDT是机器学习算法XGboost是该算法的工程实现 2、在使用CART作为及分类器时XGboost显式地加入了正则项来控制模型的复杂度有利于防止过拟合从而提高模型的泛化能力 3、GBDT在模型训练时只是用来代价函数的一阶导数信息XGboost对代价函数进行二阶泰勒展开可以同时使用一阶和二阶导数 4、传统的GBDT采用CART作为基分类器XGboost支持多种类型的基分类器比如线性分类器 5、传统的GBDT在每轮迭代时使用全部的数据XGboost则采用了与随机森林相似的策略支持对数据进行采样 6、传统的GBDT没有设计对缺失值的处理而XGboost能够自动学习出缺失值的处理策略。 使用xgboost库中的XGBRegressor类来创建XGboost模型 import xgboost as xgb xgb_clfxgb.XGBRegressor(max_depth8,learning_rate0.1,objectivereg:linear,eval_metricrmse, n_estimators3115,colsample_bytree0.6, reg_alpha3, reg_lambda2, gamma0.6,subsample0.7, silent1, n_jobs-1) XGBRegressor中的参数介绍 max_depth树的最大深度增加这个值可以使模型更加复杂并提高队训练数据的拟合程度但可能会导致过拟合。通常需要通过交叉验证来调整这个参数。 learning_rate学习率用于控制每次迭代更新权重时的步长。 objective定义了学习任务和相应的损失函数“reg:linear” 表示我们正在解决一个线性回归问题。 eval_metric评估指标用于在训练过程中对模型的表现进行评估‘rmse’ 表示均方根误差Root Mean Squared Error它是回归问题中常用的性能指标。 n_estimators森林中树的数量值越大模型越复杂训练时间也会相应增加。通常需要通过交叉验证来调整这个参数。 colsample_bytree构建每棵树时对特征进行采样的比例。较小的值可以减少过拟合提高模型的泛化能力。 reg_alphaL1正则化项的权重增加这个值同样也可以增加模型的正则化强度。 gamma树的叶子节点进一步分裂所需的最小损失减少量。较大值会导致模型更保守可能会导致模型的过拟合。 subsample用于训练每棵树的样本占整个训练集的比例。 silent设置为1可以关闭在运行时的日志信息。 n_jobs并行运行的作业数。 基本模型 import pandas as pd import xgboost as xgb import pandas import numpy as np# 将pandas数据框加载到DMatrix data_train pandas.DataFrame(np.arange(12).reshape((4,3)), columns[a, b, c]) label_train pandas.DataFrame(np.random.randint(2, size4)) dtrain xgb.DMatrix(data_train, labellabel_train, missingnp.NaN) # 缺失值可以用构造函数中的默认值替换DMatrixdata_test pandas.DataFrame(np.arange(12, 24).reshape((4,3)), columns[a, b, c]) label_test pandas.DataFrame(np.random.randint(2, size4)) dtest xgb.DMatrix(data_test, labellabel_test, missingnp.NaN) # 缺失值可以用构造函数中的默认值替换DMatrix# # 将CSV文件加载到DMatrix # # label_column specifies the index of the column containing the true label # dtrain xgb.DMatrix(train.csv?formatcsvlabel_column0) # dtest xgb.DMatrix(test.csv?formatcsvlabel_column0) # # XGBoost 中的解析器功能有限。当使用Python接口时建议使用pandasread_csv或其他类似的实用程序而不是XGBoost的内置解析器。param {max_depth: 2, eta: 1, objective: binary:logistic} param[nthread] 4 param[eval_metric] [auc, ams0] # 指定多个评估指标 # 指定验证集以观察性能 evallist [(dtrain, train), (dtest, eval)]# 训练 num_round 20 bst xgb.train(param, dtrain, num_round, evallist, early_stopping_rounds10) # 返回最后一次迭代的模型而不是最好的模型 # early_stopping_rounds10作用如果模型在10轮内没有改善则训练将提前停止如果设置多个指标则最后一个指标将用于提前停止 # 训练完成后保存模型 bst.save_model(test_xgboost/0001.model) # 模型转储到文本文件中 bst.dump_model(test_xgboost/dump.raw.txt) # 加载模型 bst xgb.Booster({nthread: 4}) # 初始化模型将线程数设置为4 bst.load_model(test_xgboost/0001.model) # 加载模型 # 如果训练期间启动提前停止可以从最佳迭代中获得预测 ypred bst.predict(dtest, iteration_range(0, bst.best_iteration 1)) ypred pd.DataFrame(ypred) ypred.to_csv(test_xgboost/xgb_predict.csv, indexFalse) 使用scikit-learn的方法 from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_splitimport xgboost as xgbX, y load_breast_cancer(return_X_yTrue) # 加载数据 X_train, X_test, y_train, y_test train_test_split(X, y, stratifyy, random_state94) # stratifyy按目标变量分层划分确保训练集和测试集中目标变量的比例与原始数据集相同 # random_state94: 设置随机种子保证每次划分的结果相同# 使用hist来构建树并启用早期停止 early_stop xgb.callback.EarlyStopping(rounds2, metric_namelogloss, data_namevalidation_0, save_bestTrue ) clf xgb.XGBClassifier(tree_methodhist, callbacks[early_stop]) clf.fit(X_train, y_train, eval_set[(X_test, y_test)]) # 保存模型 clf.save_model(test_xgboost/clf.json) https://xgboost.readthedocs.io/en/latest/python/index.html
http://www.zqtcl.cn/news/763425/

相关文章:

  • 如何做招聘网站分析wordpress状态修改
  • 兰考网站建设微信运营是干嘛的
  • 网站ps照片怎么做的网站开发项目实训报告
  • 做流量网站it建设人才网
  • 杭州拱墅区网站建设推荐定制型网站建设
  • 网站建设需要达到什么样的效果上海营销网站推广多
  • 现代化公司网站建设长沙公司网站建立
  • 网站开发需要哪些人才辽宁奔之流建设工程有限公司网站
  • 做旅游产品的网站有哪些个人做搜索网站违法吗
  • 营销型网站的功能网站制作价钱多少
  • angularjs 网站模板工作感悟及心得
  • 福州 网站定制设计哈尔滨网站建设咨询
  • 酒吧网站模板创办网页
  • 外贸网站建设软件有哪些现在网站建设用什么语言
  • lnmp wordpress 主题不见高级seo课程
  • 成都哪家公司做网站最好杭州软件开发
  • 做网站多少宽带够wordpress编辑文章中图片
  • 无锡网站制作排名软件工程公司
  • 做网站国内好的服务器美食网站建设项目规划书
  • 三亚市住房和城乡建设厅网站江西电信网站备案
  • 联谊会总结网站建设对外宣传如何在家做电商
  • 360建站系统徐州建设银行网上银行个人网站
  • 网站域名在哪里备案石家庄站规模
  • 重庆南川网站制作公司电话工会网站群建设
  • 深圳高端建设网站忘了网站链接怎么做
  • 郑州做网站报价wordpress中文4.8
  • 网站维护费用一年多少跨境电商平台网站建设广州
  • 辽宁网站制作公司网店装修流程
  • html5可以做交互网站吗打开网站说建设中是什么问题?
  • 彩票网站开发制作需要什么wordpress 在线预览