- 博客(38)
- 资源 (6)
- 收藏
- 关注
原创 集成学习-Bagging集成学习算法随机森林(Random Forest)
随机森林算法属性随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。随机森林和使用决策树作为基本分类器的(bagging)有些类似。以决策树为基本模型的bagging在每次bootstrap放回抽样之后,产生一棵决策树,抽多少样本就生成多少...
2020-11-27 18:54:36
3021
原创 逻辑回归模型详解(Logistic Regression)
目录广义线性模型极大似然法逻辑回归的假设函数逻辑回归的损失函数为什么LR模型损失函数使用交叉熵不用均方差交叉熵损失函数交叉熵损失函数的数学原理交叉熵简介交叉熵损失函数的直观理解逻辑回归优缺点其他逻辑回归与线性回归的区别与联系LR一般需要连续特征离散化原因广义线性模型逻辑回归与线性回归都是一种广义线性模型(generalized linear model,GLM)。具体的说,都是从指数分布族导出的线性模型,线性回归假设Y|X服从高斯分布,逻辑回...
2020-11-10 20:41:30
86086
2
原创 集成学习-Boosting集成学习算法LightGBM
在2017年年1月微软在GitHub的上开源了一个新的升压工具LightGBM(Light Gradient Boosting Machine )。它是一种优秀的机器学习算法框架,与XGBoost算法相比,在不降低准确率的前提下,速度提升了10倍左右,占用内存下降了3倍左右。下图是LightGBM在GitHub主页上展示的在五个不同数据集上得到的性能实验数据,比起XGBoost算法,LightGBM算法在准确度一样,但在速度和内存的消耗上有更明显的优势。耗时比较:准确率比较:内存消耗
2020-11-10 20:40:33
1066
原创 集成学习-Boosting集成学习算法XGBoost
XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用在一些项目中,其效果显著。它是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包。XGBoost 所应用的算法就是GBDT(gradient boosting decision tree)的改进,既可以用于分类也可以用于回归问题中。全称:eXtreme Gradient Boosting(极值梯度提升算法) 作者:陈天奇(华盛顿大学博士) 基...
2020-10-28 20:25:23
1978
原创 集成学习-Boosting集成学习算法GBDT
GBDT是一个基于迭代累加的决策树算法,它通过构造一组弱的学习器(树),并把多颗决策树的结果累加起来作为最终的预测输出。用ID3算法和C4.5算法学习得到的决策树,有可能导致模型过拟合,通常使用剪枝算法来解决。随着集成学习的发展,出现了比较典型的迭代决策树GBDT和随机森林RF,即将多棵单决策树进行模型组合,形成多决策树,可以看成Treelink。GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。回顾下Adaboost,我们是利用前一轮迭代弱学习器的...
2020-10-28 20:12:42
1081
原创 Hadoop中任务提交运行流程
作业提交 -> 作业初始化 –> 任务分配 –> 任务执行 –> 更新任务执行进度和状态 -> 作业完成(6个步骤)客户端(Client):编写MapReduce程序,配置作业,提交作业JobTracker:协调作业的运行,分配作业,初始化作业,与TaskTracker进行通信TaskTracker:负责运行作业,保持与JobTracker的通信,HDFS:保持作业的数据与结构作业提交JobClient使用runJob方法新建一个Job...
2020-10-12 20:52:25
1383
原创 集成学习-Boosting集成学习算法AdaBoost
Boosting是一族将弱学习器提升为强学习器的算法,适用于个体学习器间存在强依赖关系、必须串行生成序列化方法。最著名的代表是AdaBoost。Boosting的工作机制:从初始的训练集中训练出一个基学习器,再根据基学习器的表现对样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直到基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。Adaboost算法Adaboost是一种原理简单,但很实...
2020-10-12 20:51:52
1195
原创 集成学习算法-基础
集成学习算法,它本身不是一个单独的机器学习算法,集成是结合不同的学习模块(单个模型)来加强模型的稳定性和预测能力。集成学习把大大小小的多种算法融合在一起,共同协作来解决一个问题,也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等。集成学习有两个关键点:1)怎么训练每个算法?2)怎么融合每个算法?围绕这两个关键点,有很多方法提出来,极具代表性就是大家熟知的 Bagging 和 Boosting 方法,其中 Bagging ...
2020-10-12 20:51:20
920
原创 决策树-算法小结及常见问题
这里我们不再纠结于ID3, C4.5和 CART,我们来看看决策树算法作为一个大类别的分类回归算法的优缺点。这部分总结于scikit-learn的英文文档。首先我们看看决策树算法的优点:1)简单直观,生成的决策树很直观。2)基本不需要预处理,不需要提前归一化,处理缺失值,决策树的优势特点。3)使用决策树预测的代价是O(log2m)。m为样本数,时间复杂度。O(N*M*D),N是sample的大小,M是feature的数量,D是树的深度。CART生长时,把所有fea...
2020-10-12 20:51:03
3749
原创 Hadoop中Block和Split区别
两者是从不同的角度来定义的:HDFS以固定大小的block为基本单位存储数据(分布式文件系统,实际存储角度,物理存储单位);MapReduce以split作为处理单位(编程模型角度,逻辑单位);Block块第一部分就是数据的划分(即把File划分成Block),这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由hadoop-default.xml里配置选项进行划分。这个就是默认的每个块64MB:<name>dfs.bl...
2020-10-12 20:25:06
511
原创 HDFS的读文件、写文件过程
目录HDFS的重要特性HDFS写数据分析HDFS读数据分析HDFS删除数据分析NameNode元数据管理原理分析HDFS的重要特性HDFS是一个分布式文件系统,通过统一的命名空间(类似于本地文件系统的目录树),用于存储和管理文件。服务器集群中各个节点都有自己的角色和职责,具有以下特点:1. HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,之前的版本中是64M。...
2020-10-12 20:20:23
1232
原创 风控业务中的信用与欺诈的定义区别
在互联网金融反欺诈领域,通过搭建模型,在自身已有的历史数据中挖掘出反欺诈规则或者评分是非常重要而又十分有效的手段。为了能最大限度地发挥数据的价值,在反欺诈实践中,整个过程可以从宏观上分为四步:问题定义、明确模型目标、挖掘数据价值以及线上预测。在这四步中,问题定义是从业务的角度来考虑反欺诈的范围和目标;线上预测则涉及大量的实时计算,常常需要一个强大的流式计算引擎以及建立在这基础上的规则系统。这两个步骤与数据挖掘的关系不大,并不是这篇文章的讨论重点。剩下的两步是我们关注的焦点,事实上,这两步又可以...
2020-10-10 20:01:37
3892
2
原创 HiveSQL中复杂数据类型操作
Hive有三种复杂数据类型ARRAY、MAP和STRUCT,复杂数据类型允许任意层次的嵌套。目录array类型map类型struct类型array类型name与locations之间制表符分隔,locations中元素之间逗号分隔,数据样本集为:zhangsan beijing,shanghai,tianjin,hangzhoulisi changchu,chengdu,wuhan,beijing建表语句create...
2020-10-10 20:00:32
942
原创 HiveSQL常用数据处理语句
Hive中的库表基础信息查看--查看有哪些数据库show databases;--查看当前数据库下有哪些表show tables; --正则表达式显示表show tables like '*cc*';--查看Hive支持函数show functions;--查询表字段及注释desc table_name;--查询建表语句show create table_name;--查询表分区show partitions table_name;--查看表的结构...
2020-10-10 19:59:35
1354
原创 HiveSQL运行优化参数配置
执行任务时Map的任务数配置执行任务时Map的任务数配置,即执行任务时,上图标红的,number of mappers: 1 的数量。map的个数设置其实对执行效率有很大的影响:如果mappers数量过多,map任务启动和初始化的时间远远大于逻辑处理的时间,就会造成很大的资源浪费。而且,同时可执行的map数是受限的; 如果mappers数量过少,Hadoop的计算资源没有充分的利用,计算缓慢;map的个数主要的决定因素有: input的文件总个数,input的文件...
2020-09-28 18:32:25
2996
原创 决策树-避免过拟合预剪枝和后剪枝对比区别
决策树(Decision tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。 机器学习中,决策树是一个预测模型。它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分支叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单...
2020-09-21 19:01:53
5002
原创 决策树-缺失值和连续值处理及属性划分
决策树(Decision tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。 机器学习中,决策树是一个预测模型。它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分支叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单...
2020-09-21 18:54:24
4924
3
原创 决策树-基于不同算法的决策树模型对比
决策树(Decision tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。 机器学习中,决策树是一个预测模型。它代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分支叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输...
2020-09-17 18:12:44
3111
原创 决策树-特征属性选择划分
决策树(Decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个输出类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。目的是保证节点的纯度越来越高,划分样本的能力越强信息熵越小,纯度越高信息增益越大,纯度越高基尼系数越小,纯度越高信息熵(Entro...
2020-09-16 20:16:11
11145
1
原创 模型可解释性-树结构可视化
决策树是一种基于二叉树(最多有左右两个子树)的机器学习模型。决策树遍历训练数据并将信息浓缩为二叉树的内部节点和叶节点,从而学习训练集中的观测值之间的关系,这些观测值表示为特征向量x和目标值y
2020-09-16 19:01:57
2448
原创 模型可解释性-SHAPE
SHAP,最早由加州大学洛杉矶分校(UCLA)的教授 Lloyd Shapley 提出,主要是用来解决合作博弈论中的分配均衡问题。Lloyd Shapley 是 2012 年的诺贝尔经济学奖获得者,也是博弈论领域的无冕之王。SHAP, 全称是 SHapley Additive exPlanation,属于模型事后解释的方法,可以对复杂机器学习模型进行解释,其中各个单词的意义为:SHapley:代表对每个样本中的每一个特征变量,都计算出它的 Shapley Value。Additive...
2020-09-09 20:37:33
14638
2
原创 模型可解释性-LIME
模型可解释性LIME的原理LIME的想法很简单, 我们希望使用简单的模型来对复杂的模型进行解释. 这里简单的模型可以是线性模型, 因为我们可以通过查看线性模型的系数大小来对模型进行解释. 在这里,LIME只会对每一个样本进行解释(explain individual predictions).LIME会产生一个新的数据集(这个数据集我们是通过对某一个样本数据进行变换得到), 接着在这个新的数据集上, 我们训练一个简单模型(容易解释的模型),我们希望简答模型在新数据集上的预测结果和复杂模...
2020-09-08 19:25:24
16612
10
原创 模型算法-支持向量机SVM
支持向量机(SupportVectorMachine),一般简称SVM,它是个二分类的分类模型,即给定一个包含正例和反例的样本集合(是一种有监督的机器学习算法),支持向量机的目的是寻找一个超平面来将样本中的正例和反例用分开,其原则是使正例和反例之间的间隔最大。什么是超平面?在一维空间,超平面是一个点 在二维空间,它是一条线 在三位空间,它是一个面 在更高维度上,你能够称它为超平面什么是最优分类超平面?最优超平面将是拥有最大边距的那个超平面。什么是间隔?给...
2020-09-01 09:10:31
1613
原创 机器学习-特征工程中的特征选择
我们在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。那么我们怎么去挑选入模变量呢?挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等首先“无关.
2020-08-18 19:10:45
2426
原创 风控业务-特征IV值和WOE值的计算原理和区别
我们在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选,比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等。但是,其中最主要和最直接的...
2020-08-11 20:02:42
13189
原创 机器学习-特征中的相关性及相关系数、卡方检验、互信息
过滤式方法先按照某种规则对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关,这相当于先用特征选择过程对初始特征进行“过滤”,再用过滤后的特征来训练模型。相关系数法、卡方检验法和互信息法是进行特征选择时常用的几种过滤式方法。变量之间的关系变量之间的关系可分为两类:(1)存在完全确定的关系——称为函数关系,即Y=2X+3;(2)不存在完全确定的关系——虽然变量间有着十分密切的关系,但是不能由一个或多各变量值精确地求出另一个变量的值,称为相关关系,存在相关关系...
2020-08-06 19:33:10
31859
4
原创 模型开发-GBDT决策树模型开发代码
1. 导入相关的依赖包from sklearn.ensemble import GradientBoostingClassifier #分类模型from sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_errorfrom sklearn.metrics import confusion_matrixfrom sklearn.externals impo...
2020-07-30 20:01:29
1530
原创 风控业务-模型稳定性评价指标PSI
在风控领域的业务中,稳定性压倒一切,一套风控模型正式上线运行后往往需要很久(通常一年以上)才会被替换下线。如果模型不稳定,意味着模型不可控,对于业务本身而言就是一种不确定性风险,直接影响决策的合理性,这是不可接受的。在机器学习构建风控模型时,我们基于假设“历史样本分布等于未来样本分布”。因此,我们通常认为:模型或变量稳定 <=> 未来样本分布与历史样本分布之间的偏差小。 然而,实际中由于受到客群变化(互金市场用户群体变化快)、数据源采集变化(比如爬虫接口被...
2020-07-30 19:07:40
2743
1
原创 机器学习-特征工程中的数据预处理
对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。由此可见,数据和特征在模型的整个开发过程中是比较重要。特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。从本质上来讲,特征工程是一个表示和展现数据的过程。在实际工作中,特征工程旨在去除原始数据中的杂质和冗余,设计更高效的特征以刻画求解的问题与预测模型之间的关系。 在实际的模型应用中并不是特征越多越好,特征越多固然会给我们带来很多额外的信息,但是与...
2020-07-20 15:33:38
2838
1
原创 机器学习-特征工程中的样本不均衡处理方法
http://www.sohu.com/a/129333346_465975http://blog.csdn.net/bbbeoy/article/details/72967185
2020-07-20 15:32:44
3758
转载 机器学习-牛顿迭代法原理和公式推导
机器学习的本质是建立优化模型,通过优化方法,不断迭代参数向量,找到使目标函数最优的参数向量,最终建立模型。通常用到的优化方法:梯度下降方法、牛顿法、拟牛顿法等,这些优化方法的本质就是在更新参数。 牛顿迭代法又称为牛顿-拉弗森方法,实际上是由牛顿、拉弗森各自独立提出来的。牛顿-拉弗森方法提出来的思路就是利用切线是曲线的线性逼近这个思想,如下图所示: 随便找一个曲线上的A点(为什么随便找,根据切线是切点附近的...
2020-07-14 15:49:26
19812
1
原创 机器学习-梯度下降算法原理及公式推导
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降算法(Gradient Descent Algorithm)是最常采用的方法之一,也是众多机器学习算法中最常用的优化方法,几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。梯度就是导数梯度下降法就是一种通过求目标函数的导数来寻找目标函数最小化的方法。梯度下降目的是找到目标函数最小化时的取值所对应的自变量的值,记住我们目的是为了找自变量x。...
2020-07-10 15:28:05
93949
11
原创 机器学习-常见的损失函数比较
在机器学习每一个算法中都会有一个目标函数,算法的求解过程是通过对这个目标函数优化的过程。在分类或者回归问题中,通常使用损失函数(代价函数)作为其目标函数。损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的算法使用的损失函数不一样。损失函数可以很好得反映模型与实际数据差距的工具,理解损失函数能够更好得对后续优化工具(梯度下降等)进行分析与理解。在工业上很多时候遇到复杂的应用场景问题,其实最难的一关是如何写出损失函数。通常提到损失函数,我们...
2020-07-02 09:27:13
791
GBDT决策树模型开发代码
2020-07-31
东方国信面试题(史上最全!).pdf
2020-06-09
ESX4.1安装配置指南
2015-08-20
ALCATEL交换机用户配置手册
2015-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人