分类器

《数据挖掘(完整版)》笔记——最近邻分类器

可紊 提交于 2020-03-02 11:26:22
最近邻分类器 1. 算法 2. 最近邻分类器的特征 决策树和基于规则的分类器是 积极学习方法 的例子,因为如果训练数据可用,衙门就开始学习从输入属性到类标号的映射模型。与之相反的策略是推迟对训练数据的建模,知道需要分类测试样例时再进行,采用这种策略的技术被称为 消极学习方法 消极学习方法的一个例子是Rote分类器,它记住整个训练数据,仅当测试实例的属性和某个训练样例完全匹配才进行分类 使用该方法更灵活的一个途径是找出和测试样例的属性相对接近的所有训练样例。给定样例 z z z 的k-近邻是指和 z z z 距离最近的k个数据点 1. 算法 一旦得到最近邻表,测试样例就会根据最近邻中的多数类进行分类: 多 数 表 决 : y ′ = a r g m a x v ∑ ( x i , y i ∈ D z ) I ( v = y i ) 多数表决:y' = \underset{v}{argmax} \sum_{(x_i,y_i \in D_z)}I(v=y_i) 多 数 表 决 : y ′ = v a r g ma x ​ ∑ ( x i ​ , y i ​ ∈ D z ​ ) ​ I ( v = y i ​ ) v v v 是类标号, y i y_i y i ​ 是一个最近邻的类标号, I ( ⋅ ) I(\cdot) I ( ⋅ ) 是示性函数 每个近邻对分类的影响都一样,这使得算法对

1.机器学习之模型评估详解

不问归期 提交于 2020-03-02 02:07:13
模型评价是指对于已经建立的一个或多个模型,根据其模型的类别,使用不同的指标评价其性能优劣的过程。常用的聚类模型评价指标有ARI评价法(兰德系数)、AMI评价法(互信息)、V-measure评分、FMI评价法和轮廓系数等。常用的分类模型评价指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1值(F1 Value)、ROC和AUC等。常用的回归模型评价指标有平均绝对误差、均方根误差、中值绝对误差和可解释方差值等。 线性回归解决的是连续型数值的预测问题,例如预测房价,产品销量等。 逻辑回归解决的是分类问题,从分类数量上看,有二项分类和多项分类。 sklearn库的metrics模块提供各种评估方法,包括分类评估、回归评估、聚类评估和交叉验证等,评估分类是判断预测值时否很好的与实际标记值相匹配。正确的鉴别出正样本(True Positives)或者负样本(True Negatives)都是True。同理,错误的判断正样本(False Positive,即一类错误)或者负样本(False Negative,即二类错误)。 注意:True和False是对于评价预测结果而言,也就是评价预测结果是正确的(True)还是错误的(False)。而Positive和Negative则是样本分类的标记。 metrics模块分类度量有6种方法,如下表所示: 指标 描述

准确率、召回率、F值简介

我怕爱的太早我们不能终老 提交于 2020-03-01 20:19:27
** 数据挖掘、机器学习和推荐系统中的评测指标: ## 准确率(Precision)、召回率(Recall)、F值(F-Measure)简介。 ** 在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。 业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等 1、准确率(Accuracy) 准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。 准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0,那那么它就可能达到99%的准确率,但真的地震来临时,这个分类器毫无察觉,这个分类带来的损失是巨大的。为什么99%的准确率的分类器却不是我们想要的,因为这里数据分布不均衡,类别1的数据太少,完全错分类别1依然可以达到很高的准确率却忽视了我们关注的东西。再举个例子说明下。在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc也有 99% 以上,没有意义。因此

深度学习 分类及其性能度量

眉间皱痕 提交于 2020-03-01 12:55:37
分类问题及其性能度量 分类问题 分类性能度量: 1、准确率(accuracy) * 2、精确率(percision) * 3、召回率(recall)/灵敏度(sensitivity) 4、P-R曲线 P-R曲线的绘制 5、F值 6、ROC曲线 分类问题 分类问题是 有监督学习 的一个核心问题。 分类用于解决要预测样本属于哪个或者哪些预定义的类别。此时输出变量通常取有限个离散值。 分类的机器学习的两大阶段: (1)从训练数据中学习得到一个分类决策函数或分类模型,成为分类器(classifier); (2)利用学习得到的分类器对新的输入样本进行类别预测。 多类分类问题可转化为两类分类问题解决,如采用一对其余(One-vs-Rest)方法:将其中一个类标记为正类,将其余类标记为负类。 分类性能度量: 假设只有两类样本,即正例(positive)和负例(negetive)。 真正(True Positive , TP):被模型预测为正的正样本。 假正(False Positive , FP):被模型预测为正的负样本。 假负(False Negative , FN):被模型预测为负的正样本。 真负(True Negative , TN):被模型预测为负的负样本。 1、准确率(accuracy) 分类器正确分类的样本数与总样本数之比。 * 2、精确率(percision)

