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

互动网站欣赏做外贸卖小商品是哪个网站

互动网站欣赏,做外贸卖小商品是哪个网站,杭州哪里做网站,广告设计制作公司简介Xgboost XGBoost#xff08;eXtreme Gradient Boosting#xff09;是一种机器学习算法#xff0c;是梯度提升决策树#xff08;Gradient Boosting Decision Trees#xff09;的一种优化实现。它是由陈天奇在2014年开发并推出的。XGBoost是一种强大而高效的算法#xff0…Xgboost XGBoosteXtreme Gradient Boosting是一种机器学习算法是梯度提升决策树Gradient Boosting Decision Trees的一种优化实现。它是由陈天奇在2014年开发并推出的。XGBoost是一种强大而高效的算法被广泛用于解决各种机器学习问题包括分类、回归、排序、推荐和异常检测等。它结合了梯度提升算法的优点通过并行处理和优化技术达到了高性能和高准确性的平衡。 先来举个例子我们要预测一家人对电子游戏的喜好程度考虑到年轻和年老相比年轻更可能喜欢电子游戏以及男性和女性相比男性更喜欢电子游戏故先根据年龄大小区分小孩和大人然后再通过性别区分开是男是女逐一给各人在电子游戏喜好程度上打分得到tree1。同时对电子游戏的喜好程序一定程度上可以从每天用电脑的时间分析得到tree2。两棵树的结论累加起来便是最终的结论所以小孩的预测分数就是两棵树中小孩所落到的结点的分数相加2 0.9 2.9。爷爷的预测分数同理-1 -0.9 -1.9 目标函数 红色箭头所指向的L 即为损失函数比如平方损失函数l(yi,yi)(yi−yi)2)红色方框所框起来的是正则项包括L1正则、L2正则红色圆圈所圈起来的为常数项对于f(x)XGBoost利用泰勒展开三项做一个近似。f(x)表示的是其中一颗回归树。 Xgboost核心思想 1.不断地添加树不断地进行特征分裂来生长一棵树每次添加一个树其实是学习一个新函数ft(x)去拟合上次预测的残差新添加的ft(x)使得我们的目标函数尽量最大地降低。 2.当我们训练完成得到k棵树我们要预测一个样本的分数其实就是根据这个样本的特征在每棵树中会落到对应的一个叶子节点每个叶子节点就对应一个分数。 3.最后只需要将每棵树对应的分数加起来就是该样本的预测值。 如何选择每一轮加入什么树呢答案是非常直接的选取一个 f 来使得我们的目标函数尽量最大地降低。这里 f 可以使用泰勒展开公式近似。 正则项 Xgboost的目标函数损失函数正则项表达 一般的目标函数都包含这两项其中误差/损失函数鼓励我们的模型尽量去拟合训练数据使得最后的模型会有比较少的 bias。而正则化项则鼓励更加简单的模型。因为当模型简单之后有限数据拟合出来结果的随机性比较小不容易过拟合使得最后模型的预测更加稳定。 如下图所示xgboost对树的复杂度包含了两个部分 一个是树里面叶子节点的个数T一个是树上叶子节点的得分w的L2模平方对w进行L2正则化相当于针对每个叶结点的得分增加L2平滑目的是为了避免过拟合 在这种新的定义下我们可以把之前的目标函数进行如下变形 接着我们可以定义 最终公式可以化简为 通过对wj求导等于0可以得到 分裂节点 1枚举所有不同树结构的贪心法 从树深度0开始每一节点都遍历所有的特征比如年龄、性别等等然后对于某个特征先按照该特征里的值进行排序然后线性扫描该特征进而确定最好的分割点最后对所有特征进行分割后我们选择所谓的增益Gain最高的那个特征。 2近似算法 主要针对数据太大不能直接进行计算。 设置阈值只有增益大于该阈值时才进行分裂。 Xgboost模型参数 1.General Parameters (通用参数) booster[默认gbtree]选择每次迭代的模型有两种选择: gbtree:基于树模型gblinear:线性模型。silent[默认为0]当设置为1的时候静默模式开启不会输出任何信息。nthread [默认为最大可能的线程数]这个参数用来进行多线程控制应当输入系统的核数若不设置CPU会用全部的核。 2.Booster Parameters模型参数) eta [默认值 0.3]类似于GBM中的学习率通过缩小每一步的权重使模型更加鲁棒典型的最终使用值0.01-0.2。min_child_weight [default 1]定义所需观察的最小权重总和。用于控制过度配合。较高的值会阻止模型学习关系这种关系可能对为树选择的特定样本高度特定。太高的值会导致欠拟合因此应使用CV进行调整。max_depth [default 6]树的最大深度与GBM相同。用于控制过度拟合因为更高的深度将允许模型学习非常特定于特定样本的关系。应该使用CV进行调整。典型值3-10max_leaf_nodes树中终端节点或叶子的最大数量。可以定义代替max_depth。由于创建了二叉树因此深度n将产生最多2n个叶子。gamma [default 0]如果分裂能够使loss函数减小的值大于gamma则这个节点才分裂。gamma设置了这个减小的最低阈值。如果gamma设置为0表示只要使得loss函数减少就分裂使算法保守。值可能会根据损耗函数而有所不同因此应进行调整。max_delta_step [default 0]在最大增量步长中我们允许每棵树的权重估计。如果该值设置为0则表示没有约束。如果将其设置为正值则可以帮助使更新步骤更加保守。通常不需要此参数但是当类非常不平衡时它可能有助于逻辑回归。Subsample[default 1]与GBM的子样本相同。表示观察的比例是每棵树的随机样本。较低的值使算法更加保守并防止过度拟合但过小的值可能导致不合适。典型值0.5-1。colsample_bytree [default 1]与GBM中的max_features类似。表示每个树的随机样本列的比例。典型值0.5-1。colsample_bylevel [default 1]表示每个级别中每个拆分的列的子采样率。我不经常使用它因为subsample和colsample_bytree会为你完成这项工作。但如果你有这种感觉你可以进一步探索。lambda [default 1]关于权重的L2正则项类似于岭回归这用于处理XGBoost的正则化部分。虽然许多数据科学家不经常使用它但应该探索减少过度拟合。alpha [默认 0]L1正则化项的权重类似于Lasso回归可以在非常高维度的情况下使用以便算法在实现时运行得更快。scale_pos_weight [default 1]在高级别不平衡的情况下应使用大于0的值因为它有助于更​​快的收敛。n_estimators对原始数据集进行有放回抽样生成的子数据集个数即决策树的个数。若n_estimators太小容易欠拟合太大不能显著的提升模型所以n_estimators选择适中的数值。 3.Learning Task Parameters (学习任务参数) Objective [default reglinear]这定义了要最小化的损失函数。最常用的值是 binary:logistic -logistic回归用于二进制分类返回预测概率不是类multi:softmax使用softmax的多分类器返回预测类不是概率 您还需要设置一个额外的 num_class 类数参数用于定义唯一类的数量 multi:softprob和multi:softmax参数一样但返回属于每个类的每个数据点的预测概率。 eval_metric [默认根据objective参数的取值]用于验证数据的度量标准。回归的默认值为rmse分类的误差为error。典型值为 rmse - 均方根误差mae - 平均绝对误差logloss - 负对数似然error - 二进制分类错误率0.5阈值merror - 多类分类错误率mlogloss - 多类loglossauc 曲线下面积 seed(默认为0) 随机数的种子设置它可以复现随机数据的结果也可以用于调整参数。 Xgboost回归模型通过features预测value import os import pandas as pd import numpy as np import sklearn import xgboost as xgb import matplotlib import matplotlib.pyplot as plt import seaborn as sns from tqdm import tqdm from MyModel.utils.features import * import warnings warnings.filterwarnings(ignore)def huber_approx_obj(y_pred, y_test):d y_pred - y_testh 5 # h is delta in the graphicscale 1 (d / h) ** 2scale_sqrt np.sqrt(scale)grad d / scale_sqrthess 1 / scale / scale_sqrtreturn grad, hessdef load_datasets():pd.set_option(display.max_columns, 1000)pd.set_option(display.width, 1000)pd.set_option(display.max_colwidth, 1000)df pd.read_pickle(****.pickle)features [key1,key2,key3,key4,key5,key6,key7]print(df.head(10))df_train, df_test sklearn.model_selection.train_test_split(df, test_size0.2)X_train, X_test df_train[features], df_test[features]print(X_test)y_train, y_test df_train[value], df_test[value]print(y_test)return X_train, X_test, y_train, y_testdef model_train(X_train, X_test, y_train, y_test):regressor xgb.XGBRegressor(objhuber_approx_obj, n_estimators12, max_depth64, colsample_bytree0.8)print(len(X_train))regressor.fit(X_train, y_train, eval_metrichuber_approx_obj)y_pred_test regressor.predict(X_test)print(y_test)print(y_pred_test)error np.median(10 ** np.abs(y_test - y_pred_test))print(error)def main():X_train, X_test, y_train, y_test load_datasets()model_train(X_train, X_test, y_train, y_test)if __name__ __main__:main()
http://www.hkea.cn/news/14260231/

