02 2020 档案
摘要:循环作为程序中经常用到的控制结构,在python中常以for循环形式出现;就像下面一样: 这样显得有些累赘,有没有更简洁的循环遍历的方法,当然有! enumerate enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标;一般用于f
阅读全文
摘要:1 matlab概貌 MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是一款由美国The MathWorks公司出品的商业数学软件。matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,ma
阅读全文
摘要:1 word2vec 在自然语言处理的大部分任务中,需要将大量文本数据传入计算机中,用以信息发掘以便后续工作。但是目前计算机所能处理的只能是数值,无法直接分析文本,因此,将原有的文本数据转换为数值数据成为了自然语言处理任务的关键一环。 Word2vec,为一群用来产生词向量的相关模型。这些模型为浅层
阅读全文
摘要:在“初识集成学习”一文中,笔者用了投票法来整合基学习器的预测结果;其实投票法只是集成学习中基学习器的结合策略之一,为了对集成学习有一个整体的概览,本文将对集成学习的整个面貌做一个大体描绘。 对于集成学习的研究,主要集中在基学习器的生成方式和预测结果的整合上,因此本文将遵照此思路依次介绍: 1 基学习
阅读全文
摘要:1 sklearn简介 Scikit learn(sklearn)是机器学习中的第三方模块,封装了常用的机器学习算法,涉及回归、降维、分类以及聚类等,提供python接口。 虽然sklearn容纳的算法众多,但使用其中大多数算法的模式(套路)都是一样的,一般流程如下: 1 引入相关数据(包括训练集与
阅读全文
摘要:顶级数据挖掘会议ICDM于2006年12月评选出了数据挖掘领域的十大经典算法,kNN便是其中一个。 kNN算法的思想是:在训练集中选取与输入数据最近的k个邻居,统计k个邻居中出现次数最多的类别,以此作为该输入数据的类别。这是非常合理的一个想法,因为“物以类聚,人以群分”,隶属于聚类算法的k mean
阅读全文
摘要:假设随机问很多人同一个问题,然后将许多份回答整合起来,通常情况下会发现这个合并的答案比一个专家的答案还要好。这就如同俗语所说“三个臭皮匠,顶个诸葛亮”,也好比对某个问题进行民主投票一样。机器学习中集成学习的思想与之类似。 在分类问题中,传统机器学习方法是在一个由各种可能的函数构成的假设空间中寻找一个
阅读全文
摘要:朴素贝叶斯(Naïve Bayes)属于监督学习算法,实现简单,学习效率高;由于建立在贝叶斯理论之上,涉及到统计学方法,所以在大样本量下会有较好的表现,当然样本需要在一定程度上反映真实分布情况。 该算法的一条假设为:输入的特征向量的各分量之间两两条件独立。因为这条假设比较严格,能够完全符合该假设的应
阅读全文
摘要:机器学习固然是当今解决众多任务的有效方法,但实际使用这个方法时依然需要注意几个问题: 1 数据方面 1.1 训练数据量 需要大量数据,才能让多数机器学习算法正常工作。即便对于非常简单的问题,一般也需要数千的样本,对于复杂的问题,比如图像或语音识别,可能需要数百万的样本。特别是在深度学习中,数据在很大
阅读全文
摘要:本文对机器学习做一个大体概览,以便看清该学科分支的知识点分布情况,以供后续学习指明方向与道路。 机器学习是什么 一般的解释如下: 机器学习是通过编程让计算机从数据中进行学习的科学(和艺术)。 还有两位前辈对机器学习的定义如下: 机器学习是让计算机具有学习的能力,无需进行明确编程。 —— 亚瑟·萨缪尔
阅读全文
摘要:Python中,赋值与拷贝(深/浅拷贝)之间是有差异的,这主要源于数据在内存中的存放问题,本文将对此加以探讨。 1 赋值(添加名字) 赋值不会改变内存中数据存放状态,比如在内存中存在一个名为data的数据,此时若执行语句data_01 = data,则现在该份数据有了两个名称(data和data_0
阅读全文
摘要:作为pandas系列的最终章,本文引出一个数据“复制”问题。 示例如下: 从上图中可以看到:我们对data_pd做了删除一行的操作,但是这并没有改变变量data_pd在内存中的值,而是将删减一行后的数据放置在一块新开辟的内存区域。 可以这么理解,这种机制是在复制的一份原数据上进行操作,从而保护原数据
阅读全文
摘要:在机器学习领域,特别是涉及到模型的调参与优化部分,k折交叉验证是一个经常使用到的方法,本文就结合示例对它做一个简要介绍。 该方法的基本思想就是将原训练数据分为两个互补的子集,一部分做为训练数据来训练模型,另一部分做为验证数据来评价模型。(以下将前述的两个子集的并集称为原训练集,将它的两个互补子集分别
阅读全文
摘要:令笔者对pandas印象最为深刻的一件事,就是在pandas中已经内置了很多数据导入导出方法,然而本人并不了解,在一次小项目的工作中曾手写了一个从excel表格导入数据到DataFrame的python脚本。这个糗事让笔者深感代码能力急需加强! 为了让那次教训刻骨铭心,也为了避免广大读者再走类似的弯
阅读全文
摘要:在完成机器学习中的二分类问题的建模阶段后,需要对模型的效果做评价,如今业内通常采用的评价指标有精确率(Precision)、准确率(Accuracy)、召回率(Recall)、F值(F Measure)等多个方面,为了准确理解以避免混淆,本文将对这些指标做简要介绍。 1 混淆矩阵 其实,上面提及的诸
阅读全文
摘要:pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据。既然如此,是否可以并列多个Series组成一个DataFrame呢?当然可以,通过这种方式创建DataFrame也称为用字典建立
阅读全文
摘要:pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas。 1 pandas数据结构 1.1 Series 注:由于pandas与numpy关系密切,所以在代码中经常将二者一同导入使用。 上图中,先利用numpy创建一个一维
阅读全文
摘要:本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目。比如,在得到一个5x4的矩阵后,出于某种要求,需要将其转成大小为10x2的矩阵,这时就可以利用内置方法实现此功能。 上图中,使
阅读全文
摘要:numpy库中矩阵的常用方法 1 矩阵转置 从上图可以看出:使用方法a.T可以将矩阵a转置。 2 均值与方差 注意:方法a.mean()会对矩阵a的所有元素求均值,a.var()也是考虑矩阵a的所有元素求方差。 当然,也可以选取矩阵的某一行或某一列使用mean与var求均值与方差。 3 设置零矩阵
阅读全文
摘要:前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作。 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉矩阵元素的定位操作。 1.1 提取单个元素 从上图中可以看到:矩阵的行列次序是从零开始的,即代码中矩
阅读全文
摘要:python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库。 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用python语言编写的具有特定功能的类与方法的集合。 举个例子,为了让python能够更好地进行矩阵运算
阅读全文
摘要:本文承接前几个月的python数据类型系列,完成对字典与集合两种数据类型的介绍,并结束python数据类型系列。 字典是python语言中常用的数据类型之一,顾名思义,一个字典就是许多“键值对”的集合,一个键值对就是字典的一个数据元素,示例如下: 从上图可以看到,该字典含有三个键值对,每个键值对的“
阅读全文

浙公网安备 33010602011771号