Numpy代表numeric python,是一个用于计算、处理多维数组的python包。 NumPy包由Travis Oliphant在2005年创建,基于原来的Numeric模块与Numarray模块,大部分是用c语言编写的。 NumPy提供各种强大的数据结构(多维数组和矩阵),以及对这些数据结 ...
分类:
编程语言 时间:
2020-06-18 19:03:21
阅读次数:
52
一、随机森林算法简介: 在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而 "Random Forests" 是他们的商标。 这个术语是1995年由贝尔实验室的Tin ...
分类:
编程语言 时间:
2020-06-18 10:24:12
阅读次数:
57
数据科学概述 一、挑战 (一)工程实现 特征提取:对于原始数据进行处理:数据清洗、数据整合、变量归一化等,转换成能被模型使用的特征; 矩阵运算:使用算法来估算算法的模型参数;模型越复杂,需要估计的参数越多,在数学上对应着矩阵运算; 分布式机器学习:将原本在一台机器上运行的模型,改写成能在多台机器上并 ...
分类:
其他好文 时间:
2020-06-18 01:08:35
阅读次数:
87
ID3算法缺点 它一般会优先选择有较多属性值的Feature,因为属性值多的特征会有相对较大的信息增益,信息增益反映的是,在给定一个条件以后,不确定性减少的程度, 这必然是分得越细的数据集确定性更高,也就是条件熵越小,信息增益越大。为了解决这个问题,C4.5就应运而生,它采用信息增益率来作为选择分支 ...
分类:
编程语言 时间:
2020-06-17 20:38:48
阅读次数:
68
1. KNN原理 KNN(k-Nearest Neighbour):K-近邻算法,主要思想可以归结为一个成语:物以类聚 1.1 工作原理 给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的 k (k <= 20)个实例,这 k 个实例的多数属于某个类, 就把该输入实例分为这个类。 ...
分类:
编程语言 时间:
2020-06-17 20:30:15
阅读次数:
92
ID3,C4.5算法缺点 ID3决策树可以有多个分支,但是不能处理特征值为连续的情况。 在ID3中,每次根据“最大信息熵增益”选取当前最佳的特征来分割数据,并按照该特征的所有取值来切分, 也就是说如果一个特征有4种取值,数据将被切分4份,一旦按某特征切分后,该特征在之后的算法执行中, 将不再起作用, ...
分类:
编程语言 时间:
2020-06-17 20:29:17
阅读次数:
57
算法原理 朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法。朴素贝叶斯原理简单,也很容易实现,多用于文本分类,比如垃圾邮件过滤。 该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。 但由于该算法以自变量之间的独立(条件特征独立)性和连续变 ...
分类:
编程语言 时间:
2020-06-17 20:14:27
阅读次数:
73
基本思路 Adaboost体现的是“三个臭皮匠,胜过一个诸葛亮”,它是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器), 然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。训练过程如下(参考Andy的机器学习--浅析Adaboost算法,他说得非常形象,贴切。) ...
分类:
编程语言 时间:
2020-06-17 20:12:02
阅读次数:
45
应用实例: 你是否玩过二十个问题的游戏,游戏的规则很简单:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错回答。问问题的人通过推断分解,逐步缩小待猜测事物的范围。决策树的工作原理与20个问题类似,用户输人一系列数据,然后给出游戏的答案。如下表 假如 ...
分类:
编程语言 时间:
2020-06-17 20:03:36
阅读次数:
41
主要思想 根据现有数据对分类边界线建立回归公式,以此进行分类,其核心是通过最优化算法寻找最佳回归系数(权重系数),主要应用于二分类。 算法原理 二分类的特点是非此即彼,其数学特性符合单位阶跃函数,在某一点会发生突变。这也符合我们现实当中的一些应用场景(比如分数从0 到 60会很容易,越往上你所花的时 ...
分类:
编程语言 时间:
2020-06-17 19:55:29
阅读次数:
55