机器学习
文章平均质量分 91
舒克与贝克
AI 学习与生活
展开
-
[机器学习]XGBoost---增量学习多阶段任务学习
同理,如果我们按时间把数据分成几部分,然后按从早到晚的顺序多次训练模型,每个模型在上一个模型基础上训练,也间接地参加了后期实例的权重。当我们的训练数据非常多,并且还在不断增加时,每次都用全量训练,数据过多,时间过长,此时就可以使用增量训练:用新增的数据微调校正模型。对于已存在的决策树,早期训练的实例决定了模型的结构(选择哪些特征及分裂点),后期的实例决定最终的结果(叶节点的权重和新加入的树)。尽量用全量数据训练,如果数据太多,必须增量时,尽量保证增量数据的质量和数量(均匀分布),以免带偏模型。原创 2023-02-23 16:59:22 · 3319 阅读 · 1 评论 -
[机器学习] 通俗理解机器学习分类模型评估指标-准确率、精准率、召回率
一直总是听说过这几个词,但是很容易记混,在这里记录一下。希望对大家理解有帮助。很多人分不清召回率和精确率的区别,即使记住了公式,过段时间还是会忘掉,这里我会完全讲清楚这几个率的区别准确率很好理解,被正确预测出来的数量 / 所有的样本,这里不在赘述,主要讲解精确率和召回率虽然准确率能够判断总的正确率,但是在的情况下,并不能作为很好的指标来衡量结果。比如在样本集中,正样本有90个,负样本有10个,样本是严重的不均衡。原创 2022-09-21 14:17:10 · 1804 阅读 · 0 评论 -
[机器学习] 模型分的分布说明
显然我们如果模型分的分布类似红色曲线的话,非常不好做策略,假如我们是要把低分段人群排除掉,你选一个小于均值(这里是0)的值作为策略阈值,所圈选的排除人群极少,而如果选大于零的值作为策略阈值,圈选的排除人群又会很多。算法模型工程师的日常工作就是做特征,建模型,调参数,优化,如此反复迭代,你要问任何一个算法模型工程师,做模型会关注那些指标,可能会讲AUC,KS,PSI以及特征的IV值等等一堆指标,但好多人往往会忽略一个简单却重要的东西,那就是。原创 2022-09-09 11:12:34 · 856 阅读 · 0 评论 -
[机器学习]XGBoost 训练时使用Weight,AUC指标的计算总结
在训练XGB的时候, xgb.DMatrix()函数里有个weight的参数,可以给样本设置权重,这样xgb就可以在设置了权重的样本集上训练只要DMatrix()函数里设置了weight参数,打印出来的metric都是在加了权重的数据集上计算出来的。先放个代码,放个打印出来的logloss和auctain.txt,test.txt 为标准带weight的libsvm格式 label:weight 1:feat12:feat2 ......import ostrain = os.path....原创 2022-05-20 14:07:49 · 3699 阅读 · 0 评论 -
[机器学习] XGB/LGB---自定义损失函数与评价函数
一 自定义评价函数Q: 评价函数为什么会影响模型训练?A: 评价函数会决定best_iteration、best_score在哪里取得最优解。XGBoost模型支持自定义评价函数和损失函数。只要保证损失函数二阶可导,通过评价函数的最大化既可以对模型参数进行求解。实际使用中,可以考虑根据业务目标对这两者进行调整。举个例子,假设现在有一个提额模型,用处是将分数最高的20%客户给与更高的额度。也就是期望分数最高的20%的客群正样本捕获率最大化。可能在保证上述前提,同时保证模型对正负样本有一定的区分转载 2021-11-12 15:43:41 · 7664 阅读 · 0 评论 -
[机器学习] XGBoost 中特征共线性问题
I have always wondered how robust XGBoost is to correlation among independent variables. Should one check for multicollinearity before building an XGBoost model? In this post I will cover the impact of correlation on XGboost by using two datasets from Kagg转载 2021-10-13 11:37:28 · 1682 阅读 · 0 评论 -
微软NNI---AutoFeatureENG
01 AutoML概述AutoML不光是调参,应该包含自动特征工程。”今天回过头来看AutoML是一个系统化的体系,包含3个要素:自动特征工程Auto Feature Engineering 自动调参HPO 自动神经网络探索NAS02 NNI概述NNI(NerualNetworkIntelligence)是微软发起的一个AutoML开源工具,覆盖了上文提到的3要素,地址:https://github.com/SpongebBob/tabular_automl_NNI总体看微软的工具原创 2021-10-09 11:28:47 · 399 阅读 · 0 评论 -
[机器学习]总结特征工程干货
1. 简介( Feature Engineering)1.1问题定义“Feature engineering is the art part of data science” —Sergey YurgensonFeature engineering is the process of using domain knowledge to extract features from raw data via data mining techniques. These features can be转载 2021-09-27 15:51:40 · 1168 阅读 · 0 评论 -
[机器学习] 半监督学习---伪标签Pseudo-Label
大数据时代中,在推荐、广告领域样本的获取从来都不是问题,似乎适用于小样本学习的伪标签技术渐渐淡出了人们的视野,但实际上在样本及其珍贵的金融、医疗图像、安全等领域,伪标签学习是一把锋利的匕首,简单而有效。什么是伪标签技术先说第一个问题,假设我们现在有一个文本分类模型(先不用管分类模型是怎么来的以及怎么训练的),以及大量的无标注数据。我们现在使用文本分类模型对无标注数据进行预测,挑选softmax之后概率最大的那个类别为当前无标注数据对应的标签。因为是无标注数据而且我们模型准确不可能是百分之原创 2021-09-07 10:59:37 · 8495 阅读 · 1 评论 -
[机器学习] XGBoost 样本不平衡问题
一 说明在对不平衡数据进行训练时,通常会考虑一下怎么处理不平衡数据能使训练出来的结果较好。能想到的比较基础的方法是过采样和下采样来缓解数据中的正负样本比。在用xgboost训练二分类模型时,除了直接使用过采样和下采样,xgboost接口还提供一些处理不平衡数据的方法,有scale_pos_weight参数的设置,还有给样本赋予一定的权重。接下来让我们仔细看一下吧~参数scale_pos_weight:官方的解释是这样的,scale_pos_weight可以设置为数据中负样本数量/正样本数原创 2021-05-06 17:19:52 · 11735 阅读 · 1 评论 -
[机器学习] LightGBM on Spark (MMLSpark) 使用完全手册
一 Spark上训练模型优势与劣势(1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用一般的Hadoop分布式计算框架,每次计算都要读 / 写磁盘以及任务的启动等工作,这回导致非常大的 I/O 和 CPU 消耗。而 Spark 基于内存的计算模型天生就擅长迭代计算,多个步骤计算直接在内存中完成.(2)从通信的角度讲,如果使用 Hadoop分布式计算框架, 工作和任务之间由于是通过 heartbeat 的方式来进行的通信原创 2021-04-14 12:03:46 · 9776 阅读 · 9 评论 -
[机器学习] LightGBM并行计算算子具体实现
一 LightGBM网络组网步骤LightGBM并行计算中,计算节点之间采用静态互连网络,即程序执行期间,节点与节点之间的连接保持不变。LightGBM网络的建立需要事先定义所有worker的ip以及port,组网的过程通过Network::Init()完成,主要步骤如下:1.1 网络初始化入口 建立网络连接主要的逻辑在new Linkers(config)中。1.2 LightGBM中网络初始化过程初始化过程主要是建...转载 2021-03-25 19:16:41 · 789 阅读 · 0 评论 -
[机器学习]LightGBM分布式使用完全手册
一 LightGBM分布式支持说明使用源码编译过的二进制lightgbm来运行分布式分布式worker之间通信可以使用Socket与MPI方式二 LightGBM分布式环境安装分布式训练环境是Ubuntu一 Socket环境支持On Linux LightGBM can be built using CMake and gcc or Clang. Install CMake. Run the following commands: git clone --.原创 2021-03-18 15:31:39 · 1591 阅读 · 0 评论 -
[机器学习] 常用并行计算算子原理
一、概述 在大规模机器学习中,需要应对巨大的训练数据及计算量。当单机遇到性能瓶颈时需要通过多台机器并行训练来弥补计算能力与内存的不足。采用并行方式进行机器学习时,常常分为模型并行与数据并行。模型并行是将模型拆分成多个分片,由几个计算节点分别持有,共同协作完成训练,适用于模型规模非常大的情形。数据并行是将数据拆分为不同的部分,分别存放在不同的计算节点上,同时每个计算节点都维护一个相同的模型。数据并行方式的训练过程中,每个计算节点只对自己存放的数据进行计算得到局部结果,然后再对局部结果进行全局...原创 2021-03-17 15:33:02 · 4313 阅读 · 0 评论 -
机器学习在金融风控实践经验
由于金融风控场景的特殊性,很多算法同学在刚进入这个领域容易“水土不服”,为了使机器学习项目(也包括图算法相关的应用)落地更加顺利,本文介绍下实践过程的一些经验和踩过的坑。金融风控场景的特殊性与电商、广告等场景的风控不同,金融风控有关“钱”的安全,决定了公司的营收甚至是公司的生命线。例如360金融月放款200亿,如果违约率上升1个点,损失有多大?当然反过来如果风控做得好,违约率稍微下降一些,大家就可以开心过个好年了:)此外,风险具有滞后性,用户借款后至少要一个月才能知道是否会违约,甚至很多用户在还了半转载 2021-02-07 11:39:42 · 987 阅读 · 0 评论 -
[机器学习]试试Kaggle大牛们常用的方法——对抗验证
交叉验证(Cross Validation)是常用的一种用来评估模型效果的方法。当样本分布发生变化时,交叉验证无法准确评估模型在测试集上的效果,这导致模型在测试集上的效果远低于训练集。通过本文,你将通过一个kaggle的比赛实例了解到,样本分布变化如何影响建模,如何通过对抗验证辨别样本的分布变化,以及有哪些应对方法。本篇文章完整代码: https://github.com/Qiuyan918/Adversarial_Validation_Case_Study/blob/master/Advers转载 2021-01-22 17:21:23 · 1302 阅读 · 1 评论 -
AutoML 在表数据中的研究与应用
导读:大家好,今天分享的题目是 AutoML 在表数据中的研究与应用。对于 AutoML,大家听到比较多的可能是神经网络结构搜索 ( NAS,Neural Architecture Search ),NAS 主要应用于图像,而我们的工作主要应用于解决表数据 ( Tabular Data ) 中的建模问题。目前 NAS 在表数据中的研究较少,有兴趣的小伙伴可以尝试。第四范式 AutoMLTables的效果我们选取了10个 Kaggle 比赛数据,分别通过第四范式 AutoML Tables 和 G..转载 2021-01-19 11:55:55 · 320 阅读 · 0 评论 -
[机器学习] 超参数优化算法-SuccessiveHalving, BH与BOHB
一 传统优化算法机器学习中模型性能的好坏往往与超参数(如batch size,filter size等)有密切的关系。最开始为了找到一个好的超参数,通常都是靠人工试错的方式找到"最优"超参数。但是这种方式效率太慢,所以相继提出了网格搜索(Grid Search, GS) 和 随机搜索(Random Search,RS)。但是GS和RS这两种方法总归是盲目地搜索,所以贝叶斯优化(Bayesian Optimization,BO) 算法闪亮登场。BO算法能很好地吸取之前的超参数的经验,更快更高效地最下一原创 2020-12-14 10:57:45 · 6933 阅读 · 3 评论 -
[机器学习] XGBoost 自定义损失函数-FocalLoss
xgboost+Focal LossFocal Loss的主要思想就是改变损失函数。可以参考https://www.cnblogs.com/king-lps/p/9497836.htmlxgboost如果想应用focal loss可以使用自定义损失函数来实现。首先介绍一个比较好用的求导的python包 sympy。用这个包来求导,可以比较轻松求出一阶导和二阶导。from sympy import *# y指的是true label# p指的是预测出来的概率值(是经过sigmoid转.原创 2020-10-27 14:59:53 · 18533 阅读 · 5 评论 -
[机器学习]理解熵,交叉熵和交叉熵的应用
自信息"你对结果感到惊讶的程度"一个低概率的结果与一个高概率的结果相比,低概率的结果带来的信息量更大。现在,如果yi是第i个结果的概率,那么我们可以把自信息s表示为: 熵现在我知道一个事件产生某个结果的自信息,我想知道这个事件平均带来多少自信息。对自信息s进行加权平均是很直观的。现在的问题是选择什么权重?因为我知道每个结果的概率,所以用概率作为权重是有意义的,因为这是每个结果...原创 2020-03-17 17:37:29 · 1370 阅读 · 0 评论 -
[机器学习] PMML实现模型上线
机器学习在用于产品的时候,经常会遇到跨平台的问题。比如用Python基于一系列的机器学习库训练了一个模型,但是有时候其他的产品和项目想把这个模型集成进去,但是这些产品很多只支持某些特定的生产环境比如Java,为了上一个机器学习模型去大动干戈修改环境配置很不划算,此时我们就可以考虑用预测模型标记语言(Predictive Model Markup Language,以下简称PMML)来实现跨平台的机器学习模型部署。1. PMML概述PMML是数据挖掘的一种通用的规范,它用统一的XML格式来描.原创 2020-06-17 11:05:26 · 1420 阅读 · 0 评论 -
[机器学习]给机器学习面试者的十项建议
原文:https://towardsdatascience.com/giving-some-tips-for-data-science-interviews-after-interviewing-60-candidates-at-expedia-395fff7e073b声明 本博客来源于: 磐创AI在过去的一年里,我采访了一些在Expedia Group担任数据科学职位的人,职位从入...原创 2020-04-17 11:35:59 · 979 阅读 · 0 评论 -
[机器学习]10个实用的机器学习建议
原文:https://medium.com/modern-nlp/10-great-ml-practices-for-python-developers-b089eefc18fc作者:Pratik Bhavsar声明 本博客来源于: 算法猿的成长导语有时候作为一名数据科学家,我们可能会忘记自己的主要职责。我们首先是开发者,接着是研究者,最后还可能是数学家。因此,我们最重要的责任就是...原创 2020-04-17 08:26:44 · 576 阅读 · 0 评论 -
[机器学习] 模型稳定度指标PSI
群体稳定性指标(population stability index)由于模型是以特定时期的样本所开发的,此模型是否适用于开发样本之外的族群,必须经过稳定性测试才能得知。稳定度指标(population stability index ,PSI)可衡量测试样本及模型开发样本评分的的分布差异,为最常见的模型稳定度评估指针。其实PSI表示的就是按分数分档后,针对不同样本,或者不同时间的样本,...原创 2019-12-19 16:54:03 · 4604 阅读 · 0 评论 -
[机器学习] Boosting算法1 --- AdaBoost
[机器学习] Boosting算法1 --- AdaBoost[机器学习] Boosting算法2 --- GBDT[机器学习] Boosting算法3 --- XGBoost目录一、提升算法概论二、AdaBoost算法弱分类器(单层决策树)关于Adaboost的两种权重Adaboost数据权重与弱分类器Adaboost分类器的权重Adaboost实例...原创 2018-05-23 19:39:40 · 22640 阅读 · 10 评论 -
[机器学习] 树模型(xgboost,lightgbm)特征重要性原理总结
在使用GBDT、RF、Xgboost等树类模型建模时,往往可以通过 feature_importance 来返回特征重要性,各模型输出特征重要性的原理与方法一 计算特征重要性方法首先,目前计算特征重要性计算方法主要有两个方面:1.1 训练过程中计算训练过程中通过记录特征的分裂总次数、总/平均信息增益来对特征重要性进行量化。例如实际工程中我们会用特征在整个GBDT、XgBoost里面......原创 2019-07-25 14:57:21 · 27241 阅读 · 3 评论 -
自动化机器学习(AutoML)之自动贝叶斯调参
一、Python实现自动贝叶斯调整超参数【导读】机器学习中,调参是一项繁琐但至关重要的任务,因为它很大程度上影响了算法的性能。手动调参十分耗时,网格和随机搜索不需要人力,但需要很长的运行时间。因此,诞生了许多自动调整超参数的方法。贝叶斯优化是一种用模型找到函数最小值方法,已经应用于机器学习问题中的超参数搜索,这种方法性能好,同时比随机搜索省时。此外,现在有许多Python库可以实现贝叶斯超参数...原创 2019-10-23 14:55:17 · 1199 阅读 · 1 评论 -
[机器学习] Boosting算法2 --- GBDT
[机器学习] Boosting算法1 --- AdaBoost[机器学习] Boosting算法2 --- GBDT[机器学习] Boosting算法3 --- XGBoost目录GBDT(Gradient Boosting Decision Tree) 梯度提升决策树算法1. DT:回归树 Regression Decision Tree2. GB:梯度迭代 Gra...原创 2019-04-13 14:13:26 · 4946 阅读 · 1 评论 -
[机器学习] Boosting算法3 --- XGBoost
[机器学习] Boosting算法1 --- AdaBoost[机器学习] Boosting算法2 --- GBDT[机器学习] Boosting算法3 --- XGBoost目录一 XGBoost是什么二 基础知识GBDT三 XGBoost目标函数四 XGBoost算法说明1. boosting tree模型2. 树的集成3. 学习第t棵树4....原创 2019-04-13 14:10:49 · 5995 阅读 · 0 评论 -
[机器学习] XGBoost参数调优完全指南(附Python代码)
1. 简介如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧。XGBoost算法现在已经成为很多数据工程师的重要武器。它是一种十分精致的算法,可以处理各种不规则的数据。构造一个使用XGBoost的模型十分简单。但是,提高这个模型的表现就有些困难(至少我觉得十分纠结)。这个算法使用了好几个参数。所以为了提高模型的表现,参数的调整十分必要。在解决实际问题的时候,有些问题是很难回答...转载 2019-04-13 14:03:32 · 3580 阅读 · 1 评论 -
关于做Kaggle比赛入门,看完这篇就够了
PART 0 : Kaggle 介绍Kaggle的数据挖掘比赛近年来很火,以至于中国兴起了很多很多类似的比赛Kaggle 是一个数据科学竞赛的平台,很多公司会发布一些接近真实业务的问题,吸引爱好数据科学的人来一起解决。https://www.kaggle.com/点击导航栏的 competitions 可以看到有很多比赛,其中正式比赛,一般会有奖金或者工作机会,除了正式比赛还有一些为初...转载 2019-03-26 14:29:58 · 31366 阅读 · 3 评论 -
[机器学习] 信用评分卡中的应用 | 干货
背景介绍与评分卡模型的基本概念 如今在银行、消费金融公司等各种贷款业务机构,普遍使用信用评分,对客户实行打分制,以期对客户有一个优质与否的评判。交易对手未能履行约定契约中的义务而造成经济损失的风险,即受信人不能履行还本付息的责任而使授信人的预期收益与实际收益发生偏离的可能性它是金融风险的主要类型。 巴塞尔协议定义金融风险类型:市场风险、作业风险、信用风险。信用风险A...原创 2019-03-10 09:41:58 · 5699 阅读 · 0 评论 -
Data Science and Machine Learning Courses for 2019
Top 7 Online Data Science Courses for 2019 - Learn Data ScienceLearn data science online in 2019 by taking one of these top ranked coursesOver the course of 80+ hours watching course videos, do...转载 2019-03-04 11:41:55 · 536 阅读 · 0 评论 -
GPU利用率与使用率
GPU利用率广义的GPU利用是指对GPU利用率效率,包括GPU空间和时间上的利用效率。 狭义的GPU利用率是指GPU时间片上的利用率;GPU可用的物理资源有哪些?GPU可利用资源:SM (计算单元)MEM(存储) Encoder(编码) Decoder (解码)CPU利用率计算方法GPU利用不高的原因?GPU资源利用不高的原因大致如下:CP...原创 2019-02-28 14:52:28 · 17926 阅读 · 2 评论 -
Build a Machine Learning Portfolio(构建机器学习投资组合)
Complete Small Focused Projects and Demonstrate Your Skills (完成小型针对性机器学习项目,证明你的能力)A portfolio is typically used by designers and artists to show examples of prior work to pros...原创 2018-04-18 18:39:42 · 1373 阅读 · 0 评论 -
[机器学习] 超参数优化介绍
背景很多算法工程师戏谑自己是调参工程师,因为他们需要在繁杂的算法参数中找到最优的组合,往往在调参的过程中痛苦而漫长的度过一天。如果有一种方式可以帮助工程师找到最优的参数组合,那一定大有裨益,贝叶斯超参优化就是其中的一种。如果是单单罗列公式,可能会显得乏味,就用一些思考带上公式为大家分享。目前在研究Automated Machine Learning, 其中有一个子领域是实现网络超参数自动化...原创 2019-04-18 10:47:53 · 16565 阅读 · 2 评论 -
[机器学习]XGBoost 和 LightGBM 参数对比与调参
XGBoost 参数介绍XGBoost的参数一共分为三类(完整参数请戳官方文档):通用参数:宏观函数控制。 Booster参数:控制每一步的booster(tree/regression)。booster参数一般可以调控模型的效果和计算代价。我们所说的调参,很这是大程度上都是在调整booster参数。 学习目标参数:控制训练目标的表现。我们对于问题的划分主要体现在学习目标参数上。比如我...原创 2019-05-28 13:24:45 · 4446 阅读 · 1 评论 -
[机器学习] Boosting算法4 --- LightGBM介绍与分布式
相比XGBoost有如下优点:。例如,它将连续的特征值分桶(buckets)装进离散的箱子(bins),这是的训练过程中变得更快。带深度限制的Leaf-wise的叶子生长策略,。LGB避免了对整层节点分裂法,而采用了对增益最大的节点进行深入分解的方法。这样节省了大量分裂节点的资源。更低的内存占用:使用离散的箱子(bins)保存并替换连续值导致更少的内存占用。...原创 2019-05-29 14:53:46 · 6905 阅读 · 2 评论 -
[机器学习] TF-IDF算法
1.文本数据的向量化1.1名词解释CF:文档集的频率,是指词在文档集中出现的次数DF:文档频率,是指出现词的文档数IDF:逆文档频率,idf = log(N/(1+df)),N为所有文档的数目,为了兼容df=0情况,将分母弄成1+df。TF:词在文档中的频率TF-IDF:TF-IDF= TF*IDF1.2 TF-IDF算法TF-IDF(词频-逆文档频率)算法是一...原创 2019-06-10 18:17:50 · 12531 阅读 · 0 评论 -
AI有道干货 --- 126 篇 AI 原创文章精选(ML、DL、资源、教程)
一年多来,公众号【AI有道】已经发布了 140+ 的原创文章了。内容涉及林轩田机器学习课程笔记、吴恩达 deeplearning.ai 课程笔记、机器学习、深度学习、笔试面试题、资源教程等等。值得一提的是每篇文章都是我用心整理的,编者一贯坚持使用通俗形象的语言给我的读者朋友们讲解机器学习、深度学习的各个知识点。旨在给大家一份比较完备的学习路线和提升技巧。今天,红色石头特此将以前所有的原创文章整...转载 2019-07-01 17:25:21 · 589 阅读 · 0 评论