![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 53
愛在梦醒时分
菜鸟而已
展开
-
《机器学习实战》学习笔记七:Logistics回归(梯度上升法)
1 Logistics回归概念回归是指将一对数据拟合为一条直线的过程,而Logistics回归则是将回归用于分类,其主要思想为:根据现有的数据对分类边界线建立回归公式,依次为依据进行分类,在这里最关键的一步是寻找最佳的拟合参数,这一步将会用到一些最优化的方法,如梯度上升等。2 一些数学基础2.1 Sigmoid函数本文以二分类为例,说到二分类问题,我们首先想到的是0,1的问原创 2018-01-30 21:51:42 · 631 阅读 · 0 评论 -
《机器学习实战》学习笔记一:k-近邻算法(kNN)
k-近邻算法(以下简称kNN)是分类算法中比较简单的一种,KNN算法的一般流程为:(1)收集数据,如从文件中导入数据(2)准备数据,将数据转化为适合计算的格式,如矩阵的形式(3)分析数据(4)测试数据,计算分类的错误率(5)应用算法,给定输入,得到相应的输出,指出改数据属于哪一种分类。 kNN算法的过程如下:(1)计算数据集中各点与当前点(给定数据)之间的距离; (2)按照距离原创 2018-01-18 21:55:39 · 216 阅读 · 0 评论 -
《机器学习实战》学习笔记八:Logistics回归应用(预测病马死亡率)
学习了Logistics回归的理论,并且改进了梯度上升算法之后,这一节将算法应用到实例中去,即使用Logistics回归从疝气病症来预测病马的死亡率的问题。1 问题背景现有一个数据集中包含368个样本和28个特征。该数据集中包含了医院检测马疝病的一些指标,有的指标比较主观,有的指标难以测量,例如马的疼痛级别。另外需要说明的是,除了部分指标主观和难以测量外,该数据还存在一个问题,数据集中有3原创 2018-01-31 19:26:48 · 1573 阅读 · 0 评论 -
《机器学习实战》学习笔记二:kNN算法实例 -- 手写体识别
kNN算法的一个简单的例子是手写体识别,问题的关键在于如何将数据转化为需要的格式,还有如何从文件名中解析出图像所在的分类。解决这两个问题之后就可以应用kNN算法进行识别了。 图像的数据是以32*32二进制矩阵的形式在文本中存放着(如图1所示),首先我们要的是把这些文本中的数据存放到数组中,这里做法是创建一个1*1024的数组,逐行读取文件的前32行的前32个字符,并将其存于数组中,到这里准备原创 2018-01-19 13:20:54 · 471 阅读 · 0 评论 -
《机器学习实战》学习笔记三:决策树
1.信息增益 决策树应该是比较简单的概念了,其结构类似于二叉树,从根节点向下依次判断,直至叶子节点获得结果。对于基本结构不多说了,这里主要说一下和决策树相关的两个数学上的概念,即信息增益和香农熵。信息增益是指的以某一个特征对数据集划分前后数据集发生的变化,而香农熵则是度量这一变化的量。 香农熵的计算公式如下: 计算香农熵的代码:def calcShannonEnt(dataSet原创 2018-01-24 16:59:22 · 203 阅读 · 0 评论 -
《机器学习实战》学习笔记四:使用Matplotlib注解绘制树形图
Matplotlib是python的一个绘图库,可以使用其注解功能来绘制图形。 1.使用文本注解绘制树节点import matplotlib.pyplot as pltdecisionNode = dict(boxstyle="sawtooth",fc="0.8")#定义文本框和箭头格式leafNode = dict(boxstyle="round4",fc="0.8")arrow原创 2018-01-24 21:08:57 · 918 阅读 · 0 评论 -
《机器学习实战》学习笔记五:朴素贝叶斯分类
1.贝叶斯决策理论 如图,在数据集中有两类数据,分布如下: 我们用p1(x,y)和p2(x,y)分别表示某一数据点在两类数据中的概率,那么对于一个新的数据点,可以用以下规则来判断它的类别: 若p1(x,y) > p2(x,y),则为类别1 若p1(x,y) 这就是贝叶斯决策的思想,即选择具有最高概率的决策。2.一些概率论基础 那么这个概率要如何计算呢?这里补充一些概率论的基础。原创 2018-01-25 21:05:53 · 324 阅读 · 1 评论 -
《机器学习实战》学习笔记六:朴素贝叶斯的应用
有了前一节朴素贝叶斯分类文本的基础,这一节将进行两个实例应用:过滤垃圾邮件和从个人广告中获取区域倾向。实例一:过滤垃圾邮件由于邮件信息以文本的形式存放,我们首先要做的就是从切分文本,使用正则表达式将其拆分成词组,然后除去其中的空字符,并且将句首字母都转换为小写,完成准备数据的工作,就可以进行分类了。def textParse(bigString): import re原创 2018-01-26 21:36:23 · 343 阅读 · 0 评论 -
《机器学习实战》学习笔记九:支持向量机(SVM)
一、什么是支持向量机(SVM)?支持向量机(Support Vector Machine)听起就来是一个很难理解的概念,的确,刚开始听这一概念完全不知其是什么东西。在参考了网上的一些大神通俗的解释后,对于这一概念有了初步的认识。自己也很难想出比这更好的解释,在这里就直接引用知乎大神简之的解释了[1]:点击查看原文地址 大神以一个故事来说明这个问题:在很久以前的情人节,大侠要去救他的爱人,但魔...原创 2018-03-12 20:36:08 · 694 阅读 · 0 评论