多分类器:KNN,SVM,Softmax,2-Layer-Affine-Net(以图像分类为例子)

时光怂恿深爱的人放手 提交于 2020-03-01 09:21:59
多分类器:KNN,SVM,Softmax,2-Layer-Affine-Net(以图像分类为例子) 记录一下 CS 231N 计算机视觉这门课所提到的一些基础分类器,结合机器学习中学到的二元分类器算法,并以 CIFAR 10 作为训练集测试多分类器性能。 KNN K近邻分类 主要思路:寻找训练集到测试集中最相似的 k k k 个图像(距离由矩阵二范数、或是 F r o b i n u s Frobinus F r o b i n u s 范数表示),并由 k k k 个最优结果投票决定其标签。 算法流程: 训练集导入 X X X 与标签 y y y 测试集输入 x ^ \hat x x ^ ,找到 X X X 中与 x ^ \hat x x ^ 距离最近的 k k k 个图像: χ = { X ~ 1 , ⋯   , X ~ k } \chi = \{\tilde X_1,\cdots, \tilde X_k\} χ = { X ~ 1 ​ , ⋯ , X ~ k ​ } (一般用二范数距离) 对标签进行计数: η = { ( X ~ 1 , y ~ ( 1 ) ) , ⋯   , ( X ~ k , y ~ ( p ) ) } \eta = \{(\tilde X_1, \tilde y^{(1)}),\cdots, (\tilde X_k, \tilde y^{(p)})\}

计算机视觉入门——01 CNN网络(卷积神经网络的结构)

徘徊边缘 提交于 2020-02-28 18:14:39
卷积的计算: https://blog.csdn.net/qq_32846595/article/details/79053277 入门资料: https://zhuanlan.zhihu.com/p/31249821 采样层实际上只是特征提取的过程,并不是一个实际的模块!!! 卷积实际上可以充当一个对原图像进行二次转化,提取feature 的作用。 全连接层:将pixels放入神经网络输出结果。 采样层:相当于信息预处理,只保留有用的信息。 加入卷积层,进一步减少数据 一个3x3 source pixels 经过一个3x3的卷积核后,source pixels 的特征映射成一个1x1 destination pixel。 级联分类器:大概意思就是我从一堆弱分类器里面,挑出一个最符合要求的弱分类器,用着这个弱分类器把不想要的数据剔除,保留想要的数据然后再从剩下的弱分类器里,再挑出一个最符合要求的弱分类器,对上一级保留的数据,把不想要的数据剔除,保留想要的数据。最后,通过不断串联几个弱分类器,进过数据层层筛选,最后得到我们想要的数据。 CNN主要由3钟模块构成: 卷积层 采样层 全连接层 整个过程相当于: 1、通过第一个卷积层提取最初特征,输出特征图(feature map) 2、通过第一个采样层对最初的特征图(feature map )进行特征选择,去除多余特征,重构新的特征图 3

准确率与召回率

半城伤御伤魂 提交于 2020-02-27 05:14:48
在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总。 准确率、召回率、F1 信息检索、分类、识别、翻译等领域两个最基本指标是 召回率(Recall Rate) 和 准确率(Precision Rate) ,召回率也叫查全率,准确率也叫查准率,概念公式 : 召回率( R ecall) = 系统检索到的相关文件 / 系统所有相关的文件总数 准确率( P recision) = 系统检索到的相关文件 / 系统所有检索到的文件总数 图示表示如下: 注意:准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了 。一般情况,用不同的阀值,统计出一组不同阀值下的精确率和召回率,如下图: 如果是做搜索,那就是保证召回的情况下提升准确率;如果做疾病监测、反垃圾,则是保准确率的条件下,提升召回。 所以,在两者都要求高的情况下,可以用F1来衡量。 [python] view plain copy F1 = 2 * P * R / (P + R) 公式基本上就是这样,但是如何算图1中的A、B、C、D呢? 这需要人工标注,人工标注数据需要较多时间且枯燥,如果仅仅是做实验可以用用现成的语料。当然,还有一个办法,找个一个比较成熟的算法作为基准

