决策树和随机森林

2023-11-01

1.信息熵

(1)熵

    熵代表随机分布不确定程度,熵越大,不确定越大。随机变量X熵的定义如下:
H ( X ) = − ∑ i = 1 n p ( x i ) l o g   p ( x i ) = − ∫ x p ( x ) l o g   p ( x ) d x H(X)=-\sum_{i=1}^{n}p(x_i)log\,p(x_i)=-\int_{x}p(x)log\,p(x)dx H(X)=i=1np(xi)logp(xi)=xp(x)logp(x)dx
   注:
    熵只依赖于随机变量的分布,与随机变量取值无关;
    定义0log0=0(因为可能出现某个取值概率为0的情况);
    熵越大,随机变量的不确定性就越大,分布越混乱,随机变量状态数越多。

(2)联合熵

    推广到多维随机变量的联合分布,其联合信息熵为:
H ( X , Y ) = − ∑ i = 1 n ∑ j = 1 m p ( x i , y j ) l o g   p ( x i , y j ) H(X,Y)=-\sum_{i=1}^{n}\sum_{j=1}^{m}p(x_i,y_j)log \, p(x_i,y_j) H(X,Y)=i=1nj=1mp(xi,yj)logp(xi,yj)

(3)条件熵

    在X给定条件下,Y的条件概率分布的熵对X的数学期望,(X,Y)发生所包含的熵,减去X单独发生包含的熵:在X发生的情况下,Y发生“新”带来的熵。
H ( Y ∣ X ) = H ( X , Y ) − H ( X ) = − ∑ x , y p ( x , y ) l o g   p ( x , y ) + ∑ x p ( x ) l o g   p ( x ) = − ∑ x , y p ( x , y ) l o g   p ( x , y ) + ∑ x ( ∑ p ( x , y ) ) l o g   p ( x ) = − ∑ x , y p ( x , y ) l o g   p ( x , y ) + ∑ x , y p ( x , y ) l o g   p ( x ) = − ∑ x , y p ( x , y ) l o g p ( x , y ) p ( x ) = − ∑ x , y p ( x , y ) l o g   p ( y ∣ x ) \begin{aligned} H(Y|X)=&H(X,Y)-H(X) \\ =&-\sum_{x,y}p(x,y)log\,p(x,y) + \sum_{x}p(x)log\,p(x)\\ =&-\sum_{x,y}p(x,y)log\,p(x,y) + \sum_x(\sum p(x,y))log\,p(x) \\ =&-\sum_{x,y}p(x,y)log\,p(x,y) + \sum_{x,y}p(x,y)log\,p(x)\\ =& - \sum_{x,y}p(x,y)log \frac{p(x,y)}{p(x)} \\ =&- \sum_{x,y}p(x,y)log\,p(y|x) \end{aligned} H(YX)======H(X,Y)H(X)x,yp(x,y)logp(x,y)+xp(x)logp(x)x,yp(x,y)logp(x,y)+x(p(x,y))logp(x)x,yp(x,y)logp(x,y)+x,yp(x,y)logp(x)x,yp(x,y)logp(x)p(x,y)x,yp(x,y)logp(yx)
    根据条件熵的定义式,可以得到
H ( Y ∣ X ) = − ∑ x , y p ( x , y ) l o g   p ( y ∣ x ) = − ∑ x ∑ y p ( x , y ) l o g   p ( y ∣ x ) = − ∑ x ∑ y p ( y ∣ x ) p ( x ) l o g   p ( y ∣ x ) = − ∑ x p ( x ) ∑ y p ( y ∣ x ) l o g   p ( y ∣ x ) = ∑ x p ( x ) ( − ∑ y p ( y ∣ x ) l o g   p ( y ∣ x ) ) = ∑ x p ( x ) H ( Y ∣ X = x ) \begin{aligned} H(Y|X)=&- \sum_{x,y}p(x,y)log\,p(y|x) \\ =&-\sum_{x}\sum_{y}p(x,y)log\,p(y|x)\\ =&-\sum_{x}\sum_{y}p(y|x)p(x)log\,p(y|x)\\ =&-\sum_xp(x)\sum_yp(y|x)log\,p(y|x)\\ =&\sum_xp(x)(-\sum_yp(y|x)log\,p(y|x))\\ =&\sum_xp(x)H(Y|X=x)\\ \end{aligned} H(YX)======x,yp(x,y)logp(yx)xyp(x,y)logp(yx)xyp(yx)p(x)logp(yx)xp(x)yp(yx)logp(yx)xp(x)(yp(yx)logp(yx))xp(x)H(YX=x)

