面向Kaggle和离线比赛实用工具库nyaggle解决特征工程与验证两大难题(附代码)

雷锋网 AI 开发者按:在大多数机器学习竞赛中,特诊工程的质量通常决定着整个作品的得分与排名,也是参赛者们非常看重的一部分。在 GitHub 上,作者 Nomi(专注于计算机视觉与嵌入式技术,也是 tiny-dnn 的原作者)向我们介绍了一个面向 kaggle 数据科学和离线竞赛的实用工具库 nyaggle,可供开发者专用于特征工程与验证。

在机器学习和模式识别中,特征工程的好坏将会影响整个模型的预测性能。其中特征是在观测现象中的一种独立、可测量的属性。选择信息量大、有差别性、独立的特征是模式识别、分类和回归问题的关键一步,可以帮助开发者最大限度地从原始数据中提取特征以供算法和模型使用。

结果显示,有58%的受访者表示,对成为东京奥运会志愿者“意愿不高”,而表示愿意的受访者比例仅为39.2%。

返回基础验证器的前 N 个特征,该验证器打包基本验证器以迭代返回前 n 个特征:

加载特征并返回连接的数据框架:

如果想让 GUI 仪表板管理实验,开发者则可以通过只设置 with_mlfow = True 来将 run_experiment 与 mlflow 一起使用(需要预先安装 mlflow)。然后在与执行脚本相同的目录中,运行即可。

nyaggle.feature.category_encoder 其中,Kfold 包装器用于类似 sklearn 的界面;此类包装器的 TransformerMixIn 具有 fit / transform / fit_transform 方法的对象,并以 K 个特征方式进行调用。而对于不同分类特征的目标编码运行方式如下: 对于分类目标  将特征替换为给定特定分类值的目标后验概率与所有训练数据上目标的先验概率的混合。 对于连续目标  用给定特定分类值的目标期望值和所有训练数据上目标的期望值的混合替换特征。

加载特征作为 pandas 数据框架:

视频:韩方方赵玉和吴刚潘彬彬卡娅梅朵马洪婷贾海元黎晓刚

施政报告提出,澳门特区政府在适当时候,会请求中央政府恢复内地赴澳旅游签注审批,增加自由行城市。贺一诚表示,澳门目前已连续12天没有新增确诊病例,相信到4月底若无新增病例,将会具备条件请求重开自由行。

通过交叉验证评估指标;同时,它还记录了异常预测和测试预测:

通过参数名称获取超参数:

施政报告将旅游局纳入经济财政范畴,贺一诚解释,这是经过政务会议详细讨论而作出的决定。他认为如果澳门以旅游业作为经济支柱产业,则应将旅游局纳入经济财政范畴,让经济、会展、旅游合力发展,不浪费资源。

注意:如果要自定义日志记录的行为,可以在 mlflow run 上下文中调用 run_experiment;如果正在运行,则 run_experiment 将使用当前正在运行的运行,而不是创建新的运行。

滑动窗口时间序列交叉验证器,也是时间序列交叉验证器。该验证器基于滑动窗口提供测试索引,以分割可变间隔时间序列数据。此类与 sklearn 的 BaseCrossValidator(KFold,GroupKFold 等的基类)兼容:

雷锋网原创文章,。详情见转载须知。

而 nyaggle 就是一个特定于 Kaggle 和离线比赛的实用工具库,它主要作用于四个部分,即:特征工程、模型验证、模型实验以及模型融合,尤其在特征工程和模型验证方面有较强的性能。

有记者问及澳门博彩牌照重新竞投方案一事,贺一诚表示,政府正在研究有关博彩经营权的检讨报告,然后要经公开咨询后才可再进入立法阶段,所以未有将相关内容写进施政报告内。他表示,任何人都可以竞投博彩牌照,都是公开竞投,未来的博彩牌照是不会作任何延续,也没有减税计划。

将排行榜得分记录到现有实验目录中:

nyaggle.feature 类——以特征格式管理运行系列功能

东京奥运会和残奥会将分别于2020年7月24日至8月9日和2020年8月25日至9月6日,在日本东京举行。

它可以与 mlflow 跟踪结合使用,如果使用 LightGBM 作为模型,则代码将非常简单如下所示:

之后,run_experiment API 执行交叉验证后,会将工件存储到日志目录。输出文件存储如下:

时间序列交叉验证器,提供训练/测试索引以拆分可变间隔时间序列数据。此类提供了用于时间序列验证策略的低级 API。此类与 sklearn 的 BaseCrossValidator(KFold,GroupKFold 等的基类)兼容:

目前,累计解除隔离医学观察2107人,尚集中隔离医学观察1487人。

其中,在特征工程方面,nyaggle 包含了 K 个特征目标编码和 BERT 句子向量化。目标编码使用的是目标变量的均值编码类别变量,为训练集中的每个分组计算目标变量的统计量,之后会合并验证集、测试集以捕捉分组和目标之间的关系。BERT 句子向量化则是对 Bert 模型的输入做一个向量化,提取词句的三维信息。

雷锋网 AI 开发者    雷锋网(公众号:雷锋网)

然后在与执行脚本相同的目录中,运行即可,相关结果(带有 CV 得分和参数的实验列表)可在 http:// localhost:5000 页面上查看。

将 pandas 数据框架另存为特征格式:

其中,run_experiment()正是用于此类交叉验证实验的高级 API,它在指定目录下输出参数、指标、异常预测、测试预测、功能重要性和 Submitting.csv。

绘制特征重要性并写入图像:

通过交叉验证评估指标并将结果(日志,预测,测试预测,特征重要性图和提交文件)存储在指定目录下。过程中将使用估计器 LGBM 分类器、LGBM 回归器、CatBoost 分类器、CatBoost 回归器其中之一,具体估计器由 type_of_target(y)和 gbdt_type 根据实际情况自动调用:

在典型的表格数据竞赛中,开发者可能会通过交叉验证重复进行评估,并记录参数和结果以跟踪实验。

贺一诚表示,为了应对今次新冠肺炎疫情,协助社会各界共渡难关,特区政府共投入了500亿元,占了澳门GDP约12%。目前仍有30多亿澳门元未动用,将留作未来复苏及振兴经济之用。未来特区政府会减少一些不必要的开支和严格控制行政预算,但对于一些大型节庆活动如格兰披治大赛车等,反而会加大投入,希望藉此留住旅客,带动澳门经济的发展。(完)