knn算法原理及python实现:Python机器学习之K近邻分类算法
K近邻极简案例
文章目录
K-近邻算法介绍
K近邻数据样本分析
K-近邻快速入门
K-近邻算法介绍
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别
三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离, 欧式举例的本质就是如果两个样本之间的特征值越相邻,则值越小(距离越短)
K近邻数据样本分析
K-近邻快速入门
通过此案例,理解训练集与测试集的使用,了解K-近邻API常用功能,并且掌握K超参数的意义
K近邻识别图形图像
文章目录
K近邻识别图片
PCA主成分分析
采用PCA降维提示运算效率
K近邻识别图片
在本篇文章中我们使用sklearn中自带的手写数字数据集(digits),这个数据集中并没有图片,而是经过提取得到的手写数字特征和标记,就免去了我们的提取数据的麻烦,但是在实际的应用中是需要我们对图片中的数据进行提取的
PCA主成分分析
在很多机器学习算法的复杂度和数据的维度有着密切的关系,甚至与维数呈现指数级关联。在图形图像中机器学习处理成千上万甚至几十万的维度的情况也并不罕见,在这种情况下,机器学习的资源消耗是不可接收的,因此我们必须对数据进行降维处理
主要用于数据的降维 通过降维,可以发现更便于人类理解的特征
其它应用:可视化,去噪音
降维当然意味着信息的丢失,不过鉴于实际数据本身通常存在相关性,我们可以想办法在降维的同时将信息的损失尽量降低
一些相关性案例
“浏览量"和"访客数” 往往具有较强的相关性
“下单数”和"成交数" 也具有较强的相关性
“学历”和"学位" 具有较强的相关性
采用PCA降维提示运算效率
交叉验证与网格搜索
文章目录
为什么使用交叉验证
交叉验证原理分析
交叉验证与网格搜索
为什么使用交叉验证
交叉验证用于评估模型的性能预测,尤其是训练好的模型在新数据上的表现
可以在一定程度上减少过拟合 可以从有限的数据中获取尽可能多的有效信息
评估的正确率相对更稳定
交叉验证原理分析
交叉验证,将拿到的训练数据,分为训练集和验证集 (总数据 = (训练集 (训练集 验证集) 测试集),例如:可以将数据分成5份,其中一份作为验证集。然后经过5次(5组)的测试,每次更换不同的验证集,得到5组模型的结果。取平均值作为最终结果。又称为5折交叉验证
交叉验证与网格搜索
网格搜索法是指定参数值的一种穷举搜索方法,通过将估计函数的参数通过交叉验证的方法进行优化来得到最优的学习算法。