使用随机森林回归来填充数据集中的缺失值

使用随机森林回归来填充数据集中的缺失值

数据的准备

原始数据

  1. 我们使用的原始数据集如下所示。
  2. 以下数据集是SicKit Learn中,波士顿房价数据的钱 10 列,可以用如下的代码获取到:
1
2
3
4
5
6
from sklearn.datasets import load_boston
dataset = load_boston()
X_full, y_full = dataset.data, dataset.target
TenOfX = X_full_df.iloc[:, :10]
# TenOfX 即为我们的测试数据。
# 为了评估我们的填充效果,我们需要对这些数据做一下归一化处理。
Scikit-Learn中的决策树算法

Scikit-Learn中的决策树算法

Scikit-Learn 中的决策树

sklearn中,决策树在以下位置:

sklearn.tree

主要包含这么几种树:

作用
tree.DecisionTreeClassifier分类树
tree.DecisionTreeRegressor回归树
tree.export_graphviz将生成的决策树导出为 DOT 格式,画图专用
tree.ExtraTreeClassifier高随机版本的分类树
tree.ExtraTreeRegressor高随机版本的回归树
决策树中的算法实现

决策树中的算法实现

本文主要描述以下概念及算法

  • 信息增益的计算方法
  • 信息增益比的计算方法
  • ID3 算法的实现
  • C4.5 算法的实现
  • 决策树的剪枝算法
  • 基尼指数的计算方法
  • 最小二乘回归树生成算法
  • CART 生成算法
  • CART 剪枝算法
朴素贝叶斯算法的具体实现

朴素贝叶斯算法的具体实现

输入空间

  1. 训练数据:$T = \lbrace (x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N) \rbrace$,

    其中,$x_i=(x^{(1)},x^{(2)},\cdots,x^{(n)})^T$,$x_i^{(j)}$是第$i$个样本的第$j$个特征,$x_i^{(j)} \in \lbrace a_{j1},a_{j2}, \cdots, a_{jS_j} \rbrace$, $a_{jl}$是第$j$个特征可能取到的第$l$个值,$j=1,2,\cdots,n$,$l=1,2,\cdots,S_j$,$y \in \lbrace c_1, c_2, \cdots ,c_K \rbrace$;

    • 训练数据中,共有$N$个数据样本;
    • 每个数据共有$n$个特征,即$n$维;
    • 第$j$个维度的取值可能有$S_j$种;
    • 最终可能的分类有$K$种。
  2. 实例:$x$;

输出空间

实例$x$的分类

感知机模型

感知机模型

感知机模型( Perceptron Learning Algorithm )的基础属性

属性属性值
输入空间$X \subseteq R_n$
输入变量$x \in X$
输出空间$Y = { +1, -1}$
输出变量$y \in { +1, -1}$
假设空间$\mathcal{H}=\lbrace f | f(x)=sign(\omega\cdot x+b)\rbrace$
使用TensorFlow和感知机模型进行MNIST手写数字识别

使用TensorFlow和感知机模型进行MNIST手写数字识别

MNIST数据集

MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.

数据集的划分

MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分:

  • Training set images: train-images-idx3-ubyte.gz(9.9 MB, 解压后 47 MB, 包含 60,000 个样本)

  • Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)

  • Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)

  • Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)

神经网络中,梯度下降算法的具体实现原理

神经网络中,梯度下降算法的具体实现原理

本文主要讲解误差逆传播算法的实现。

BP网络

在将单层感知器转换为多层神经网络之后,其损失函数可以使用下面的军方误差的形式去表示,具体如下:

$$
E_k = \frac{1}{2} \sum_{j=1}^{l} (\hat{y}_j^k - y_j^k)^2
\tag{1}
$$

朴素贝叶斯分类器

朴素贝叶斯分类器

贝叶斯判定准则

贝叶斯判定该准则被描述为:为了最小化总体风险,只需要在每个样本上选择那个能使条件风险$R(c|x)$最小的类别标记,即:

$$
h^\star (x) = \arg\min_{c \in \mathcal{Y}} R(c | x)
\tag{1}
$$

此时,$h^\star$称作贝叶斯最优分类器。

注:此时的$h^\star$并不是一个可以计算的值,只是一个贝叶斯最优分类器的理论指导。

SVM对偶形式推导

SVM对偶形式推导

拉格朗日函数的介绍

优化问题的一般形式

形式一:
$$
\begin{align}
\min_x \quad & f_0(x) \\
s.t.\quad & f_i(x) \le 0 , \quad i = 1,\dots,m \\
& h_i(x) = 0, \quad i = 1,\dots,p
\end{align}
\tag{1}
$$

SVM原始形式推导

SVM原始形式推导

欧式空间平面的常见性质

证明$\omega$是平面的法向量

$$
\left \lbrace
\begin{matrix}
\omega^T\mathcal{x_1} + b = 0 \\
\omega^T \mathcal{x_2} + b = 0
\end{matrix}
\right .
\to \omega^T(\mathcal{x_1} - \mathcal{x_2}) = 0 \to \omega^T \mathcal{x} = 0
\tag{1}
$$

Agile Angularjs Animation Application Artificial Intelligence BP Babel Bokeh Book C4.5 CART CD CLI CSS CentOS CheetSheet Cinder Clipboardjs Concept Continuous Delivery DeepLearning Department DevOps Develop Development Directive Distribution Django Document ECMA ES5 ES6 ES7 Echarts Engine Entropy Filter Front End Gallery Git Gradient descent Hexo Horizon ID3 ID3.5 Icarus JavaScript Javascript KVM LaTeX LeetCode LibreOffice Linux MNIST Machine Learning Matrix MiddleWare Module Native Network Nginx NodeJS Numpy OOP OpenSSH OpenStack OpenStackApi Operations Oprations PDF PLA Pandas Pipline Probability Python React Relational algebra Restful Route SVD SVM Scalar Sigmoid Team Tempest Tensor TensorFlow Testing Time TimeMachine Tips Vector Vmware Vue Vuex WSGI Web Word Cut aliyun auth babel certbot debounce decision tree dns docker dockerfile eject footer git header homebrew html5 http https jupyter jwt keystone lab loader lodash mathematics migrate nav openstack outline pdf2html pm2 proto prototype python replace request response rp rt ruby scikit-learn section singular value decomposition sklearn stylus throttle url vue-router vue-ssr webpack 事件 事件代理 事件冒泡 事件捕获 低通滤波器 入门 全局变量 全局对象 全栈 公式 决策树 函数 分类器 剪枝 加速 动态变量 匹配滤波边缘检测 卷积 卷积核 原型链 双向绑定 反向传播 发布 变量类型 可视化 基尼指数 官方示例 对偶形式 对象 小技巧 平移和查分边缘检测 思维导图 感知机模型 拉格朗日乘子法 推导 提交阶段 数据 数据绑定 最大似然估计 最小二乘估计 最小二乘回归树 最小二乘法 本地 朴素贝叶斯 朴素贝叶斯算法 机器学习 条件概率 标签模板 梯度下降 梯度方向边缘检测 概念 概率 模板字符串 正则 求导 流程 源码 源码阅读 特征工程 生命周期 矩阵 神经网络 私有对象 科学计算 算法 算法实现 线性回归 缺失 联合概率 脚手架 识别 调试 贝叶斯 贝叶斯判定准则 边缘检测 边际概率 闭包 间隔 防抖动 限流 随机森林 高斯分布 高通滤波器
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×