随机森林

北城余情 提交于 2020-02-27 02:27:00
1.什么是随机森林 1.1 Bagging思想 Bagging是bootstrap aggregating。思想就是从总体样本当中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出,这就极大可能的避免了不好的样本数据,从而提高准确度。因为有些是不好的样本,相当于噪声,模型学入噪声后会使准确度不高。 举个例子 : 假设有1000个样本,如果按照以前的思维,是直接把这1000个样本拿来训练,但现在不一样,先抽取800个样本来进行训练,假如噪声点是这800个样本以外的样本点,就很有效的避开了。重复以上操作,提高模型输出的平均值。 1.2 随机森林 Random Forest(随机森林)是一种基于树模型的Bagging的优化版本,一棵树的生成肯定还是不如多棵树,因此就有了随机森林,解决决策树泛化能力弱的特点。(可以理解成三个臭皮匠顶过诸葛亮) 而同一批数据,用同样的算法只能产生一棵树,这时Bagging策略可以帮助我们产生不同的数据集。Bagging策略来源于bootstrap aggregation:从样本集(假设样本集N个数据点)中重采样选出Nb个样本(有放回的采样,样本数据点个数仍然不变为N),在所有样本上,对这n个样本建立分类器(ID3\C4.5\CART\SVM\LOGISTIC),重复以上两步m次,获得m个分类器,最后根据这m个分类器的投票结果

GBDT

*爱你&永不变心* 提交于 2020-02-26 19:14:55
1. 解释一下GBDT算法的过程 GBDT(Gradient Boosting Decision Tree),全名叫梯度提升决策树,使用的是Boosting的思想。 1.1 Boosting思想 Boosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。 Bagging与Boosting的串行训练方式不同,Bagging方法在训练过程中,各基分类器之间无强依赖,可以进行并行训练。 1.2 GBDT原来是这么回事 GBDT的原理很简单,就是所有弱分类器的结果相加等于预测值,然后下一个弱分类器去拟合误差函数对预测值的残差(这个残差就是预测值与真实值之间的误差)。当然了,它里面的弱分类器的表现形式就是各棵树。 举一个非常简单的例子,比如我今年30岁了,但计算机或者模型GBDT并不知道我今年多少岁,那GBDT咋办呢? 它会在第一个弱分类器(或第一棵树中)随便用一个年龄比如20岁来拟合,然后发现误差有10岁; 接下来在第二棵树中,用6岁去拟合剩下的损失,发现差距还有4岁; 接着在第三棵树中用3岁拟合剩下的差距,发现差距只有1岁了; 最后在第四课树中用1岁拟合剩下的残差,完美。 最终,四棵树的结论加起来,就是真实年龄30岁(实际工程中

AUC、ROC、ACC区别

£可爱£侵袭症+ 提交于 2020-02-26 07:26:18
很多时候我们都用到ROC(receiver operating characteristic curve,受试者工作特征曲线)和AUC(Area Under Curve,被定义为ROC曲线下的面积)来评判一个二值分类器的优劣,其实AUC跟ROC息息相关,AUC就是ROC曲线下部分的面积,所以需要首先知道什么是ROC,ROC怎么得来的。然后我们要知道一般分类器会有个准确率ACC,那么既然有了ACC,为什么还要有ROC呢,ACC和ROC的区别又在哪儿,这是我喜欢的一种既生瑜何生亮问题。 最后又简单说明了一下有了ROC之后,为什么还要有AUC呢 ROC简介 ROC曲线的横坐标为false positive rate(FPR)即负类样本中被判定为正类的比例,也就是传说中的误纳率. 纵坐标为true positive rate(TPR)即正类样本中被判定为正类的样本,1-TPR也就是传说中的误拒率 接下来我们考虑ROC曲线图中的四个点和一条线。 第一个点,(0,1),即左上角的点,在这个点意味着FPR=0,TPR=1,稍微翻译一下就是误纳率为0,误拒率为0,再翻译成人话就是负类样本中被判断为正类的比例为0,说明负类样本都被判断为负类,判断正确,正类样本中被判断为正类的比例为1,说明正类样本都被判断正确,所以这是一个完美的分类器,它将所有的样本都正确分类。 第二个点,(1,0),即右下角的点