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

网站建设完成推广c 网站开发简单实例教程

网站建设完成推广,c 网站开发简单实例教程,网页制作免费的素材网站,爱站关键词挖掘查询工具1.简介该部分是代码整理的第二部分#xff0c;为了方便一些初学者调试代码#xff0c;作者已将该部分代码打包成一个工程文件#xff0c;包含简单的数据处理、xgboost配置、五折交叉训练和模型特征重要性打印四个部分。数据处理部分参考#xff1a;代码整理一#xff0c;这…1.简介该部分是代码整理的第二部分为了方便一些初学者调试代码作者已将该部分代码打包成一个工程文件包含简单的数据处理、xgboost配置、五折交叉训练和模型特征重要性打印四个部分。数据处理部分参考代码整理一这里只介绍不同的部分。本文主要是介绍一些重点的参数部分一是方便自己以后再次查询也希望帮助一些初学者快速的使用该项目应用到自己的工程或者比赛中。如果只是想要阅读代码可直接移步到尾部链接。2. 数据处理data pd.concat([train_data, test_data]) cate_feature [gender, cell_province, id_province, id_city, rate, term] for item in cate_feature:data[item] LabelEncoder().fit_transform(data[item])item_dummies pd.get_dummies(data[item])item_dummies.columns [item str(i 1) for i in range(item_dummies.shape[1])]data pd.concat([data, item_dummies], axis1) data.drop(cate_feature,axis1,inplaceTrue)该部分在lightgbm中只进行了labelEncoder编码处理然后通过categorical_feature变量处理在lightgbm中使用了类别特征的最优切分进行了处理具体详情参考:柯国霖大佬的回答。xgboost中没有对类别特征做处理这里对其进行了onehot编码处理。而在工程中如果类别过多我一般会放弃进行onehot主要是由于进行onehot会导致特征过于稀疏运算速度变慢严重影响模型的迭代速度并且最终对结果提升很有限,我通常只会进行labelEncoder, 也可以对特征进行embeding处理。3.模型3.1 参数和lightgbm一样xgboost也是使用key-value字典的方式存储参数下面给出的事二分类的参数params {booster: gbtree,objective: binary:logistic,eval_metric: auc,gamma: 0.1,max_depth: 8,alpha: 0,lambda: 0,subsample: 0.7,colsample_bytree: 0.5,min_child_weight: 3,silent: 0,eta: 0.03,nthread: -1,seed: 2019, }objective目标函数二分类常用的是binary:logistic多分类multi:softmax,当是多分类任务时需要指定类别数量eg:num_class:33;回归任务reg:lineareval_metric评价函数如果该参数没有指定缺省值是通过目标函数来做匹配二分类常用auc和logloss多分类mlogloss回归任务均方误差mse均方根误差rmse, 平均绝对值误差maegamma用于控制是否后剪枝的参数,越大越保守一般0.1、0.2这样子max_depth树的深度对结果影响较大越深越容易过拟合alphaL1正则树的深度过大时可以适大该参数lambdaL2正则subsample随机采样的比率通俗理解就是选多少样本做为训练集选择小于1的比例可以减少方差即防止过拟合colsample_bytree这里是选择多少列作为训练集具体的理解就是选择多少特征min_child_weight决定最小叶子节点样本权重和。当它的值较大时可以避免模型学习到局部的特殊样本。但如果这个值过高会导致欠拟合eta学习率silent: 是否打印训练过程中的信息0表示打印1反之nthread运行的线程数-1所有线程该值需要根据具体情况调整线程对最终结果有一点影响曾今测试线程越多结果会变差一丢丢seed这个随机指定一个常数防止每次结果不一致3.2 五折交叉folds KFold(n_splits5, shuffleTrue, random_state2019)采用五折交叉统计实际就是训练多个模型和平均值融合如果时间允许的情况下10折交叉会好于5折。5折交叉还可以采用StratifiedKFold做切分。3.3 数据加载XGBoost可以加载多种数据格式的训练数据libsvm 格式的文本数据、Numpy 的二维数组、XGBoost 的二进制的缓存文件。加载的数据存储在对象 DMatrix 中而llightgbm是存储在Dataset中trn_data xgb.DMatrix(train_x.iloc[trn_idx], labeltrain_y[trn_idx]) val_data xgb.DMatrix(train_x.iloc[val_idx], labeltrain_y[val_idx])3.4 训练和预测##训练部分 watchlist [(trn_data, train), (val_data, valid)] clf xgb.train(params, trn_data, num_round, watchlist, verbose_eval200, early_stopping_rounds200)##预测部分 test_pred_prob clf.predict(xgb.DMatrix(test), ntree_limitclf.best_ntree_limit) / folds.n_splitsparams参数字典trn_data 训练的数据num_round迭代次数watchlist这是一个列表用于对训练过程中进行评估列表中的元素。形式是evals [(dtrain,’train’),(dval,’val’)]或者是evals [(dtrain,’train’)],对于第一种情况它使得我们可以在训练过程中观察验证集的效果。verbose_eval 如果为True ,则对evals中元素的评估结果会输出在结果中如果输入数字假设为5则每隔5个迭代输出一次。ntree_limit验证集中最好的结果做预测4.模型重要性模型重要性是根据树模型中该特征的分裂次数做统计的可以基于此重要性来判断特种的重要程度深入的挖掘特征具体代码如下##保存特征重要性 fold_importance_df pd.DataFrame() fold_importance_df[Feature] clf.get_fscore().keys() fold_importance_df[importance] clf.get_fscore().values() fold_importance_df[fold] fold_ 1 feature_importance_df pd.concat([feature_importance_df, fold_importance_df], axis0)##特征重要性显示 ## plot feature importance cols (feature_importance_df[[Feature, importance]] .groupby(Feature).mean().sort_values(byimportance, ascendingFalse).index) best_features feature_importance_df.loc[feature_importance_df.Feature.isin(cols)].sort_values(byimportance,ascendingFalse) plt.figure(figsize(8, 15)) sns.barplot(yFeature, ximportance,databest_features.sort_values(byimportance, ascendingFalse)) plt.title(LightGBM Features (avg over folds)) plt.tight_layout() plt.savefig(../../result/xgb_importances.png)在lightgbm中对应的事clf.feature_importance()函数而在xgboost中对应的是clf.get_fscore()函数。如果特征过多无法完成显示可以只取topN显示如只显示top5cols (feature_importance_df[[Feature, importance]].groupby(Feature).mean().sort_values(byimportance, ascendingFalse)[:5].index)5.小总结xgboost和lightgbm对比它的速度会慢很多使用也没有lighgbm方便但是可以将xgboost训练的结果和lightgbm做融合提升最终的结果。代码地址data_mining_models. 写在最后欢迎关注作者和专栏和作者一块成长ML与DL成长之路推荐关注公众号AI成长社ML与DL的成长圣地。同时推荐鱼佬专栏学习更对竞赛知识机器学习理论与数据竞赛实战推荐阅读【lightgbm/xgboost/nn代码整理一】lightgbm做二分类多分类以及回归任务【lightgbm/xgboost/nn代码整理三】keras做二分类多分类以及回归任务【lightgbm/xgboost/nn代码整理四】pytorch做二分类多分类以及回归任务
http://www.pierceye.com/news/144261/

