机器学习笔记
拾毅者
长期关注机器学习,数据挖掘和人工智能领域。
展开
-
分类之性能评估指标
本文主要介绍几种常用的分类评估指标,同时介绍如何绘制ROC曲线以及AUC值的便捷的计算方法。最后再附上一个绘制ROC曲线和计算AUC的源码实现。Precision和Recall首先我们来看看下面这个混淆矩阵: pred_label/true_label Positive Negative Positive TP FP Negtive FN TN如上表所示,行表示预原创 2016-03-12 22:06:10 · 12010 阅读 · 1 评论 -
机器学习算法选择
本文主要回顾下几个常用算法的适应场景和优缺点!对于你的分类问题,你知道应该如何选择哪一个机器学习算法么?当然,如果你真的在乎精度(accuracy),最好的方法就是通过交叉验证(cross-validation)对各个算法一个个地进行测试,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。但是如果你只是在寻找一个“good enough”的算法来解决你的问题,或者这里有些技巧可以参考原创 2016-02-26 20:40:04 · 3199 阅读 · 2 评论 -
机器学习算法代码汇总(Python&R)
【机器学习算法代码汇总-Python&R】- PDF文件下载.原文链接:点击这里.原创 2015-11-21 19:23:59 · 2900 阅读 · 1 评论 -
Scikit-learn Preprocessing 预处理
本文主要是对照scikit-learn的preprocessing章节结合代码简单的回顾下预处理技术的几种方法,主要包括标准化、数据最大最小缩放处理、正则化、特征二值化和数据缺失值处理。内容比较简单,仅供参考!首先来回顾一下下面要用到的基本知识。一、知识回顾均值公式:x¯=1nΣ_i=1nxi\bar{x}=\frac{1}{n}\Sigma\_{i=1}^{n}x_{i}方差公式:s2=1nΣ_i原创 2015-10-25 20:50:05 · 46969 阅读 · 7 评论 -
机器学习之特征工程
本文是一篇关于特征工程的总结类文章,如有不足之处或理解有偏差的地方,还望大家多多指点。首先,给一张特征工程的思维导图: 【如果要浏览图片,建议将其下载到本地,使用图片浏览软件查看】 关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要的地位原创 2015-10-25 12:49:28 · 37105 阅读 · 7 评论 -
机器学习-牛顿方法&指数分布族&GLM
回头再温习一下Andrew Ng的机器学习视频课,顺便把没写完的笔记写完。本节内容牛顿方法指数分布族广义线性模型之前学习了梯度下降方法,关于梯度下降(gradient descent),这里简单的回顾下【参考感知机学习部分提到的梯度下降(gradient descent)】。在最小化损失函数时,采用的就是梯度下降的方法逐步逼近最优解,规则为θ:=θ−η∇θℓ(θ)\theta := \the原创 2015-10-06 13:31:26 · 11538 阅读 · 3 评论 -
机器学习-感知机perceptron
在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。感知机的学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机原创 2015-10-05 18:28:19 · 50007 阅读 · 15 评论 -
机器学习算法-梯度树提升GTB(GBRT)
Introduction决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等。但是同时,单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不太理想。模型组合(比如说有Boosting,Bagging等)与决策树相关的算法比较多,如randomForest、Ad原创 2015-08-29 11:11:35 · 27282 阅读 · 3 评论 -
机器学习-组合算法总结
组合模型组合模型一般要比单个算法要好,下面简单的介绍下Bootstraping, Bagging, Boosting, AdaBoost, RandomForest 和Gradient boosting这些组合型算法.1.BootstrapingBootstraping: 名字来自成语“pull up by your own bootstraps”,意思就是依靠你自己的资源,称为自助法,它是一种有放原创 2015-07-24 22:23:17 · 3931 阅读 · 0 评论 -
机器学习算法-决策树(续)Python实现
决策树算法的理论部分参考:决策树理论决策树算法实现一共分为以下几个部分:加载数据集部分熵的计算按照给定特征划分数据集根据信息增益的最大值的属性作为划分属性递归构建决策树样本的分类创建分支节点伪代码函数createBranch()如下所示:检测数据集的每个子项是否属于同一类: if so return 类标签; else 寻找划分数据集的最好特征原创 2015-05-25 08:18:26 · 8677 阅读 · 0 评论 -
机器学习算法-决策树理论
用较少的东西,同样可以做好的事情。越是小的决策树,越优于大的决策树。引文数据分类是一个两阶段过程,包括学习阶段(构建分类模型)和分类阶段(使用模型预测给定数据的类标号)。决策树分类算法是监督学习的一种,即Supervised learning。分类过程的第一阶段也可以看做学习一个映射或函数y=f(x),它可以预测给定元组X的类标号y。在第二阶段,使用模型进行分类。首先评估分类器的预测准确率。这个原创 2015-09-21 08:04:22 · 3626 阅读 · 0 评论 -
机器学习算法-K最近邻从原理到实现(Python)
引文:决策树和基于规则的分类器都是积极学习方法(eager learner)的例子,因为一旦训练数据可用,他们就开始学习从输入属性到类标号的映射模型。一个相反的策略是推迟对训练数据的建模,直到需要分类测试样例时再进行。采用这种策略的技术被称为消极学习法(lazy learner)。最近邻分类器就是这样的一种方法。1.K最近邻分类器原理首先给出一张图,根据这张图来理解最近邻分类器,如下:原创 2015-10-04 17:20:16 · 11643 阅读 · 0 评论 -
机器学习算法-朴素贝叶斯Python实现
引文:前面提到的K最近邻算法和决策树算法,数据实例最终被明确的划分到某个分类中,下面介绍一种不能完全确定数据实例应该划分到哪个类别,或者说只能给数据实例属于给定分类的概率。基于贝叶斯决策理论的分类方法之朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感 适用数据类型:标称型数据。朴素贝叶斯的一般过程收集数据:可以使用任何方式准备数据:需要数原创 2015-05-28 12:59:06 · 16095 阅读 · 1 评论 -
机器学习算法-K-means聚类
引文: k均值算法是一种聚类算法,所谓聚类,他是一种无监督学习,将相似的对象归到同一个蔟中。蔟内的对象越相似,聚类的效果越好。聚类和分类最大的不同在于,分类的目标事先已知,而聚类则不一样。因为其产生的结果和分类相同,而只是类别没有预先定义。算法的目的: 使各个样本与所在类均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准)K-均值聚类优点:容易实现缺点:可能收敛到局部最原创 2015-06-03 12:30:14 · 3435 阅读 · 1 评论 -
机器学习算法-Apriori关联分析
引文: 学习一个算法,我们最关心的并不是算法本身,而是一个算法能够干什么,能应用到什么地方。很多的时候,我们都需要从大量数据中提取出有用的信息,从大规模数据中寻找物品间的隐含关系叫做关联分析(association analysis)或者关联规则学习(association rule learning)。比如在平时的购物中,那些商品一起捆绑购买销量会比较好,又比如购物商城中的那些推荐信息,都是根据用原创 2015-06-04 08:59:46 · 5362 阅读 · 1 评论 -
机器学习算法-Adaboost
本章内容组合相似的分类器来提高分类性能应用AdaBoost算法处理非均衡分类问题主题:利用AdaBoost元算法提高分类性能1.基于数据集多重抽样的分类器 - AdaBoost 优点 泛化错误率低,易编码,可以应用在大部分分类器上,无需参数调整 缺点 对离群点敏感 适合数据类型 数值型和标称型数据bagging:基于数据随机重抽样的分类器构建方法自举汇聚法(b原创 2015-07-05 19:14:42 · 5448 阅读 · 1 评论