决策树及决策树的划分依据(ID3、C4.5、CART)

news2024/9/22 8:29:26

一、决策树是什么?

  • 决策树是一种基于树状结构的机器学习算法,用于解决分类和回归问题。它是一种自上而下的递归分割方法,通过对特征空间的递归划分来构建一个树形模型,用于进行预测和决策。
  • 在决策树中,每个内部节点表示对某个特征的测试,每个分支代表该特征的一个取值,而每个叶节点表示一个类别标签或一个回归值。决策树的构建过程是通过对特征空间进行递归划分,使得每个叶节点包含尽可能纯的样本(分类问题)或使得每个叶节点的回归值尽可能接近目标值(回归问题)。
  • 决策树的构建过程可以根据不同的算法和指标进行选择划分特征的策略,常用的包括ID3、C4.5、CART等算法。这些算法根据特征的信息增益、信息增益比、基尼指数等指标来选择最优的划分特征。

比如,给别人借钱判断他是否有偿还能力

在这里插入图片描述

二、决策树划分依据

1.熵

物理学上,熵Entropy是“混乱”程度的量度

在这里插入图片描述

系统越有序,熵值越低;系统越混乱,熵值越高

1948年香农提出了信息熵的概念。

  • 信息理论:

    1. 从信息的完整性上进行的描述

      当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散的地方熵值越大。

    2. 从信息的有序性上进行的描述

      当数据量一致时,系统越有序,熵值越低;系统越混乱,熵值越大。

信息熵时度量样本集合纯度最常用的一种指标。

  • 信息熵公式:
    H ( X ) = − Σ P ( x ) ∗ l o g 2 ( P ( x ) ) H(X) = - Σ P(x) * log2(P(x)) H(X)=ΣP(x)log2(P(x))
    其中,H(X)表示随机变量X的信息熵,P(x)表示随机变量X取值为x的概率。Σ表示对所有可能取值x求和。log2表示以2为底的对数运算。
2.决策树划分依据-------信息增益(ID3)

信息增益:以某特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不稳定性就越大。因此可以使用划分数据集前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏

具体计算信息熵的步骤如下:

  1. 计算划分前目标变量(分类标签)的信息熵,即初始的不确定性。
  2. 对于每个特征,计算它在划分后对目标变量的条件熵。条件熵是在已知某个特征取值的情况下,目标变量的平均不确定性。
  3. 用划分后的条件熵值对划分前的信息熵进行减法运算,得到信息增益。信息增益越大,表示使用该特征进行划分能够更好地减少不确定性,即特征对分类任务的贡献更大。

具体的信息增益计算公式如下:

  • 信息增益 = 初始信息熵 - 条件熵

条件熵计算公式:
H ( Y ∣ X ) = Σ P ( x ) ∗ H ( Y ∣ x ) H(Y|X) = Σ P(x) * H(Y|x) H(YX)=ΣP(x)H(Yx)
其中,H(Y|X)表示在给定特征X的条件下,目标变量Y的条件熵;P(x)表示特征X取值为x的概率;H(Y|x)表示在特征X取值为x的条件下,目标变量Y的熵。

