
机器学习
文章平均质量分 80
ivy_reny
这个作者很懒,什么都没留下…
展开
-
机器学习之决策树 Decision Tree(二)Python实现
计算给定数据集的熵from math import log# 计算给定数据集的熵def calcShannonEnt(dataSet): numEntries = len(dataSet) labelCounts = {} for featVec in dataSet: # 为所有可能分类创建字典 currentLabel = featVec[-1] # 最后一列数据为键值原创 2017-12-08 14:01:04 · 865 阅读 · 0 评论 -
机器学习之支持向量机SVM Support Vector Machine (六) 高斯核调参
参考:http://www.cnblogs.com/pinard/p/6126077.html 在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,理论上 RBF一定不比线性核函数差,但是在实际应用中,却面临几个重要超参数的调优问题。如果调的不好,可能比线性核函数还要差。所以实际应用中,能用线性核函数得到较好效果的都会选择线性核函数。如果线性核效转载 2017-12-22 14:40:49 · 2961 阅读 · 0 评论 -
机器学习之决策树 Decision Tree(一)
一、决策树 决策树是一个树结构(可以是二叉树或非二叉树),每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,按照其值选择输出分支,直到到达叶节点,将叶节点存放的类别作为决策结果。二、决策树的构造 构造决策树的关键步骤是在某个节点处原创 2017-12-07 17:15:44 · 2096 阅读 · 0 评论 -
机器学习之朴素贝叶斯Naïve Bayes (一)
一、贝叶斯定理 贝叶斯分类是一类分类算法的总称,这类算法以贝叶斯定理为基础,故统称为贝叶斯分类。贝叶斯定理解决了现实生活中经常遇到的问题:已知某条件概率,如何得到事件交换后的概率,即在已知P(A|B)的情况下求得P(B|A)。条件概率P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B条件下发生事件A的条件概率。其基本求解公式为:P(A|B)=P(AB)/P(B)原创 2018-01-22 18:56:12 · 1810 阅读 · 0 评论 -
机器学习之朴素贝叶斯Naïve Bayes (二) scikit-learn算法库
参考:http://www.cnblogs.com/pinard/p/6074222.html一、scikit-learn 朴素贝叶斯类库概述 朴素贝叶斯是一类比较简单的算法,scikit-learn中朴素贝叶斯类库的使用也比较简单。相对于决策树、KNN之类的算法,朴素贝叶斯需要关注的参数是比较少的,这样也比较容易掌握。在scikit-learn中,一共有三个朴素转载 2018-01-23 10:52:40 · 1486 阅读 · 0 评论 -
机器学习之集成学习(三)AdaBoost算法scikit-learn库
参考:https://www.cnblogs.com/pinard/p/6136914.html一、AdaBoost类库概述 scikit-learn中AdaBoost类库比较直接,就是AdaBoostClassifier和AdaBoostRegressor两个,从名字就可以看出AdaBoostClassifier用于分类,AdaBoostRegressor用于回归。转载 2018-01-24 18:15:52 · 2590 阅读 · 1 评论 -
机器学习之集成学习(七)随机森林scikit-learn库
一、scikit-learn随机森林类库概述 在scikit-learn中,RF的分类类是RandomForestClassifier,回归类是RandomForestRegressor。RF的变种Extra Trees也有 分类类ExtraTreesClassifier,回归类ExtraTreesRegressor。由于RF和Extra Trees的区别较小,调参方法基本相同,本文...转载 2018-02-09 10:32:12 · 3097 阅读 · 1 评论 -
机器学习之集成学习(一)Ensemble Learning
一、集成学习概述 集成学习通过构建并结合多个学习器来完成学习任务。通过将多个学习器结合,常可以获得比单一学习器显著优越的泛化性能,达到博采众长的目的。 集成学习有两个主要的问题需要解决:1、如何训练每个学习器?2、如何融合各个学习器?二、个体学习器 要获得好的学习器,个体学习器应“好而不同”,即个体学习器要有一定的准确性,并且原创 2018-01-23 18:39:56 · 826 阅读 · 0 评论 -
机器学习之集成学习(二)AdaBoost算法
一、boosting算法的基本原理 集成学习器根据个体学习器的生成是否存在依赖关系,可以分为两类:个体学习器间存在强依赖关系,必须串行生成,代表算法是boosting系列算法;个体学习器之间不存在强依赖关系,可以并行生成,代表算法是bagging和随机森林系列算法。在boosting系列算法中,AdaBoost是最著名的算法之一。AdaBoost既可以用作分类,也可以用作回归。原创 2018-01-24 16:29:07 · 5105 阅读 · 1 评论 -
机器学习之集成学习(四)GBDT
一、概述 GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。GBDT的思想使其具有天然优势可以发现多种有原创 2018-02-08 17:09:38 · 2340 阅读 · 0 评论 -
机器学习之集成学习(五)GBDT算法scikit-learn库
参考:http://www.cnblogs.com/pinard/p/6143927.html一、GBDT类库概述 在scikit-learn中,GradientBoostingClassifier为GBDT的分类类, 而GradientBoostingRegressor为GBDT的回归类。两者的参数类型完全相同,当然有些参数比如损失函数loss的可选择项并不相同。这些参转载 2018-02-08 18:15:29 · 1560 阅读 · 0 评论 -
机器学习之支持向量机SVM Support Vector Machine (五) scikit-learn算法库
参考:http://www.cnblogs.com/pinard/p/6117515.html一、scikit-learn SVM算法库概述 scikit-learn中SVM的算法库分为两类,一类是分类算法库,包括SVC、 NuSVC和LinearSVC三个类。另一类是回归算法库,包括SVR、NuSVR和LinearSVR三个类。相关的类都包裹在sklearn.s转载 2017-12-22 10:06:12 · 1238 阅读 · 0 评论 -
机器学习之支持向量机SVM Support Vector Machine (四) SMO算法
基本思想序列最小最优化算法(Sequential Minimal Optimization, SMO)。优化目标函数:min┬a〖1/2 ∑_(i=1)^m▒∑_(j=1)^m▒〖a_i a_j y_i y_j K(x_i,x_j ) 〗-〗 ∑_(i=1)^m▒a_i s.t.∑_(i=1)^m▒〖a_i y_i=0〗〖0≤a〗_i≤C, i=1,2,…m解需要满足的KKT原创 2017-12-21 11:44:44 · 602 阅读 · 0 评论 -
机器学习之线性回归 Linear Regression(一)
一、线性回归 线性回归一般用来做连续值的预测,预测结果为一个连续值。因为训练时学习样本不仅要提供学习的特征向量X,还要提供样本的实际结果,所以它是一种有监督学习。 表示数据矩阵,其中表示一个n维长的数据样本,表示数据标记。线性回归需要学习得到一个映射关系,当给定新的待预测样本时,可以通过这个映射关系得到一个测试样本X的预测值y。 线性回归的数学原创 2017-11-22 10:40:40 · 2276 阅读 · 0 评论 -
机器学习之决策树 Decision Tree(三)scikit-learn算法库
参考http://www.cnblogs.com/pinard/p/6056319.html1、scikit-learn决策树算法类库介绍 scikit-learn决策树算法类库内部实现是使用了调优过的CART树算法,既可以做分类,又可以做回归。分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegres转载 2017-12-08 17:32:03 · 5875 阅读 · 1 评论 -
机器学习之逻辑回归 Logistic Regression(三)scikit-learn算法库
参考http://www.cnblogs.com/pinard/p/6035872.html1、概述 在scikit-learn中,与逻辑回归有关的主要是这3个类。LogisticRegression, LogisticRegressionCV 和logistic_regression_path。其中LogisticRegression和LogisticRegress转载 2017-12-11 09:38:33 · 4216 阅读 · 0 评论 -
机器学习之线性回归 Linear Regression(三)scikit-learn算法库
参考http://www.cnblogs.com/pinard/p/6026343.html scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析,本文就对这些类库的使用做一个总结,重点讲述这些线性回归算法库的不同和各自的使用场景。 线性回归的目的是要得到输出向量Y和输入特征X之间的线性关系,求出线性回归系数θ,也就是转载 2017-12-11 11:32:54 · 5275 阅读 · 0 评论 -
机器学习之线性回归 Linear Regression(二)Python实现
一元线性回归 假设你想计算匹萨的价格。 虽然看看菜单就知道了,不过也可以用机器学习方法建一个线性回归模型,通过分析匹萨的直径与价格的线性关系,来预测任意直径匹萨的价格。假设我们查到了部分匹萨的直径与价格的数据,这就构成了训练数据,如下表所示:import matplotlib.pyplot as pltdef runplt(): plt.figure() p原创 2017-11-22 10:59:55 · 31104 阅读 · 0 评论 -
机器学习之逻辑回归 Logistic Regression(一)
参考http://blog.youkuaiyun.com/han_xiaoyang/article/details/49123419一、逻辑回归 逻辑回归是一个应用非常广泛的机器学习分类算法,它将数据拟合到一个logit函数中,从而完成对事件发生概率的预测。线性回归对连续值进行预测,现实生活中常见的另一类问题是分类问题。最直接的想法是,用线性回归预测出连续值结果,根据结果设定一个阈值进行原创 2017-11-24 14:07:00 · 5660 阅读 · 0 评论 -
机器学习之支持向量机SVM Support Vector Machine (一) 线性SVM模型与软硬间隔
一、简介 SVM是一种二类分类模型,它的目标是利用训练数据集的间隔最大化找到最优分离超平面。SVM还包括核技巧,使它成为非线性分类器。 SVM学习方法包含由简至繁的模型:线性可分SVM(硬间隔SVM)、线性SVM(软间隔SVM)、非线性SVM。二、间隔与支持向量 给定训练样本集,分类学习的目标是基于训练集D在样本空间找到一个分离超平面,将不原创 2017-12-15 18:07:39 · 1580 阅读 · 0 评论 -
机器学习之逻辑回归 Logistic Regression(二)Python实现
参考http://blog.youkuaiyun.com/han_xiaoyang/article/details/49123419 在一组数据上做逻辑回归,数据格式如下: 先来看数据分布,代码如下:from numpy import loadtxt, wherefrom pylab import scatter, show, legend, xla原创 2017-12-04 17:23:10 · 686 阅读 · 0 评论 -
机器学习之支持向量机SVM Support Vector Machine (二) 非线性SVM模型与核函数
求解线性分类问题,线性SVM是一种非常有效的方法,但是有时分类问题是非线性的,这时可以使用非线性SVM。非线性问题往往不好求解,希望能用解线性分类问题的方法解决这个问题,可以采用非线性变换,将非线性问题变换为线性问题,通过解决变换后的线性问题的方法求解原来的非线性问题。在线性回归中,可以将多项式回归转化为线性回归。比如一个只有两个特征的p次多项式回归模型:h_θ (x_1,x_2 )=θ_原创 2017-12-21 11:41:36 · 1117 阅读 · 0 评论 -
机器学习之支持向量机 (三) SVM回归模型Support Vector Regression (SVR)
SVM回归模型的损失函数SVM不仅可以用于分类模型,也可以用于回归模型。回顾SVM分类模型,目标函数是1/2 ‖w‖^2最小,同时让训练集的数据点尽量远离自己类别一边的支持向量,即y_i (w∙ϕ(x_i )+b)≥1。如果加入松弛变量ξ_i≥0,则目标函数是1/2 ‖w‖^2+C∑_(i=1)^m▒ξ_i ,对应的约束条件是y_i (w∙ϕ(x_i )+b)≥1-ξ_i回归模型的优化目标原创 2017-12-21 11:43:22 · 10860 阅读 · 0 评论 -
机器学习之集成学习(六)Bagging与随机森林
集成学习有两个系列,一个是boosting系列,它的特点是各个弱学习器之间有依赖关系。另一个是bagging系列,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。本文就对集成学习中Bagging与随机森林算法做一个总结。 随机森林是集成学习中可以和梯度提升树GBDT分庭抗礼的算法,尤其是它可以很方便的并行训练,在如今大数据大样本的的时代很有诱惑力。一、Bagging原理转载 2018-02-08 18:56:13 · 1544 阅读 · 0 评论