[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支. 一棵决策树的组成:根节点.非叶子节点(决策点).叶子节点.分支 算法分为两个步骤:1. 训练阶段(建模) 2. 分类阶段(应用) 熵的概念 设用P(X)代表X发生的概率,H(X)代表X发生的不确定性,则有:P(X)越大,H(X)越小:P(X)越小,H(X)越大. 信息熵的一句话解释是:消除不确定性的程度…
阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Python实现 8 参考内容 回到顶部 1 什么是随机森林? 作为新兴起的.高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性.最初,我是…
其实,之前就接触过随机森林,但仅仅是用来做分类和回归.最近,因为要实现一个idea,想到用随机森林做ensemble learning才具体的来看其理论知识.随机森林主要是用到决策树的理论,也就是用决策树来对特征进行选择.而在特征选择的过程中用到的是熵的概念,其主要实现算法有ID3和C4.5.下面我们先来看看决策树. 下面我们用一个例子具体的来说明 我们要选取一个最好的特征来判断是否贷款,上面给出了年龄,工作,房子,信贷四种特征.如果一种特征具有更好的分类能力,或者说,按照这一特征将训练数据集分…
原文地址:https://www.jianshu.com/p/7ff6fd6fc99f 问题描述 程序实现 13-15 # coding:utf-8 # decision_tree.py import numpy as np def ReadData(dataFile): with open(dataFile, 'r') as f: lines = f.readlines() data_list = [] for line in lines: line = line.strip().split(…
[ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这时候就没法用信息增益.信息增益率.基尼系数来判定树的节点分裂了,那么回归树采用新的方式是预测误差,常用的有均方误差.对数误差等(损失函数).而且节点不再是类别,而是数值(预测值),划分到叶子后的节点预测值有不同的计算方法,有的是节点内样本均值,有的是最优化算出来的比如Xgboost. XGBoost…
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:有一篇<有监督学习选择深度学习还是随机森林或支持向量机?>(作者Bio:SebastianRaschka)中提到,在日常机器学习工作或学习中,当我们遇到有监督学习相关问题时,不妨考虑下先用简单的假设空间(简单模型集合),例如线性模型逻辑回归.若效果不好,也即并没达到你的预期或评判效果基准时,再进行下换其他更复杂模型来实验. ----…
目录 简介 决策树简单用法 决策树检测P0P3爆破 决策树检测FTP爆破 随机森林检测FTP爆破 简介 决策树和随机森林算法是最常见的分类算法: 决策树,判断的逻辑很多时候和人的思维非常接近. 随机森林算法,利用多棵决策树对样本进行训练并预测的一种分类器,并且其输出的类别是由个别决策树输出的类别的众数决定. 决策树简单用法 使用sklearn自带的iris数据集 # -*- coding: utf- -*- from sklearn.datasets import load_iris from…
[ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先验概率"(Prior probability),即在B事件发生之前,对A事件概率的一个判断.P(A|B)称为"后验概率"(Posterior probability),即在B事件发生之后,对A事件概率的重新评估.P(B|A)/P(B)称为"可能性函数"(Lik…
[ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量的关系. 回归与分类的区别:回归预测的是连续变量(数值),分类预测的是离散变量(类别). 线性回归 线性回归通过大量的训练出一个与数据拟合效果最好的模型,实质就是求解出每个特征自变量的权值θ. 设有特征值x1.x2(二维),预测值 $ h_\theta(x)=\theta_0 + \theta_1x…
LR 与SVM 不同 1.logistic regression适合需要得到一个分类概率的场景,SVM则没有分类概率 2.LR其实同样可以使用kernel,但是LR没有support vector在计算复杂度上会高出很多.如果样本量很大并且需要的是一个复杂模型,那么建议SVM 3. 如果样本比较少,模型又比较复杂.那么建议svm,它有一套比较好的解构风险最小化理论的保障,比如large margin和soft margin 相同 1. 由于hinge loss和entropy loss很接近,因…