在决策树的构建过程中,选择信息增益最大的特征作为当前节点的划分特征,以最大程度地减少不确定性。然而,信息增益偏向于选择具有较多取值的特征,因此,在实际应用中,可以使用信息增益比等指标来对信息增益进行修正,以避免对具有较多取值的特征的过度偏好。

  • 案例:

    如下图,第一列为论坛号码,第二列为性别,第三列为活跃度,最后一列用户是否流失

    要解决的问题:性别和活跃度两个特征,哪个对用户流失影响更大?

    在这里插入图片描述

    通过计算信息增益可以解决这个问题,统计上右表信息。

    其中positive为正样本(已流失),negative为负样本(未流失),下面计算三个熵

    • 初始信息熵:

      • 整体类别信息熵
        H ( Y ) = − Σ P ( y ) ∗ l o g 2 ( P ( y ) ) = − (( 5 / 15 ) ∗ l o g 2 ( 5 / 15 ) + ( 10 / 15 ) ∗ l o g 2 ( 10 / 15 ) ) = 0.9182 H(Y) = - Σ P(y) * log2(P(y)) = -((5/15)*log2(5/15)+(10/15)*log2(10/15)) = 0.9182 H(Y)=ΣP(y)log2(P(y))=((5/15log2(5/15)+(10/15)log2(10/15))=0.9182

      • 性别属性信息熵
        H ( Y ∣ x 11 ) = − (( 3 / 8 ) ∗ l o g 2 ( 3 / 8 ) + ( 5 / 8 ) ∗ l o g 2 ( 5 / 8 ) ) = 0.9543 H(Y|x11) = -((3/8)*log2(3/8)+(5/8)*log2(5/8)) = 0.9543 H(Yx11)=((3/8log2(3/8)+(5/8)log2(5/8)=0.9543

        H ( Y ∣ x 12 ) = − (( 2 / 7 ) ∗ l o g 2 ( 2 / 7 ) + ( 5 / 7 ) ∗ l o g 2 ( 5 / 7 ) ) = 0.8631 H(Y|x12) = -((2/7)*log2(2/7)+(5/7)*log2(5/7)) = 0.8631 H(Yx12)=((2/7log2(2/7)+(5/7)log2(5/7)=0.8631

        H(Y|x11)表示男性信息熵,H(Y|x12)表示女性信息熵

      • 活跃度属性信息熵
        H ( Y ∣ x 21 ) = − ( 0 + ( 6 / 6 ) ∗ l o g 2 ( 6 / 6 ) ) = 0 H(Y|x21) = -(0 + (6/6)*log2(6/6)) = 0 H(Yx21)=0+(6/6)log2(6/6)=0

        H ( Y ∣ x 22 ) = − (( 1 / 5 ) ∗ l o g 2 ( 1 / 5 ) + ( 4 / 5 ) ∗ l o g 2 ( 4 / 5 ) ) = 0.7219 H(Y|x22) = -( (1/5)* log2(1/5)+ (4/5)*log2(4/5)) = 0.7219 H(Yx22)=((1/5log21/5+(4/5)log2(4/5)=0.7219

        H ( Y ∣ x 23 ) = − ( ( 4 / 4 ) ∗ l o g 2 ( 4 / 4 ) + 0 ) = 0 H(Y|x23) = -((4/4)*log2(4/4) + 0) = 0 H(Yx23)=((4/4)log2(4/4)+0=0

        H(Y|x21)表示活跃度高的信息熵,H(Y|x22)表示活跃度中的信息熵,H(Y|x23)表示活跃度低的信息熵

    • 条件信息熵:

      • 性别属性的条件信息熵
        H ( Y ∣ X 1 ) = Σ P ( x 1 ) ∗ H ( Y ∣ x 1 ) = (( 8 / 15 ) ∗ 0.9543 + ( 7 / 15 ) ∗ 0.8631 ) = 0.9112 H(Y|X1) = Σ P(x1) * H(Y|x1) = ((8/15)* 0.9543 + (7/15)* 0.8631) = 0.9112 H(YX1)=ΣP(x1)H(Yx1)=((8/150.9543+7/150.8631=0.9112
        H(Y|X1)表示性别属性的条件信息熵

      • 活跃度属性的条件信息熵
        H ( Y ∣ X 2 ) = Σ P ( x 2 ) ∗ H ( Y ∣ x 2 ) = (( 6 / 15 ) ∗ 0 + ( 5 / 15 ) ∗ 0.7219 + ( 4 / 15 ) ∗ 0 ) = 0.2406 H(Y|X2) = Σ P(x2) * H(Y|x2) = ((6/15)* 0 + (5/15)* 0.7219 + (4/15)*0) = 0.2406 H(YX2)=ΣP(x2)H(Yx2)=((6/150+5/150.7219+4/150=0.2406

    • 信息增益:

      • 性别属性的信息增益
        信息增益 = 初始信息熵 ( 类别信息熵 ) − 条件熵 = 0.9182 − 0.9112 = 0.007 信息增益 = 初始信息熵(类别信息熵) - 条件熵 =0.9182-0.9112=0.007 信息增益=初始信息熵(类别信息熵)条件熵=0.91820.9112=0.007

      • 活跃度属性的信息增益
        信息增益 = 初始信息熵 ( 类别信息熵 ) − 条件熵 = 0.9182 − 0.2406 = 0.6776 信息增益 = 初始信息熵(类别信息熵) - 条件熵 =0.9182-0.2406=0.6776 信息增益=初始信息熵(类别信息熵)条件熵=0.91820.2406=0.6776

    根据以上信息增益可以看出,活跃度对用户流失的影响比较大。在做特征选择或者数据分析的时候,应该重点考察活跃度这个指标

3.决策树划分依据-------信息增益率(C4.5算法)

在上面的介绍中,我们有意忽略了“编号”这一列,若把“编号”也作为一个候选划分属性,则根据信息增益公式可计算出它的信息增益率为0.9182,远大于其他候选划分属性。

实际上,信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,著名的C4.5决策树算法不直接使用信息增益,而是使用“增益率”来选择最优划分属性

增益率:增益率是用前面的信息增益Gain(Y,x)和属性x对应的“固有值”的比值来共同定义的。
G a i n r a t i o ( Y , x ) = G a i n ( Y , x ) / I V ( x ) Gain_ratio(Y,x)=Gain(Y,x)/IV(x) Gainratio(Y,x)=Gain(Y,x)/IV(x)
其中,IV是指属性分裂信息度量
I V ( x ) = − Σ P ( x ) ∗ l o g 2 ( P ( x ) ) IV(x)=- ΣP(x) * log2(P(x)) IV(x)=ΣP(x)log2(P(x))

  • 案例:

    以上面案例为例,计算性别和活跃度两个属性的信息增益率

    • 计算属性分裂信息度量

      • 性别属性分裂信息度量
        I V ( x 1 ) = − Σ P ( x 1 ) ∗ l o g 2 ( P ( x 1 ) ) = − ( ( 8 / 15 ) ∗ l o g 2 ( 8 / 15 ) + ( 7 / 15 ) ∗ l o g 2 ( 7 / 15 ) ) = 0.9968 IV(x1)=- ΣP(x1) * log2(P(x1)) = -((8/15)*log2(8/15)+(7/15)*log2(7/15)) =0.9968 IV(x1)=ΣP(x1)log2(P(x1))=((8/15)log2(8/15)+(7/15)log2(7/15)=0.9968

      • 活跃度属性分裂信息度量
        I V ( x 2 ) = − Σ P ( x 2 ) ∗ l o g 2 ( P ( x 2 ) ) = − ( ( 6 / 15 ) ∗ l o g 2 ( 6 / 15 ) + ( 5 / 15 ) ∗ l o g 2 ( 5 / 15 ) + ( 4 / 15 ) ∗ l o g 2 ( 4 / 15 ) ) = 1.5656 IV(x2)=- ΣP(x2) * log2(P(x2)) = -((6/15)*log2(6/15)+(5/15)*log2(5/15)+(4/15)*log2(4/15)) =1.5656 IV(x2)=ΣP(x2)log2(P(x2))=((6/15)log2(6/15)+(5/15)log2(5/15)+(4/15)log2(4/15))=1.5656

    • 计算信息增益率

      • 性别属性信息增益率
        G a i n r a t i o ( Y , x 1 ) = G a i n ( Y , x 1 ) / I V ( x 1 ) = 0.007 / 0.9968 = 0.00702 Gain_ratio(Y,x1)=Gain(Y,x1)/IV(x1) =0.007/0.9968 =0.00702 Gainratio(Y,x1)=Gain(Y,x1)/IV(x1)=0.007/0.9968=0.00702

      • 活跃度属性信息增益率
        G a i n r a t i o ( Y , x 2 ) = G a i n ( Y , x 2 ) / I V ( x 2 ) = 0.6776 / 1.5656 = 0.4328 Gain_ratio(Y,x2)=Gain(Y,x2)/IV(x2) =0.6776/1.5656 =0.4328 Gainratio(Y,x2)=Gain(Y,x2)/IV(x2)=0.6776/1.5656=0.4328

    活跃度的信息增益率更高一些,所以在构建决策树时,优先选择。

    通过这种方式,在选取节点的过程中,我们可以降低取值较多的属性的选取偏好。

  • C4.5算法流程

    while(当前节点“不纯”):
    	1.计算当前节点的类别熵(计算类别的信息熵)
    	2.计算当前阶段的属性熵(计算属性信息熵和属性条件信息熵)
    	3.计算各属性的信息增益(类别的信息熵-属性的条件信息熵)
    	4.计算各个属性的分裂信息度量
    	5.计算各个属性的信息增益率
    end while
    当前阶段设置为叶子节点
    
  • 为什么是用C4.5要好?

    1. 用信息增益率来选择属性

      克服了用信息增益来选择属性时偏向选择值多的属性的不足

    2. 采用了一种后剪枝方法

      避免树的高度无节制的增长,避免过度拟合数据

    3. 对于缺失值的处理

      对于处理缺少属性值,C4.5的策略是给它的每个可能值赋予一个概率。通过概率来给缺失的属性值赋值

4.决策树划分依据-------基尼值和基尼指数(CART)
  • 基尼值: 衡量的是从一个随机样本中随机选取两个样本,其类别标签不一致的概率。基尼值越小,表示节点的纯度越高,样本的类别越趋于一致。

    对于一个分类问题,假设有K个类别,每个类别的概率为 p1, p2, …, pK。则基尼值的计算公式如下:
    G i n i = 1 − Σ p i 2 Gini = 1 - Σ pi^2 Gini=1Σpi2
    其中,pi表示第i个类别的概率。

  • 基尼指数:是基于基尼值而定义的一个指标,用于度量节点的不纯度。对于一个节点,假设该节点有M个类别,每个类别的样本数分别为 n1, n2, …, nM。基尼指数的计算公式如下:
    G i n i I n d e x = Σ ( n / N ) ∗ G i n i i GiniIndex = Σ (n/N) * Gini_i GiniIndex=Σ(n/N)Ginii
    其中,n表示每个类别的样本数量,N表示总样本数量,Gini_i表示每个子节点的基尼值。

  • 案例:

    根据下图列表,按照基尼指数的划分依据,做出决策树

    在这里插入图片描述

    1. 对数据集非序列标号属性(是否有房,婚姻状况,年收入)分别计算它们的Gini指数,取Gini指数最小的属性作为决策树的根节点属性

      第一次大循环
      
    2. 根节点的Gini值为:
      G i n i ( 是否拖欠贷款 ) = 1 − ( ( 3 / 10 ) 2 + ( 7 / 10 ) 2 ) = 0.42 Gini(是否拖欠贷款) = 1 - ((3/10)²+(7/10)²)=0.42 Gini(是否拖欠贷款)=1((3/10)2+(7/10)2)=0.42

    3. 当根据是否有房来进行划分时,Gini指数为:

      在这里插入图片描述

      G i n i ( 左子节点 ) = 1 − [ ( 0 / 3 ) 2 + ( 3 / 3 ) 2 ] = 0 Gini(左子节点) = 1 - [(0/3)²+(3/3)²]=0 Gini(左子节点)=1[(0/3)2+(3/3)2]=0

      G i n i ( 右子节点 ) = 1 − [ ( 3 / 7 ) 2 + ( 4 / 7 ) 2 ] = 0.4898 Gini(右子节点) = 1 - [(3/7)²+(4/7)²]=0.4898 Gini(右子节点)=1[(3/7)2+(4/7)2]=0.4898

      G i n i I n d e x ( 是否有房 ) = ( 3 / 10 ) ∗ 0 + ( 7 / 10 ) ∗ 0.4898 = 0.343 GiniIndex(是否有房) = (3/10)*0 + (7/10)* 0.4898=0.343 GiniIndex(是否有房)=3/100+7/100.4898=0.343

    4. 若按照婚姻状况属性来划分,属性婚姻状况有三个可能的取值{married,single,divorced},则有三种分类情况:

      • 分类1为,married/{single,divorced}:
        G i n i I n d e x ( 婚姻状况 ) = ( 4 / 10 ) ∗ 0 + ( 6 / 10 ) ∗ [ 1 − ( 3 / 6 ) 2 − ( 3 / 6 ) 2 ] = 0.3 GiniIndex(婚姻状况) = (4/10)* 0 + (6/10)* [1-(3/6)²-(3/6)²]=0.3 GiniIndex(婚姻状况)=4/100+6/10[1(3/6)2(3/6)2]=0.3

      • 分类2为,single/{married,divorced}:
        G i n i I n d e x ( 婚姻状况 ) = ( 4 / 10 ) ∗ 0.5 + ( 6 / 10 ) ∗ [ 1 − ( 1 / 6 ) 2 − ( 5 / 6 ) 2 ] = 0.367 GiniIndex(婚姻状况) = (4/10)* 0.5 + (6/10)* [1-(1/6)²-(5/6)²]=0.367 GiniIndex(婚姻状况)=4/100.5+6/10[1(1/6)2(5/6)2]=0.367

      • 分类3为,divorced/{married,single}:
        G i n i I n d e x ( 婚姻状况 ) = ( 2 / 10 ) ∗ 0 + ( 8 / 10 ) ∗ [ 1 − ( 2 / 8 ) 2 − ( 6 / 8 ) 2 ] = 0.4 GiniIndex(婚姻状况) = (2/10)* 0 + (8/10)* [1-(2/8)²-(6/8)²]=0.4 GiniIndex(婚姻状况)=2/100+8/10[1(2/8)2(6/8)2]=0.4

      对比计算结果,根据婚姻状况属性来划分根节点时取Gini指数最小的分组作为划分结果,即分类1:married/{single,divorced}

    5. 同理,按年收入属性来划分:

      对于年收入属性为数值型属性,首先需要将数据按升序排序,然后从小到大依次用相邻值的中间值作为分割将样本划分为两组。比如当面对年收入为60和70这两个值时,我们算得其中间值为65。以中间值65作为分割点求出Gini指数。

      在这里插入图片描述

      由上图可以看出,年薪按97.5划分时Gini指数最小。

    根据以上计算可知,三个属性划分根节点的Gini指数最小的有两个:年收入和婚姻状况属性,它们Gini指数都是0.3。此时,选取首先出现的属性married作为第一次划分。

    第二次大循环
    
    1. 接下来,采用同样的方法,分别计算剩下属性,其中根节点的Gini值为:
      G i n i ( 是否拖欠贷款 ) = 1 − ( 3 / 6 ) 2 − ( 3 / 6 ) 2 = 0.5 Gini(是否拖欠贷款) = 1-(3/6)²-(3/6)²=0.5 Gini(是否拖欠贷款)=1(3/6)2(3/6)2=0.5

    2. 对于是否有房属性,可得:
      G i n i I n d e x ( 是否有房 ) = ( 2 / 6 ) ∗ 0 + ( 4 / 6 ) ∗ [ 1 − ( 3 / 4 ) 2 − ( 1 / 4 ) 2 ] = 0.25 GiniIndex(是否有房) = (2/6)* 0 + (4/6)* [1-(3/4)²-(1/4)²]=0.25 GiniIndex(是否有房)=2/60+4/6[1(3/4)2(1/4)2]=0.25

    3. 对于年收入属性:

      在这里插入图片描述

      由上图可以看出,年薪按92.5划分时Gini指数最小。

    所以这轮选取是否有房作为第二次划分。

    第三次大循环
    

    选取年收入作为第三次划分,最终的决策树如下所示:

    在这里插入图片描述

  • CART的算法流程

    while(当前节点“不纯”):
    	1.遍历每个变量的每一种分割方式,找到最好的分割点
    	2.分割成两个节点N1和N2
    end while
    每个节点足够“纯”为止
    

三、决策树划分依据小结

1.常见决策树的启发函数比较
名称提出时间分支方式备注
ID31975信息增益ID3只能对离散属性的数据集构成决策树
C4.51993信息增益率优化后解决了ID3分支过程中总喜欢偏向选择值较多的属性
CART1984Gini指数可以进行分类和回归,可以处理离散属性,也可以处理连续属性
2.ID3算法

存在的缺点:

  1. ID3算法在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准。信息增益的缺点时倾向于选择取值较多的属性,在有些情况下这类属性可能不会提供太多有价值的信息。
  2. ID3算法只能对描述属性为离散型属性的数据集构造决策树
3.C4.5算法

较于ID3做出的改进:

  1. 用信息增益率来选择属性
  2. 可以处理连续数值型属性
  3. 采用了一种后剪枝方法
  4. 对于缺失值的处理

C4.5的优缺点:

  • 优点:

    产生的分类规则易于理解,准确率较高

  • 缺点:

    1. 在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

    2. C4.5只适合于能够驻留于内存的数据集,当训练集大的无法在内存容纳时程序无法运行。

4.CART算法

CART算法相比C4.5算法的分类方法,采用了简化的二叉树模型,同时特征选择采用了近似的基尼指数来简化计算。

C4.5不一定时二叉树,但CART一定是二叉树

5.多变量决策树(multi-variate decision tree)

无论是ID3、C4.5、CART,在做特征选择的时候都是选择最优的一个特征来做分类决策,但是大多数,分类决策不应该是由某一个特征决定的,而是应该由一组特征决定的。这时候就需要多变量决策树来解决问题,这个算法的代表是OC1

6.如何评估分割点的好坏?

如果一个分割点可以将当前的所有节点分为两类,使得每一类都很“纯”,也就是同一类的记录较多,那么就是一个好分割点(简单来说,就是分割点的左右子树最好是叶子节点)

构建决策树采用贪心算法,只考虑当前纯度差最大的情况作为分割点

CART算法相比C4.5算法的分类方法,采用了简化的二叉树模型,同时特征选择采用了近似的基尼指数来简化计算。

C4.5不一定时二叉树,但CART一定是二叉树

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis概述

前言 为什么要使用Redis? ​ 如果熟悉JVM底层的话,就能了解Java程序的运行大多数都是基于对内存的操作,读取、并更、清理,并同时保证数据的可靠性。即使是数据库,例如MySQL几乎都是基于对缓冲区的操作,只是通过后台…

(常见)数据模型

文章目录 数据模型概述一、数据模型概要1.模型、建模与抽象2.数据模型3.两类数据模型 二、数据库模型的组成要素1.数据结构2.数据操作3.数据的完整性约束 三、概念模型1.概要2.基本概念3.概念模型的表示方法 常用数据模型一、层次模型1.简介2.数据结构3.数据操纵与完整性约束4.…

二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出:1 示例 2: 输入&am…

List、Set、Map的区别?

List 是一个有序集合,里面可以存储重复的元素Set 是一个不能存储相同元素的集合Map 是一个通过键值对的方式存储元素的,键不能重复 Java 容器分为Collection 和Map 两大类,Collection 集合的子接口有Set、List、Queue 三种子接口。其中&#…

CSDN MD编辑器跳转方法及字体格式

一、点击关键语句跳转指定位置 在CSDN写文章的时候,写的文章过长往往会让读者很难找到自己想看的部分,这时候有个 跳转到指定位置功能 就非常的便利。CSDN在MD编辑器上(富文本编辑器只有一种)就提供了两种跳转到指定位置的方法: 一、目录跳转…

HackTheBox-关卡Fawn

1. 连接靶场,打开FAWN实例场景,检查是否互通 TASK1 3 个字母的首字母缩写词 FTP 代表什么? 答案是:File Transfer Protocol TASK2 问题是:FTP服务通常监听哪个端口? FTP监听的TCP端口号为21,监听的数据端…

【自动化测试】selenium工具

文章目录 为什么要做自动化测试?为什么选用Selenium?Selenium的工作原理SeleniumJava环境搭建Selenium常用API浏览器参数配置定位元素操作测试对象时间等待信息打印对浏览器操作键盘与鼠标操作屏幕截图弹窗处理选择框的处理上传文件 JUnit单元测试注解参…

睡岗识别 TensorFlow

睡岗识别可以通过TensorFlowAI深度学习框架智能分析技术,睡岗识别识别出现场人员是否存在睡岗情况,及时发出预警,避免因操作人员的疏忽而导致的安全事故。TensorFlow 是一个开源的机器学习的框架,我们可以使用 TensorFlow 来快速地…

3年自动化测试这水平?我还不如去招应届生...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。看简历很多都是3年工作经验,但面试…

【Python Seaborn】零基础也能轻松掌握的学习路线与参考资料

Python Seaborn是一个基于Python的可视化库,为Matplotlib库的扩展,提供了更加高级的数据可视化功能和丰富的统计图形。在学习Python数据科学和机器学习中,Seaborn有很好的数据可视化工具,也能够提供有帮助的统计图表来揭示数据之间…

实时频谱-2.5DPX

数字荧光显示 “数字荧光”一词源自包在阴极射线管(CRT)上的荧光,电视机、计算机监视器和其它测试设备显示器都使用阴极射线管。在电子束激活荧光时,它会发出荧光,照亮电子流画出的路径。 尽管液晶显示器(LCD)之类的光栅扫描技术由于厚度和…

29 KVM管理系统资源-调整虚拟CPU绑定关系

文章目录 29 KVM管理系统资源-调整虚拟CPU绑定关系29.1 概述29.2 操作步骤 29 KVM管理系统资源-调整虚拟CPU绑定关系 29.1 概述 把虚拟机的vCPU绑定在物理CPU上,即vCPU只在绑定的物理CPU上调度,在特定场景下达到提升虚拟机性能的目的。比如在NUMA系统中…

基于孪生网络的目标跟踪

一、目标跟踪 目标跟踪是计算机视觉领域研究的一个热点问题,其利用视频或图像序列的上下文信息,对目标的外观和运动信息进行建模,从而对目标运动状态进行预测并标定目标的位置。具体而言,视觉目标(单目标)…

JMeter+Grafana+Influxdb搭建可视化性能测试监控平台原创

【背景说明】 使用jmeter进行性能测试时,工具自带的查看结果方式往往不够直观和明了,所以我们需要搭建一个可视化监控平台来完成结果监控,这里我们采用三种JMeterGrafanaInfluxdb的方法来完成平台搭建 如果你想视频学习Jmeter接口测试&…

长江商学院EMBA38期甄知科技:ChatGPT应用与实践初探

近期,长江商学院EMBA38期&甄知科技开展了题为“ChatGPT应用与实践初探”的线下沙龙活动,由上海甄知科技创始合伙人兼CTO张礼军主讲,主要给大家解密最近很火的ChatGPT是什么,分享如何玩转ChatGPT,初步探索ChatGPT对…

快来试试这几个简单好用的手机技巧吧

技巧一:相机功能 苹果手机的相机功能确实非常出色,除了出色的像素之外,还有许多其他实用功能可以提升拍摄体验。 这些相机功能提供了更多的选择和便利性,使用户能够更好地适应不同的拍摄需求。 自拍功能:通过选择自…

SCI图片制作排版全流程及论文配图规范

目录 引言 一、图片尺寸与格式要求 二、图片处理和组图排版的流程 1. 确定排版 2. 用PS处理位图 3. 生成矢量统计图 4. 用AI制作模式图并处理 5. 用AI制作排版组图 6. 导出为.tiff或.eps 三、图片素材与示意图的绘制方法 1. 绘制图片素材 2. 绘制示意图 结论 引言…

硬件系统工程师宝典(25)-----四种BJT应用电路分析

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们说到晶体三极管(BJT)可以看成是一个通过“监视”基极-发射极电流来控制集电极-发射极电流的元器件,并给出…

使用决策树模型Titanic数据集预测

数据准备 可以通过以下链接获取数据集: 百度网盘 请输入提取码 共包含三个csv文件: 《train.csv》训练数据集,包含特征信息和标签(是否幸存) 《test.csv》 测试数据集, 只包含特征信息 《gender_submission.csv》测试数据集…

远程FTP连接等

R1: <R1>ftp 192.168.2.100 用户名&#xff1a;1 密码&#xff1a;1 [R1-ftp]dir //查看当前FTP服务器中的文件列表 ..................... shengji.txt //复制想要下载的文件名 [R1-ftp]get 文件名 //下载相应的文件 [R1-ftp]q //返回R1设备 <R1>di…