笔者本人是个初入机器学习的小白,主要是想把学习过程中的大概知识和自己的一些经验写下来跟大家分享,也可以加强自己的记忆,有不足的地方还望小伙伴们批评指正,点赞评论走起来~ 文章目录 1.k-近邻算法概述 1.1 距离度量 1.2 k值的选择 1.3 分类决策规则 2.k-近邻算法实现 2.1 实现方法 2.2 k-近邻法python3.6实现 2.2.1 k-近邻法实现程序 2.2.2 classify0(inX, dataSet, labels, k)中部分方法注释 2.2.3 如何测试分类器…
文章目录 1.ID3及C4.5算法基础 1.1 计算香农熵 1.2 按照给定特征划分数据集 1.3 选择最优特征 1.4 多数表决实现 2.基于ID3.C4.5生成算法创建决策树 3.使用决策树进行分类 4.存储决策树 通过决策树原理及相关概念细节我们知道,决策树的学习算法主要包括3个步骤:特征选择.决策树生成算法.决策树剪枝,我们按照这个思路来一一实现相关功能. 本文的实现目前主要涉及特征选择.ID3及C4.5算法.剪枝及CART算法暂未涉及,后期补上. 1.ID3及C4.5算法基础 前面文章…
一. KNN原理: 1. 有监督的学习 根据已知事例及其类标,对新的实例按照离他最近的K的邻居中出现频率最高的类别进行分类.伪代码如下: 1)计算已知类别数据集中的点与当前点之间的距离 2)按照距离从小到大排序 3)选取与当前点距离最小的k个点 4)确定这k个点所在类别的出现频率 5)返回这K个点出现频率最高的类别作为当前点的预测分类 import numpy as np # 读取数据 def file2matrix(filename): fr = open(filename) arrayLin…
k邻近算法的伪代码: 对未知类别属性的数据集中的每个点一次执行以下操作: (1)计算已知类别数据集中的点与当前点之间的距离: (2)按照距离递增次序排列 (3)选取与当前点距离最小的k个点 (4)确定前k个点所在类别的出现频率 (5)返回前k个点出现频率最好的类别作为当前点的预测分类 python函数实现 ''' Created on Sep 16, 2010 kNN: k Nearest Neighbors Input: inX: vector to compare to existing d…
文章目录 1.改进约会网站匹配效果 1.1 准备数据:从文本文件中解析数据 1.2 分析数据:使用Matplotlib创建散点图 1.3 准备数据:归一化特征 1.4 测试算法:作为完整程序验证分类器 1.5 使用算法:构建完成可用系统 2.手写识别系统 2.1 准备数据:将图像转换为测试向量 2.2 测试算法:使用k-近邻算法识别手写数字 在上一篇文章中我们得到了基于欧式距离.多数表决规则,实现方法采用线性搜索法的k-近邻法classify0(inX, dataSet, labels, k),…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. 降维技术的用途 使得数据集更易使用: 降低很多算法的计算开销: 去除噪声: 使得结果易懂. 基本概念 降维(dimensionality reduction). 如果样本数据的特征维度很大,会使得难以分析和理解.我们可以通过降维技术减少维度. 降维技术并不是将影响少的特征去掉,而是将样本数据集转换成一个低维度…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growth算法 FP-growth算法的性能很好,只需要扫描两次数据集,就能生成频繁项集.但不能用于发现关联规则. 我想应该可以使用Apriori算法发现关联规则. FP代表频繁模式(Frequent Pattern). 条件模式基(conditional pattern base). 条件模式基是以所查找元素项为结…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(association analysis)或者关联规则学习(association rule learning) 这是非监督学习的一个特定的目标:发现数据的关联(association)关系.简单的说,就是那些数据(或者数据特征)会一起出现. 关联分析的目标包括两项:发现频繁项集和发现关联规则.首先需要找到频繁项集,然后才能…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是,有时会发现生成的算法\(f(x)\)的错误率比较高,只使用这个算法达不到要求. 这时\(f(x)\)就是一个弱算法. 在以前学习算法的过程中,我们认识到算法的参数很重要,所以把公式改写成这样: \[ f(x,arguments) \\ where \\ \qquad x \text{ : calculated…
Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提炼出其中的知识点和思路思想. 视频地址在(http://www.youku.com/playlist_show/id_23389553.html),是一个Stealth的专辑,这里只放上本章第一个视频,其它的大家在上面的链接中慢慢看吧. 第二章有一个视频是FLV格式的,我没法把字幕嵌入其中,所以优酷…