![](https://img-blog.csdnimg.cn/20190928121912298.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习
文章平均质量分 88
主要记录机器学习方面的学习内容。
Alvin Ai
曼彻斯特大学数据科学研究生毕业,现居深圳。个人兴趣领域是数据挖掘,机器学习及计算机视觉,欢迎学习交流。
Github:https://github.com/AlvinAi96
邮箱:674190643@qq.com
展开
-
Python - 在线学习(PLA 和 SGD)
当数据太大的时候,计算机内存无法同时处理数据集,则可以考虑分段加载的方式,在线依次加载到计算机内存中完成算法的训练。1. 感知器:Perceptron Learning Algorithm,PLA。最老的计算机学习算法,只能解决线性问题,基于核的感知器则可以解决非线性数据集。关于PLA详细使用请参考感知器算法PLA,其中关于旋转那块重点看,y是用于调整方向的,alpha是来调整旋转角度的,最后目标...转载 2018-04-28 11:03:15 · 1489 阅读 · 0 评论 -
Python - 森林(随机森林、超随机树 和 旋转森林)
当输入数据中存在非线性关系的时候,基于线性回归的模型就会失效,而基于树的算法则不受数据中非线性关系的影响,基于树的方法最大的一个困扰时为了避免过拟合而对树进行剪枝的难度,对于潜在数据中的噪声,大型的树倾向于受影响,导致低偏差(过度拟合)或高方差(极度不拟合)。不过如果我们生成大量的树,最终的预测值采用集成所有树产生的输出的平均值,就可以避免方差的问题。1. 随机森林:集成技术,采用大量的树来建模,...转载 2018-04-26 13:25:13 · 9266 阅读 · 4 评论 -
Python - 回归(线性回归、RFE、LASSO 和 岭回归+K折交叉验证)
1. 普通线性回归:通过输出模型的真实值和预测值的平均平方差尽可能小(即最小二乘估计法),但容易陷入过度拟合(即低偏差),后续回归方法会有带正则化法来缩减数据。2. 普通线性回归+RFE:RFE是recursive feature elimination回归特征消除,让回归特征消除过程中只保留no_features个最重要的特征,可以避免过度拟合,但RFE会舍弃一些变量,原没有下面几个方法给变量赋...转载 2018-04-25 21:41:31 · 16112 阅读 · 0 评论 -
Python - 模型集成(挂袋法、权重提升法 和 梯度提升法)
当我们想在数据集上构建许多个模型,便可考虑使用集成的方法:1. 挂袋法:并行进行,挂袋法集成中的每一个模型只使用训练集的一部分,它们的思路是减少对数据产生过度拟合,但前提是每个模型的差别不能太大,挂袋法对如线性回归之类的线性预测器无效。对于一些很稳定的模型,挂袋法的效果不明显,它适合那些对很小的改变也十分敏感的分类器,例如决策树,它很不稳定,未剪枝决策树就十分适合挂袋法。而KNN分类器则是一种很稳...转载 2018-04-26 10:04:21 · 1808 阅读 · 0 评论 -
Python - 机器学习的分类方法(KNN、朴素贝叶斯 和 决策树)
1. KNN:K最近邻法,把所有的训练集数据都加载到内存中,当它需要对测试实例进行分类时,它衡量这个实例的所有训练实例之间的距离,基于距离,它选择训练集里的K个最近的实例。2. 朴素贝叶斯分类器:贝叶斯是基于“独立假定”的概念,即分类实例之间是相互独立的,例如文档里出现的词是相互独立的,并基于此假定来计算过概率。相关方程在文末有张图表示。文档内正负词分类相对复杂,这里不做详细介绍。3. 决策树:i...转载 2018-04-25 17:28:31 · 2995 阅读 · 0 评论 -
Python - 异常值检测(绝对中位差、平均值 和 LOF)
1. 单变量数据中检测异常点的方法:绝对中位差:如果一个点大于或小于3倍的绝对中位差,那它就被是视为异常点。中位值作为评估值要健壮得多,它是在升序排列的多个观察值中位于中间的观察值,要想彻底改变中位值,要替换掉远离中位值的一半观察值,因此有限样本击穿点是50%。平均值:对于高斯分布的数据来说,68.27%的数据集中在一个标准差的范围内,95.45%在两个标准差的范围内,99.73%在3个标准差的范...转载 2018-04-25 12:16:41 · 23268 阅读 · 0 评论 -
Python - 聚类(KMeans 和 LVQ)
K-means:无监督算法,具有不确定性,因为刚开始输入的聚类点不同,可能会导致最终聚类的结果不同,因此建议多做几次聚类,看看那种分类靠谱点。簇的位置:簇中心的坐标。K-means初始化的时候随机选择一个点作为中心点,然后每个步骤迭代找到一个新的中心,在这个新的中心附近的点都相似,并被划分到同一个组;簇的半径:簇内每个点到簇中心的距离的平方差;簇的规模:簇内点的总数:簇的密度:簇的规模和簇的半径的...转载 2018-04-24 16:03:43 · 2487 阅读 · 3 评论 -
Python - 使用距离度量 (Lr-norm、余弦、Jaccard 和 Hamming距离)
以下内容来自《Python数据科学指南》欧式空间与非欧氏空间的区别:l 直观理解上:如果向量的元素是实数,那就是欧式空间;如果是整数,则不是欧式空间。其中文本挖掘时,词被当作轴,文档作为空间内的向量,两个文档向量的夹角的余弦值代表这两个文档之间的相似度。l 数学理解上:欧式空间内两条平行线永不相交。但如果把空间想做一个地球,其中作为平行线的经线会相交于极点,此时该空间为非欧氏空间。参考链接:h...转载 2018-04-24 13:32:39 · 1501 阅读 · 0 评论 -
Python - 降维(PCA、核PCA、SVD、高斯随机映射 和 NMF)
以下内容来自《Python数据科学指南》降维方法比较:PCA:计算代价高昂,特征向量得存在线性相关。核PCA: 特征向量是非线性相关也可以。SVD:比PCA更能解释数据,因为是直接作用于原数据集,不会像PCA一样,将相关变量转换为一系列不相干的变量。另外,PCA是单模因子分析方法,行列代表的是相同的实体,而SVD是双模因子(即适用两类实体矩阵),可以运用在文本挖掘中,行对应词,列对应文档。高斯随机...转载 2018-04-23 22:01:03 · 6770 阅读 · 0 评论 -
Python - zip和izip函数 以及 位置参数和命名参数的运用
zip:将两个相同长度的集合合并成对izip: 作用跟zip一样,但面对两个超大的列表时,izip速度更快#注意两个集合的长度大小必须一致,如果不满足,则输出结果会削减以匹配较小的集合大小a = [1,2,3,4]b = [2,2,2,2]c = zip(a,b)>> c = [(1,2),(2,2),(3,2),(4,2)]#izip需要调用库,但使用方法跟zip一样f...转载 2018-04-12 21:37:18 · 2664 阅读 · 0 评论 -
Python - 数据预处理
以下内容来自《Python数据科学指南》数据预处理:修补数据、随机采样、缩放数据、标准化数据、实现分词化、删除停用词、删除标点符号、词提取、词形还原、词袋模型1. 修补数据:处理不完整或存在内容丢失的数据。采用模块:from sklearn.preprocessing import Imputer#方法一:根据数据中特定值来修补#imputer = Imputer(m...翻译 2018-04-17 20:36:33 · 694 阅读 · 0 评论