(4)互信息

    一个随机变量由于已知另一个随机变量而减少的不确定性。
I ( X , Y ) = H ( X ) − H ( X ∣ Y = y ) = H ( Y ) − H ( Y ∣ X = x ) = H ( X ) + H ( Y ) − H ( X , Y ) \begin{aligned} I(X,Y)=&H(X)-H(X|Y=y)=H(Y)-H(Y|X=x)\\ =&H(X)+H(Y)-H(X,Y) \end{aligned} I(X,Y)==H(X)H(XY=y)=H(Y)H(YX=x)H(X)+H(Y)H(X,Y)

2.决策树学习算法

(1) 决策树

    决策树是一种树形模型,其中每一个内部节点表示在一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一个类别。
    决策树采用的是自顶向下的递归方法,其基本思想是以信息熵为度量构造一颗熵值下降最快的树,到叶子节点处熵值为0,此时在每个节点中的实例都属于同一个类别。
    决策树特点:可以自学习,不需要使用者了解过多背景知识,只需要对训练数据做好标记,是一个有监督学习,从一类无序无规则的事务中推断出决策树表示的规则。决策树示意图如下:
在这里插入图片描述

(2) 决策树生成算法

    建立决策数的关键是在当前状态下选择哪个属性作为分类依据。根据不同的目标函数,决策树主要有三种算法:ID3,C4.5,CART。

(3)信息增益

    概念:表示得知特征A的信息而使得类X的不确定性减少的程度。当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。
    数学定义:特征A对训练数据集D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的经验熵 H ( D ) H(D) H(D)与特征A给定条件下D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差,即:
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)= H(D) - H(D|A) g(D,A)=H(D)H(DA)
    信息增益计算方法:
    记号:训练数据集D, ∣ D ∣ |D| D表示样本个数;设有K个类 C k ( k = 1 , 2 , ⋯   , K ) C_k(k=1,2,\cdots,K) Ck(k=1,2,,K) ∣ C k ∣ |C_k| Ck属于类 C k C_k Ck的样本个数,则有 ∑ k ∣ C k ∣ = ∣ D ∣ \sum_k|C_k|=|D| kCk=D;设特征A有n个不同的取值 { a 1 , a 2 , ⋯   , a n } \{a_1,a_2,\cdots,a_n\} {a1,a2,,an},根特征A将D划分为n个子集 D 1 , D 2 , ⋯   , D n D_1,D_2,\cdots,D_n D1,D2,,Dn ∣ D i ∣ |D_i| Di D i D_i Di的样本个数,有 ∑ i ∣ D i ∣ = ∣ D ∣ \sum_i|D_i|=|D| iDi=D;记子集|D_i|中,属于类 C k C_k Ck的样本的集合为 D i k D_{ik} Dik ∣ D i k ∣ |D_{ik}| Dik D i k D_{ik} Dik的样本个数。
    计算方法:
    (i)计算数据D的经验熵 H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^{K}\frac{|C_k|}{|D|}log\frac{|C_k|}{|D|} H(D)=k=1KDCklogDCk
    (ii)遍历所有特征,对特征A有:
         计算特征A对数据集D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)
         计算A的特征增益 g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)= H(D) - H(D|A) g(D,A)=H(D)H(DA)
         选择信息增益最大的特征作为当前的分裂特征。
      经验条件熵:
