📖
tbds
  • 前言
  • 部署
    • 安装步骤
  • 平台管理
    • 用户管理
    • 项目管理
    • 系统设置
  • 组件访问开发
    • kafka
    • hadoop
    • hbase
    • accessKey
    • hive
    • spark
    • ftp
    • portalApi
    • hermes
    • 代码访问组件demos
      • hbase
      • hdfs
      • kafka
      • hive
  • 数据接入
    • 数据接入
      • TDBank产品化介绍及使用指引
      • TDBank数据接入指引
      • TDBank采集接口详解
      • OGG Flume Adapter 部署文档
      • DB Demo
      • HDFS Demo
    • Hippo管理
    • 进度监控
    • 血缘分析
  • 实时计算
    • 任务管理
    • 库表模板管理
  • 数据分析
    • 数据交互
    • ideX
  • 任务调度
    • 操作指引
    • 工作流
      • 基本概念
      • 任务基本信息
      • 任务调度设置
      • 任务参数配置
        • shell 脚本
        • ftp导入hdfs
        • kafka导入hbase
        • kafka导入hdfs
        • hdfs导出hbase
        • hive sql 脚本
        • hive导入hdfs
        • hdfs导出DB(mysql,postgreSQL,sql server)
        • tstorm任务
        • spark任务
        • mapreduce任务
        • db导入hdfs
        • hdfs导出hive
        • hdfs导出hive-tdsort
        • hive导出mysql
        • mysql导入hive
      • Demo
        • FTP导入HDFS
        • HDFS导出HBASE
        • HDFS导出Mysql
        • HDFS导入HIVE
        • Hive SQL脚本
        • Hive导出MySQL
        • Hive导入HDFS
        • KAFKA导出HBASE
        • KAFKA导出HDFS
        • MYSQL导入HDFS
        • MySQL导入Hive
        • Shell脚本
        • SPARK任务
      • 升级
        • 集成代码更新
        • rpm升级
      • 补充
        • 手动迁移base组件
        • 手动安装runner组件
        • 自定义任务开发文档
        • 时间隐式变量说明
        • 下发并发数说明和调整操作
        • Issues版本说明
        • 设置分组
        • 跨工作流依赖
      • 常见问题定位和解决方式
        • 常用操作
        • 实时接入任务hdfs2hive (tdsort)
        • 实例日志获取失败
        • 实例日志中提示下载文件失败
        • taskSchedule指标为空定位方法
        • 实例依赖失效确认方式
        • 任务实例诊断按钮无调度信息
        • 诊断和定位操作参考
        • 实例一直等待终止定位
        • mongodb 常见问题和处理办法
    • 任务管理
      • 工作流列表
      • 任务管理
      • 任务运行管理
      • 其他
    • 服务器配置
      • 基本概念
      • 操作指南
  • Tstorm
    • Tstorm介绍
    • 开发实例
      • wordcount
  • 数据展现
    • 自助报表
  • 数据资产
    • 库表管理
      • 可管理库表
      • 可读写库表
      • 无归属库表
      • 维表管理
      • 新建表
    • 数据血缘
    • 数据提取
      • 数据地图
      • 任务列表
      • 架构关联
  • 运维中心
    • 系统运维
      • 组件部署
      • 链接归集
      • 诊断
      • 备份
    • 访问管理
    • 文件管理
    • 监控告警
      • 监控
      • 告警
  • 机器学习
    • 系统简介
    • TDInsight功能介绍
      • 工作流
        • 新建工程
        • 新建工作流
        • 创建和配置节点
        • 运行
        • 日志查看
      • 数据输入输出
      • 组件
        • Spark组件
        • Sparkstreaming组件
        • pySpark组件
        • xgboost组件
    • 多实例并发
      • 3种方式驱动实例
      • 实例查询
      • 历史实例
    • TDInsight模型与在线推理
      • 数据流
      • 模型的训练与使用
      • 模型在线服务
    • TDInsight算法/组件说明
      • 数据说明
      • 特征工程
        • 数据预处理
        • 特征提取
        • 特征转换
        • 特征选择
        • 特征评估
      • 机器学习
        • 分类算法
        • 聚类算法
        • 回归算法
        • 推荐算法
        • 关联规则
      • 模型评估
        • Binary Evaluator
        • Multi Evaluator
        • Regression Evaluator
      • 可视化
        • 关系
        • 分布
        • 对比
        • 组合
      • 深度学习算法简介
        • 计算机视觉
        • 自然语言处理
        • 表示学习
Powered by GitBook
On this page
  • 1. Correlation
  • 4.2 MultualInformation

Was this helpful?

  1. 机器学习
  2. TDInsight算法/组件说明
  3. 特征工程

特征评估

Previous特征选择Next机器学习

Last updated 4 years ago

Was this helpful?

1. Correlation

  • 算法说明

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

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

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

  • 输入

    • 数据形式:

    • 格式:| 参与计算的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

  • 算法说明

  • 输入

    • 格式:| 参与计算的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的并行数

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

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

数据形式:

参考
Correlation
MultualInformation
Dense
Dense