相关文章:

  • 东莞住房和城乡建设厅网站做百度手机网站点击
  • 展示网站开发软件开发详细流程
  • asp做网站的缺点湖南建筑人才网招聘
  • 自己用自己电脑做网站空间知乎 网站建设
  • 淘宝网站icp备案wordpress仿36kr主题
  • 学校官方网站个人信用信息服务平台
  • 网站建设付款页面WordPress导入hexo
  • 在建设局网站上怎么样总监解锁杭州网络营销推广公司
  • 怎么做黑客攻击网站网站域名收费
  • o2o平台网站建设wordpress前端验证
  • 建筑工程 技术支持 东莞网站建设360建筑网证书估价
  • 做网站需要多少深圳微信商城网站设计费用
  • 响应式建站网站网站建设 标书
  • 本公司经营网站建设商标注册号在哪个位置
  • 株洲企业网站建设工作合肥建设工程竣工结算备案网站
  • 免费网站转app网络广告营销环境发生了哪些变化
  • 做网站的书籍为什么网页不能打开建设银行网站
  • 网站自然优化php做网站代码
  • 怎样用ps做网站wordpress门户网站模板下载
  • 买网站服务器生物公司网站建设方案
  • 微信端网站开发流程图o2o与网站建设
  • 自己电脑做网站 外网无法访问灵台县门户网站
  • 中国十大网站域名万网主体新增网站备案需要是滴么
  • 有关毕业设计的网站企业网站建设公司怎么做
  • 诸城做网站公司网站不用备案
  • 做职业背景调查的网站wordpress 导航高亮
  • ...无锡网站制作全国建筑网站
  • 为什么要用国外服务器做网站泉州做网站开发公司
  • 高性能网站建设在线阅读网络营销发展方案策划书
  • 简单的网站php开发教程深圳网站建设 公司元