H ( D ∣ A ) = − ∑ i , k p ( D k , A i ) l o g   p ( D k ∣ A i ) = − ∑ i , k p ( A i ) p ( D k ∣ A i ) l o g   p ( D k ∣ A i ) = − ∑ i = 1 n ∑ k = 1 K p ( A i ) p ( D k ∣ A i ) l o g   p ( D k ∣ A i ) = − ∑ i = 1 n p ( A i ) ∑ k = 1 K p ( D k ∣ A i ) l o g   p ( D k ∣ A i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g ∣ D i k ∣ ∣ D i ∣ \begin{aligned} H(D|A)=&-\sum_{i,k}p(D_k,A_i)log\,p(D_k|A_i)\\ =&-\sum_{i,k}p(A_i) p(D_k|A_i)log\,p(D_k|A_i)\\ =&-\sum_{i=1}^{n}\sum_{k=1}^{K}p(A_i) p(D_k|A_i)log\,p(D_k|A_i)\\ =&-\sum_{i=1}^{n}p(A_i)\sum_{k=1}^{K}p(D_k|A_i)log\,p(D_k|A_i)\\ =&-\sum_{i=1}^{n}\frac{|D_i|}{|D|}\sum_{k=1}^{K}\frac{|D_{ik}|}{|D_i|}log\frac{|D_{ik}|}{|D_i|} \end{aligned} H(DA)=====i,kp(Dk,Ai)logp(DkAi)i,kp(Ai)p(DkAi)logp(DkAi)i=1nk=1Kp(Ai)p(DkAi)logp(DkAi)i=1np(Ai)k=1Kp(DkAi)logp(DkAi)i=1nDDik=1KDiDiklogDiDik

(4)信息增益率

g r ( D , A ) = H ( D , A ) H ( A ) g_{r}(D,A)=\frac{H(D,A)}{H(A)} gr(D,A)=H(A)H(D,A)

(5)Gini系数

G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini(p)=\sum_{k=1}^{K}p_k(1-p_k)=1-\sum_{k=1}^{K}p_k^2=1-\sum_{k=1}^{K}(\frac{|C_k|}{|D|})^2 Gini(p)=k=1Kpk(1pk)=1k=1Kpk2=1k=1K(DCk)2

(6)ID3算法举例

    我们使用不真实账号检测的例子说明如何使用ID3算法构造决策树,ID3使用信息增益作为属性分类的标准。为了简单起见,我们假设训练集合包含10个元素。
在这里插入图片描述
python代码如下:

#在决策树当中,设D用为类别对训练元组进行的划分,则D的熵(entropy)表示为:
info_D = -0.7*math.log2(0.7)-0.3*math.log2(0.3)
#计算日志密度的信息增益
info_L = 0.3*(-1/3*math.log2(1/3)-2/3*math.log2(2/3))+0.4*(-1/4*math.log2(1/4)-3/4*math.log2(3/4))+0.3*(-math.log2(1))
l = info_D - info_L

#计算是否使用真实头像的信息增益
info_H = 0.5*(-2/5*math.log2(2/5)-3/5*math.log2(3/5))+0.5*(-1/5*math.log2(1/5)-4/5*math.log2(4/5))
h = info_D - info_H

#计算好友密度的信息增益
info_F = 0.4*(-3/4*math.log2(3/4)-1/4*math.log2(1/4))+0.4*(-math.log2(1))+0.2*(-math.log2(1))
f = info_D - info_F
print(l,h,f)

在这里插入图片描述
在这里插入图片描述
在上图的基础上,再递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树

(7)三种决策树学习算法

    ID3使用信息增益进行选择,取值多的属性,更容易使数据更纯,其信息增益更大,训练得到一颗庞大且深度较浅的树:不合理;
    C4.5使信息增益率;
    CART使用基尼系数,Cart可以用作分类和回归,二叉树实现,SKLearn使用此算法。

(8)回归树

回归树是可以用于回归的决策树模型,一个回归树对应着输入空间(即特征空间)的一个划分以及在划分单元上的输出值.与分类树不同的是,回归树对输入空间的划分采用一种启发式的方法,会遍历所有输入变量,找到最优的切分变量j和最优的切分点s,即选择第j个特征 x j x^j xj和它的取值ss将输入空间划分为两部分,然后重复这个操作。
而如何找到最优的j和s是通过比较不同的划分的误差来得到的。一个输入空间的划分的误差是用真实值和划分区域的预测值的最小二乘来衡量的,即
∑ x i ∈ R m ( y i − f ( x i ) ) 2 \sum_{x_{i} \in R_{m}}\left(y_{i}-f\left(x_{i}\right)\right)^{2} xiRm(yif(xi))2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.决策树的评价

    记号:
     假定样本总类别是K;
     对于决策树的某叶节点,假定该叶节点中所含的样本个数为n,其中第K类样本个数为 n k n_k nk k = 1 , 2 , ⋯   , K k=1,2,\cdots,K k=1,2,,K,若某类样本 n j = n n_j=n nj=n,而 n 1 , ⋯   , n j − 1 , n j + 1 , ⋯   , n K = 0 n_1,\cdots,n_{j-1},n_{j+1},\cdots,n_K=0 n1,,nj1,nj+1,,nK=0,则称该节点为纯节点,若各类样本数目 n 1 = n 2 = ⋯ = n K = n K n_1=n_2=\cdots=n_K=\frac{n}{K} n1=n2==nK=Kn,则称该样本为均样本;
     纯节点熵 H p = 0 H_p=0 Hp=0,最小;
     均节点熵 H u = l n K H_u=lnK Hu=lnK,最大;
     对所有叶节点熵求和,该值越小,说明对样本的分类越精确,各叶节点包含的样本数目不同,可使用样本数加权求熵和。
    评价函数:
C ( T ) = ∑ t ∈ l e a f N t ⋅ H ( t ) C(T)=\sum_{t\in leaf}N_t \cdot H(t) C(T)=tleafNtH(t)
    该损失函数越小越好,也可叫做“损失函数”。

4.决策树的过拟合

    决策树对训练集有很好的分类能力,但对未知的测试数据未必有好的分类能力,泛化能力弱,即可能发生过拟合现象。
    解决过拟合方法:随机森林。

(1)Bagging策略

    从样本集中重采样(有重复的)选出n个样本;
    在所有属性中,对这n个样本建立分类器(ID3,C4.5,CART,SVM,logistic回归);
    重复以上以上两步m次,即获取了m个分类器;
    将数据放在这m个分类器中,根据投票结果,决定数据属于哪一类。
    Bagging策略如下图示意:
在这里插入图片描述

(2)OOB数据

    可以看出,Bootstrap(有放回采样)每次约有 36.79 36.79% 36.79的样本不会出现在Bootstrap所采集的样本集合中,将未参与模型训练的数据叫做袋外数据(OOB),他可以取代测试集用于误差估计。Breiman以经验性实例的形式证明袋外数据误差估计与同训练集一样大小的测试集精度相同,得到的模型参数是无偏估计。

(3)随机森林

    从样本集中用Bootstrap采样选出了n个样本;
    从所有属性中随机选择k个属性,选择最佳分割属性作为节点建立CART决策树;
    重复以上两步m次,即建立了m棵CART决策树;
    这m个CART形成了随机森林,通过投票表决结果,决定数据属于哪一类。

4.随机森林和决策树的关系

    可以使用决策树作为基本分类器,但也可以使用SVM,Logistic回归等其他分类器,习惯上,这些分类器组成的“总分类器“,仍然叫随机森林。

5.样本不均衡的常用处理方法

    假定样本数目A类比B类多,且严重不平衡:
    A类欠采样:随机欠采样,将A类分成若干子类,分别与B类进入ML模型,基于聚类的A类分割。
    B类过采样,避免欠采样造成的信息丢失。
    B类数据合成Synthetic Data Generation:随机插值得到新样本。
    敏感学习:降低A类权值,提高B类权值。

6.随机森林的应用

(1)使用RF建立计算样本间相似度:

    原理:若两个样本同时出现在相同叶节点的次数越多,则二者越相似。
    算法过程:
       记样本个数为N,初始化 N × N N\times N N×N的零矩阵S, S [ i , j ] S[i,j] S[i,j]表示样本i和样本j的
    相似度。
       对于m棵决策树形成的随机森林,遍历所有决策树的所有叶子节点:
       记该叶子节点包含的样本为 s a m p l e [ 1 , 2 , ⋯   , k ] sample[1,2,\cdots,k] sample[1,2,,k],则 S [ i ] [ j ] S[i][j] S[i][j]累加1。样
    本 i , j ∈ s a m p l e [ 1 , 2 , ⋯   , k ] i,j\in sample[1,2,\cdots,k] i,jsample[1,2,,k],样本 i . j i.j i.j出现在相同叶节点的次数增加1次。
       遍历结束,则S为样本间相似度矩阵。

(2)使用RF计算特征重要度

    随机森林是常用的衡量特征重要性的方法。计算正例经过的节点,使用经过节点的数目,经过节点的gini系数和等指标。或者,随机替换一列数据,重新建立决策树,计算新模型的正确率变化,从而考虑这一列特征的重要性。

(3)Isolation Forest

    随机选择特征,随机选择分割点,生成一定深度的决策树iTree,若干课iTree组成iForest。计算iTree中样本x从根到叶子节点的长度f(x),计算iForest中f(x)的总和 F ( x ) F(x) F(x)。异常检测:若样本x为异常值,他应该在大多数iTree中很快达到叶子节点,即F(x)较小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

决策树和随机森林 的相关文章

  • 【机器学习算法-python实现】逻辑回归的实现(LogicalRegression)

    转载请注明出处 xff1a http blog csdn net buptgshengod 1 背景知识 在刚刚结束的天猫大数据s1比赛中 xff0c 逻辑回归是大家都普遍使用且效果不错的一种算法 xff08 1 xff09 回归 先来说说
  • 【机器学习算法-python实现】逻辑回归的实现(LogicalRegression)

    转载请注明出处 xff1a http blog csdn net buptgshengod 1 背景知识 在刚刚结束的天猫大数据s1比赛中 xff0c 逻辑回归是大家都普遍使用且效果不错的一种算法 xff08 1 xff09 回归 先来说说
  • CNN的重点整理

    1 常用的非线性激活函数 sigmoid tanh relu等等 前两者sigmoid tanh比较常见于全链接层 后者relu常见于卷积层 这里先简要介绍下最基础的sigmoid函数 btw 在本博客中SVM那篇文章开头有提过 sigmo
  • EM算法及其推广---《统计学习方法》第9章

    EM算法是一种迭代算法 用于含有隐变量的概率模型参数的极大似然估计 或极大后验概率估计 EM算法的每次迭代由两步组成 E步求期望值 M步求最大值 EM算法是一种对模型参数的估计 该模型中含有隐变量 EM算法的引入 EM算法 概率模型有时既含
  • 算法实践1_线性回归

    参数解释 sklearn linear model LinearRegression fit intercept True normalize False copy X True n jobs None 超参 解释 类型 默认值 fit i
  • 转置卷积(Transposed Convolution)

    目录 1 卷积操作及转置卷积的定义 1 1 卷积操作 1 2 转置卷积 1 3 转置卷积的步骤 2 转置卷积的理解 2 1 stride 1转置卷积的理解 2 1 1 一维形式 2 1 2 二维形式 2 1 3 公式计算 2 2 strid
  • 决策树和随机森林

    回归模型 1 信息熵 1 熵 2 联合熵 3 条件熵 4 互信息 2 决策树学习算法 1 决策树 2 决策树生成算法 3 信息增益 4 信息增益率 5 Gini系数 6 ID3算法举例 7 三种决策树学习算法 8 回归树 3 决策树的评价
  • 树形算法

    树形算法 adaboost GBDT 回归问题 XGBOOST lightgbm bagging和boosting 区别 adaboost 二分类问题 给定一个数据集T x1 y1 x2 y2 xn yn 其中y取1和 1 权值初始化 D1
  • 机器学习二-kmeans-kdtree

    机器学习纯java代码 点击打开链接 KD树介绍http www pelleg org shared hp kmeans html 我们的数据集也是从5高斯分布中随机生成的8000个点 你应该看到底层的Gaussians 蓝色边界表示 根
  • 机器学习算法(二十四):最近邻算法 KNN(k-nearest neighbor)

    目录 1 基于实例的学习 2 k 最近邻法 2 1 算法概述 2 2 kNN算法的一般流程 2 3 距离公式 2 4 k值的选择 2 5 KNN特点 2 5 1 特点 2 5 2 KNN算法的优势和劣势 3 距离加权最近邻算法 k 最近邻算
  • 逻辑回归分类器(Logistic Regression Classifier)

    Logistic regression 逻辑回归 是当前业界比较常用的机器学习方法 用于估计某种事物的可能性 也用来进行分类 在分类的情形下 经过学习之后的LR分类器其实就是一组权值w0 w1 wm 当输入测试样本集中的测试数据时 这一组权
  • 数据预测分析

    数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 目录 数据预测分析 Matlab实现TCN时间卷积网络数据预测分析 基本介绍 数据下载 程序设计 参考资料 致谢 基本介绍 此示例说明如何使用通用时间卷积网络 TCN 对序列数据
  • 【机器学习】最大熵算法 整理

    最大熵模型由最大熵原理推导实现 1 最大熵原理 最大熵原理认为 学习概率模型时 在所有可能的概率模型 分布 中 熵最大的模型是最好的模型 通常用约束条件来确定概率模型的集合 所以 最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的
  • 推荐系统详解

    1 基于内容的推荐系统 1 基于内容的推荐算法概述 基于内容的推荐算法 Content based Recommendations CB 也是一种工业界应用比较广的一种推荐算法 由于协同过滤推荐算法中仅仅基于用户对于商品的评分进行推荐 所以
  • 匹配算法之 匈牙利算法详解

    参考 算法学习笔记 5 匈牙利算法 漫谈匈牙利算法 匈牙利算法 KM算法 匈牙利算法 二分图 通俗易懂小白入门 二分图最大匹配 匈牙利算法 多目标跟踪之数据关联 匈牙利匹配算法和KM算法 小白学习笔记 一 目标跟踪 匈牙利匹配 一 匈牙利算
  • adam算法介绍和总结

    19 adam算法 Adam 是一种可以替代传统随机梯度下降 SGD 过程的一阶优化算法 它能基于训练数据迭代地更新神经网络权重 Adam 最开始是由 OpenAI 的 Diederik Kingma 和多伦多大学的 Jimmy Ba 在提
  • SVM算法笔记(2)

    线性可分支持向量机与硬间隔最大化 1 线性可分支持向量机 一般地 训练数据线性可分 存在无穷个分离超平面可将两类数据正确分开 感知机利用误分类最小的策略 求得分离超平面 解有无穷多个 线性可分支持向量机利用间隔最大化求最优分离超平面 解唯一
  • pandas数据判断是否为NaN值的方式

    实际项目中有这样的需求 将某一列的值 映射成类别型的数据 这个时候 需要我们将范围等频切分 或者等距切分 具体的做法可以先看某一些特征的具体分布情况 然后我们选择合适的阈值进行分割 def age map x if x lt 26 retu
  • KNN算法优缺点、原理及参数最优解

    文章目录 1 KNN算法简介 1 1 简述 1 2 优缺点 1 3 适用数据范围 2 工作原理 2 1 训练样本集 2 2 电影类别的KNN分析 如何进行电影分类 在这里插入图片描述 2 3 欧几里得距离 Euclidean Distanc
  • 动态模型系列笔记(一)——隐马尔可夫模型(HMM)

    隐马尔可夫模型 背景介绍 提纲 隐马尔可夫模型 HMM 符号表示 两个假设 三个问题 Evaluation Learning Decoding 小结 附录 背景介绍 隐马尔可夫模型 HMM 是一种概率图模型 我们知道 机器学习模型可以从频率

随机推荐

  • Python 数据处理之柱状图--Echarts

    一 读取数据并写入excel coding utf 8 import xlsxwriter def add series i j len data 0 1 chart col add series 这里的sheet1是默认的值 因为我们在新
  • 关于谷歌chrome浏览器以及360极速浏览器摄像头无法使用(摄像头权限)问题。

    问题描述 关于谷歌chrome浏览器以及360极速浏览器摄像头无法使用 摄像头权限 问题 在疫情期间 很多企业无法开展线下笔试 大多采用线上笔试的方法 当下两个主流的笔试网站 牛客网以及赛码网 企业会在这两个网站发布考试链接 通常牛客网可以
  • MySQL优化派生表_sql优化-派生表与inner-join

    首先来说明一下派生表 外部的表查询的结果集是从子查询中生成的 如下形式 select from select dt 如上形式中括号中的查询的结果作为外面select语句的查询源 派生表必须指定别名 因此后面的dt必须指定 派生表和临时表差不
  • PAP认证和CHAP认证概述

    http network 51cto com art 201109 291563 htm PAP认证过程非常简单 是二次握手机制 而CHAP认证过程比较复杂 是三次握手机制 下面就让我们来看一下两种具体的认证过程 AD 一 PAP认证协议
  • opencv-python下载地址

    https pypi org project opencv python history
  • Python3.x安装Pandas教程

    python3 x 安装pandas总是会出现一些乱七八糟的问题 那现在就给你们讲述一种超级简单的安装方法 非常简单 1 检查自己的python版本 我的是python3 4 32位的 2 https www lfd uci edu goh
  • Jupyter Notebook修改工作区默认路径

    Jupyter notebook启动后 默认的工作空间是当前用户目录 C Users 用户名 为了方便对文档进行管理 往往需要自行设置工作空间 下面是默认工作空间的设置方法 一 修改属性中目标位置 右击 jupyter notebook 快
  • Java JDBC(JdbcTemplate)对表的增删改查

    Java JDBC JdbcTemplate 对表的增删改查 先看 JDBCUtils 再看 JdbcTemplate简单使用 然后增删改查 package domain import JdU JDBCUtils import org ju
  • Unity3d 周分享(22期 2019.8.30 )

    选自过去1 2周 自己所看到外文内容 https twitter com unity3d 和各种其他博客来源吧 早就有了 抱歉才发 1 Unity Transform 性能优化摘要 https qiita com sator imaging
  • linux下搭建RabbitMQ操作

    引言 你是否遇到过两个 多个 系统间需要通过定时任务来同步某些数据 你是否在为异构系统的不同进程间相互调用 通讯的问题而苦恼 挣扎 如果是 那么恭喜你 消息服务让你可以很轻松地解决这些问题 消息服务擅长于解决多系统 异构系统间的数据交换 消
  • php isset 和 array_key_exists 检查数组中是否存在某值的区别

    原文地址 http ivhong com p 110 ivhong com 是我的博客主址 先看看下面这段代码 你觉得结果是什么呢 定义一个数组 gt 5 4 arr a gt null var dump isset arr array k
  • tilemap45度地图的斜向限定判断办法

    前段时间使用cocos2d x做一个小游戏用到了tilmap 而且是45度的tilemap 在正常的坐标系里面一般都是直角坐标系 但是这个东西可以是斜的 要想使用45度的tilemap地图就要进行坐标系的转换 有空再写怎么转换 然后看一些用
  • springboot面试题

    springboot常见面试题 https blog csdn net weixin 44772609 article details 115106450 常见面试题 谈谈你对Spring Boot的理解 SpringBoot主要用来简化使
  • HttpRunner 2.x接口自动化实战

    1 环境准备 测试环境 python3 8 httprunner版本为2 5 7 pip install httprunner 2 5 7 检查安装结果 httprunner V 创建项目 使用 httprunner命令创建一个项目 htt
  • pycharm引入anaconda创建的虚拟环境及对应的python解释器

    对于旧版的pycharm导入anaconda创建的虚拟环境及对应的python解释器 已经有很多解答 但是较新版本的pycharm引入anaconda的虚拟环境似乎有些不同 引入方式 第一步 进入settings 第二步 选择project
  • 企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图

    功能模块 待办消息 招标公告 中标公告 信息发布 描述 全过程数字化采购管理 打造从供应商管理到采购招投标 采购合同 采购执行的全过程数字化管理 通供应商门户具备内外协同的能力 为外部供应商集中推送展示与其相关的所有采购业务信息 历史合作
  • 20.Python中Main 函数

    Python编程的术与道 Python语言进阶 视频课程 Python编程的术与道 Python语言进阶 视频课程链接 https edu csdn net course detail 28618 main函数 main函数就像程序的入口点
  • 腾讯云服务器安装宝塔面板教程(一键安装图文教程)建站准备

    腾讯云如何安装宝塔面板 腾讯云服务器安装宝塔面板图文教程 塔面板是一款服务器管理软件 用户可以通过Web端轻松管理服务器 提升运维效率 例如 创建管理网站 FTP 数据库 拥有可视化文件管理器 可视化软件管理器 可视化CPU 内存 流量监控
  • Vue3学习使用创建自定义指令

    简言 除了 Vue 内置的一系列指令 比如 v model 或 v show 之外 Vue 还允许你注册自定义的指令 Custom Directives 官网自定义指令 我们已经介绍了两种在 Vue 中重用代码的方式 组件和组合式函数 组件
  • 决策树和随机森林

    回归模型 1 信息熵 1 熵 2 联合熵 3 条件熵 4 互信息 2 决策树学习算法 1 决策树 2 决策树生成算法 3 信息增益 4 信息增益率 5 Gini系数 6 ID3算法举例 7 三种决策树学习算法 8 回归树 3 决策树的评价