Machine Learning
文章平均质量分 84
夕阳下江堤上的男孩
这个作者很懒,什么都没留下…
展开
-
决策树中的基尼系数、 熵之半和分类误差率
1、分类误差率在二分类中,对于任意一个叶子节点,假设其中一个类别A占比(概率)为p,则另外一个类别B的占比(概率)就是1-p。那么,我们可以直观地将分类误差作为损失,即:上式表示:当一个叶子类目中的类别A占比较多时(p>0.5),进入该叶子结点的样本就会被判别为类别A,那么剩下的占比为1-p的(类别B)样本则会被分类错误,随之产生的分类误差率就是1-p;反之,当叶子结点中类别A样本较少(p<=0.5)时,该叶子结点就表示类别B,所有进入该节点的类别A样本将会被分类错误,随之产生的..原创 2021-05-10 16:29:06 · 5043 阅读 · 1 评论 -
spark之QuantileDiscretizer源码解析
1、前言:这里重点讲一下transform函数。2、正文直接上源码:/** * Binary searching in several buckets to place each data point. * @param splits array of split points * @param feature data point * @param keepInvalid NaN flag. * Set "true" t原创 2020-07-06 22:10:43 · 1167 阅读 · 0 评论 -
xgboost 训练大数据,内存不够 out of memory
如果要训练(测试)的样本很多,达到上百上千万,单机载入不了内存时,可以采用如下方法:1、生成libsvm文件 将要处理的数据分批(比如一次读10000行/个样本)读入内存,缺失值填充、特征过程等处理完毕之后,使用sklearn.datasets.dump_svmlight_file()将其转为libsvm数据格式保存到磁盘;libsvm格式也是每行一个样本,所以多...原创 2019-02-03 16:55:41 · 9706 阅读 · 12 评论 -
KD-Tree算法
kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构,主要应用于多维空间关键数据的近邻查找(Nearest Neighbor)和近似最近邻查找(Approximate Nearest Neighbor)。 一、Kd-tree其实KDTree就是二叉查找树(Binary Search Tree,BST)的变种。二叉查找树的性质如下:1)若它的左子树不为空,则左子树上所...原创 2018-05-06 21:49:08 · 19290 阅读 · 3 评论 -
异常检测(一)——OneClassSVM
1、sklearn中关于异常检测的说法Novelty and Outlier Detection: Many applications require being able to decide whether a new observation belongs to the same distribution as existing observations (it is an i...原创 2018-03-30 00:21:28 · 42406 阅读 · 11 评论 -
异常检测(三)——Local Outlier Factor(LOF)
在中等高维数据集上执行异常值检测的另一种有效方法是使用局部异常因子(Local Outlier Factor ,LOF)算法。1、算法思想LOF通过计算一个数值score来反映一个样本的异常程度。这个数值的大致意思是:一个样本点周围的样本点所处位置的平均密度比上该样本点所在位置的密度。比值越大于1,则该点所在位置的密度越小于其周围样本所在位置的密度,这个点就越有可能是异常点。关于密度等理论概念,详...原创 2018-03-31 15:05:14 · 23838 阅读 · 6 评论 -
异常检测(二)——IsolationForest
1、简介孤立森林(Isolation Forest)是另外一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的,而不是根据信息增益或者基尼指数来选择。在建树过程中,如果一些样本很快就到达了叶子节点(即叶子到根的距离d很短),那么就被认为很有可能是异常点。因为那些路径d比较短的样本,都是因为距离主要的样本点分布中心比较远的。也就是说,可以通过计算样本在所有树中的平均...原创 2018-03-30 23:20:50 · 23960 阅读 · 2 评论 -
多分类下的ROC曲线和AUC
本文主要介绍一下多分类下的ROC曲线绘制和AUC计算,并以鸢尾花数据为例,简单用python进行一下说明。如果对ROC和AUC二分类下的概念不是很了解,可以先参考下这篇文章:http://blog.csdn.net/ye1215172385/article/details/79448575 由于ROC曲线是针对二分类的情况,对于多分类问题,ROC曲线的获取主要有两...原创 2018-03-05 17:37:20 · 67204 阅读 · 46 评论 -
信息熵与基尼指数的关系(一阶泰勒展开)
1、信息熵: 信息熵可以度量信息量,也可以表达不确定程度,混乱程度。在机器学习中,还可以度量样本集合的纯度(熵越小集合纯度越高)。信息熵的定义为: (1) 其中,D表示集合,K表示类别数,Pk表示第k类别样本的比例。集合中每一类样本的比例越接近,表示集合纯度越低,越混乱,即熵的值越...原创 2018-03-07 16:03:40 · 8858 阅读 · 2 评论 -
windows和python2.7下xgboost的快速安装方法
任何软件、资源的安装下载首选肯定是官网(xgboost官方安装教程:http://xgboost.readthedocs.io/en/latest/build.html),但安装xgboost需要下载各种工具,然后自己来编译源码,最后然后生成xgboost.dll动态链接库文件,所以可能会出现各种编译上的问题,相对而言比较麻烦。对于python3的用户则比较幸运,可以直接去:htt...原创 2018-03-12 12:18:18 · 576 阅读 · 0 评论 -
xgboost原理
本文主要结合了两篇文章,并做了稍微的修改,原文出处: 1、http://blog.csdn.net/a819825294/article/details/51206410 2、https://zhuanlan.zhihu.com/p/28672955 1.xgboost vs gbdt 说到xgboost,不得不说gbdt,两者都是boosting方法(如图1所示),关于gbdt可以看我这篇转载 2018-03-17 12:00:19 · 563 阅读 · 0 评论 -
机器学习之分类器性能指标之ROC曲线、AUC值
原文出处:http://www.cnblogs.com/dlml/p/4403482.html一 roc曲线1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-...转载 2018-03-05 17:32:43 · 9030 阅读 · 0 评论 -
梯度提升(Gradient boosting)和GBDT
一、梯度提升(Gradient boosting)提升既可以用于分类,也可以用于回归。提升背后的思想是:每一步产生一个弱学习器,通过不断地把若学习器加权累加到总模型当中,来最终得到一个强预测模型。其基本公式如下: ...原创 2018-03-16 11:07:44 · 4733 阅读 · 0 评论 -
奇异值分解(SVD)理论与python实现
奇异值分解(Singular Value Decomposition,SVD)是一种重要的矩阵分解(Matrix Decomposition)方法,可以看做对称方正在任意矩阵上的一种推广,该方法在机器学习的中占有重要地位。 首先讲解一下SVD的理论,然后用python实现SVD,并应用于图像压缩。1、奇异值分解(SVD): 设有 A是一个m×n 的实矩阵,则原创 2018-03-01 20:52:17 · 20845 阅读 · 14 评论 -
模型的评估方法
模型评估方法主要有三种:留出法、交叉验证法、自助法。这三个方法都需要将数据集分为测试集和训练集,用测试集的“测试误差”来近似模型的泛化误差。当然测试集和训练集应该尽可能做到互斥,这样得到的模型才具有较好的泛化性能。1.留出法留出法就是将数据集D直接划分为互斥的两个集合,分别作为训练集S和测试集T。用测试集T的测试误差来估计模型的泛化误差。数据的划分比例一般是:2/3~4/5比例的样本用原创 2017-11-08 20:27:49 · 2708 阅读 · 0 评论 -
机器学习之优化算法
在机器学习中,由于问题解的计算量通常很大,一般会采用迭代的方式来进行优化求解。最常用的优化算法包括:梯度下降法(BGD、SGD、MBGD)、坐标上升法(Coordinate Ascent)、牛顿法和拟牛顿法等。1、梯度下降法(Gradient Descent) 梯度下降法是最简单常用的最优化方法之一。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为...原创 2018-02-27 19:30:17 · 682 阅读 · 0 评论