相关文章:

  • 沈阳网站建设 网络服务wordpress媒体库图片不显示
  • 什么公司做网站出名大商创 多用户商城
  • 学校网站管理网站制作开发及优化是什么
  • wordpress获取所有标签页那些网站用不着做优化
  • 大有网网站现在较为常用的网站开发技术
  • 太原建站公司有哪些网站统计 wordpress
  • 网站轮播图怎么保存盛锡福网站
  • 做网站用百度浏览器网络营销案例分析试题
  • 当建设部门网站南宁网站的优化
  • wordpress访问文件夹成都黑帽seo
  • 上海市建设工程安全质量监督总站网站做配资网站
  • 网站管理建设的需求分析小程序开发教程免费
  • 石家庄网站建设电话重庆最便宜的网站建设
  • 人才网站建设策划书pc网站建设
  • 做网站用哪几个端口 比较好微信营销
  • 网站开发价格有专业做网站的吗网站公司
  • 西安网站建设全包做网站要多少
  • 如何建设传奇网站怎样做招嫖网站
  • 企石镇网站仿做连云港网站开发
  • php 网站做分享功能重庆建设工程信息网30系统
  • 西部数码创建php网站北京上云网站建设公司
  • 中标建设集团有限公司 网站游戏开发软件有哪些
  • 上饶哪里做网站办公家具网站建设公司
  • 建设银行园湖路支行网站外贸网站建设需要注意什么
  • 失物招领网站开发项目需求分析app开发定制公司哪家好做
  • 网站不用备案阿里云 wordpress搭建网站
  • 重庆网站推广软件小朋友做安全教育的网站
  • 商家自己做的商品信息查询网站互联网有哪些行业
  • 用dw做网站时怎么添加弹窗知名网站服务器
  • 网站备案做优惠券第一营销网