特征评估

1. Correlation

  • 算法说明

    该模块通过计算特征两两之间的pearson或者spearman相关系数,获得特征之间的相关性。该模块的相关性计算模式主要分为两种

    • 第一种:相关性未知的特征(下文简称新特征)进行两两之间的相关性计算,结果为一个对角矩阵,每个对角矩阵的元素为两两特征之间的相关性系数,该值越大,说明这两个特征相关性越强;

    • 第二种:新特征相关性已知的特征(下文简称旧特征)分别进行相关性计算。注意:当某列特征的方差为0时,与该特征计算的相关性值为NaN。

  • 输入

    • 数据形式:Dense

    • 格式:| 参与计算的features | 不参与计算的features |

    • 参与计算的features:可通过算法参数新特征所在列以及旧特征所在列进行指定

    • 不参与计算的features:可包括不参与计算的特征

  • 输出

    • 情况一:没有指定新特征列,模块不进行任何计算,也不输出任何结果

    • 情况二:只指定了新特征列,没有指定旧特征列,则仅计算新特征两两之间的相关性

      • 格式:

              | X |label|
        
              |label|correlation|
        • X:无实际意义,用来形成有效的矩阵形式

        • label:新特征的Id

        • correlation:新特征两两之间的相关性系数

        • 举例:

          X 1 2 3 1 1.0 0.15 0.25 2 0.15 1.0 0.38 3 0.25 0.38 1.0

  • 情况三:既指定了新特征列,又指定了旧特征列,模块不光会计算新特征两两之间的相关性,同时还会将新特征分别与旧特征列计算相关性,输出为两种相关性矩阵的合并

    • 格式:

           | X |newLabel|oldLabel|
      
           |newLabel|newCorrelation|oldCorrelation|
      • X:无实际意义,用来形成有效的矩阵形式

      • newLabel:新特征的Id

      • oldLabel:旧特征的Id

      • newCorrelation:新特征两两之间的相关性系数

      • oldCorrelation:新特征分别与旧特征列计算相关性系数

      • 举例:

        X 0 1 2 3 0 1.0 0.36 -0.62 -0.72 1 0.36 1.0 -0.07 -0.43

  • 参数

    • 新特征所在列:指新特征所在的列号,从0开始计数。例如可用“1-12,15”表示,其说明取特征在表中的1到12列,15列,

    • 旧特征所在列:指旧特征所在的列号,从0开始计数。该特征可以与新特征进行相关性计算,格式同新特征所在列

    • 相关性计算方式:分为pearson和spearman两种,不填表示采用pearson方式

    • 并行数:训练数据的分区数、spark的并行数

    • 抽样率:输入数据的采样率

4.2 MultualInformation

  • 算法说明

    该模块采用互信息公式计算特征之间的相关性,当值越大说明特征相关性越强。其中互信息的原理与计算公式可参考,同PearsonOrSpearman模块,MultualInformation模块的相关性计算主要分为两种:一是对新的特征进行两两之间的相关性计算,结果为一个对角矩阵,每个对角矩阵的元素为两两特征之间的相关性系数,该值越大,说明这两个特征相关性越强;二是将新特征与旧特征分别进行相关性计算。

  • 输入

    • 数据形式:Dense

    • 格式:| 参与计算的features | 不参与计算的features |

    • 参与计算的features:可通过算法参数新特征所在列以及旧特征所在列进行指定

    • 不参与计算的features:可包括不参与计算的特征

  • 输出

    • 情况一:没有指定新特征列,模块不进行任何计算,也不输出任何结果

    • 情况二:只指定了新特征列,没有指定旧特征列,则仅计算新特征两两之间的互信息

      • 格式:

              | X |label|
        
              |label|multual|
        • X:无实际意义,用来形成有效的矩阵形式

        • label:新特征的Id

        • multual:新特征两两之间的互信息

        • 举例:

          X 1 2 3 1 1.18 0.15 0.25 2 0.15 2.3 0.38 3 0.25 0.38 1.99

      • 情况三:既指定了新特征列,又指定了旧特征列,模块不光会计算新特征两两之间的互信息,同时还会将新特征分别与旧特征列计算互信息,输出为这两种矩阵的合并

        • 格式:

              | X |newLabel|oldLabel|
          
              |newLabel|newMultual|oldMultual|
          • X:无实际意义,用来形成有效的矩阵形式

          • newLabel:新特征的Id

          • oldLabel:旧特征的Id

          • newMultual:新特征两两之间的互信息,同一特征计算的是信息熵

          • oldMultual:新特征分别与旧特征列之间的互信息,同一特征计算的是信息熵

          • 举例:

            X 0 1 2 3 0 1.8 0.36 -0.62 -0.72 1 0.36 2.55 -0.07 -0.43

  • 参数

    • 新特征所在列:指新特征所在的列号,从0开始计数,可用“1-12,15”表示,其说明取特征在表中的1到12,15列

    • 旧特征所在列:指旧特征所在的列号,从0开始计数,该特征可以与新特征进行相关性计算,格式同新特征所在列

    • 并行数:训练数据的分区数、spark的并行数

    • 抽样率:输入数据的采样率

Last updated