原文地址: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(…
Roadmap Decision Tree Hypothesis Decision Tree Algorithm Decision Tree Heuristics in C&RT Decision Tree in Action Summary…
[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支. 一棵决策树的组成:根节点.非叶子节点(决策点).叶子节点.分支 算法分为两个步骤:1. 训练阶段(建模) 2. 分类阶段(应用) 熵的概念 设用P(X)代表X发生的概率,H(X)代表X发生的不确定性,则有:P(X)越大,H(X)越小:P(X)越小,H(X)越大. 信息熵的一句话解释是:消除不确定性的程度…
从这一节开始学习机器学习技法课程中的SVM, 这一节主要介绍标准形式的SVM: Linear SVM 引入SVM 首先回顾Percentron Learning Algrithm(感知器算法PLA)是如何分类的,如下图,找到一条线,将两类训练数据点分开即可: PLA的最后的直线可能有很多条,那到底哪条好呢?好坏的标准则是其泛化性能,即在测试数据集上的正确率,如下,下面三条直线都能正确的分开训练数据,那到底哪个好呢?SVM就是解决这个问题的. SVM求解 直觉告诉我们最右的要好一些,因为测试数据的…
Roadmap Adaptive Boosted Decision Tree Optimization View of AdaBoost Gradient Boosting Summary of Aggregation Models Summary…
将Adaboost和decision tree相结合,需要注意的地主是,训练时adaboost需要改变资料的权重,如何将有权重的资 料和decision tree相结合呢?方法很类似于前面讲过的bagging,通过采样资料来使资料获得不同的权重. 一棵完全的树的权值会无限大,可能出现过拟合.因此需要得到一棵弱分类的树,方法如下: 接下来比较深入的分析adaboost.经过代换,出现了如下惊人的结果: 某个资料的权重正比于投票分数 联系到之前学习的SVM,发现了一个秘密:投票的分数就是某个点到分隔…
Roadmap Random Forest Algorithm Out-Of-Bag Estimate Feature Selection Random Forest in Action Summary…
一.Table for Content 在之前的文章中我们介绍了Decision Trees Agorithms,然而这个学习算法有一个很大的弊端,就是很容易出现Overfitting,为了解决此问题人们找到了一种方法,就是对Decision Trees 进行 Pruning(剪枝)操作. 为了提高Decision Tree Agorithm的正确率和避免overfitting,人们又尝试了对它进行集成,即使用多棵树决策,然后对于分类问题投票得出最终结果,而对于回归问题则计算平均结果.下面是几条…
前言 最近打算系统学习下机器学习的基础算法,避免眼高手低,决定把常用的机器学习基础算法都实现一遍以便加深印象.本文为这系列博客的第一篇,关于决策树(Decision Tree)的算法实现,文中我将对决策树种涉及到的 算法进行总结并附上自己相关的实现代码.所有算法代码以及用于相应模型的训练的数据都会放到GitHub上(https://github.com/PytLab/MLBox). 本文中我将一步步通过MLiA的隐形眼镜处方数集构建决策树并使用Graphviz将决策树可视化. 决策树学习 决策树…
原文地址:https://www.jianshu.com/p/1db700f866ee 问题描述 程序实现 # kNN_RBFN.py # coding:utf-8 import numpy as np import matplotlib.pyplot as plt def ReadData(dataFile): with open(dataFile, 'r') as f: lines = f.readlines() data_list = [] for line in lines: line…