如何对变长特征进行一种热编码?

2023-11-23

给定一个变长特征列表:

features = [
    ['f1', 'f2', 'f3'],
    ['f2', 'f4', 'f5', 'f6'],
    ['f1', 'f2']
]

其中每个样本都有不同数量的特征和特征dtype is str并且已经一热了。

为了使用 sklearn 的特征选择实用程序,我必须将features到一个二维数组,如下所示:

    f1  f2  f3  f4  f5  f6
s1   1   1   1   0   0   0
s2   0   1   0   1   1   1
s3   1   1   0   0   0   0

我如何通过 sklearn 或 numpy 实现它?


您可以使用多标签二值化器存在于 scikit 中,专门用于执行此操作。

您的示例代码:

features = [
            ['f1', 'f2', 'f3'],
            ['f2', 'f4', 'f5', 'f6'],
            ['f1', 'f2']
           ]
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
new_features = mlb.fit_transform(features)

Output:

array([[1, 1, 1, 0, 0, 0],
       [0, 1, 0, 1, 1, 1],
       [1, 1, 0, 0, 0, 0]])

这也可以与其他 feature_selection 实用程序一起在管道中使用。

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

如何对变长特征进行一种热编码? 的相关文章

随机推荐

  • 如何获取使用标准库创建的线程的winapi id?

    C 11 的标准库包含
  • Bootstrap 中的开始日期和结束日期

    我正在使用 Bootstrap DatePicker 我要验证从日期 and To Date 开始日期正确选择今天的日期 我有一个问题 迄今为止没有选择开始日期 即从日期值 如何解决它 document ready function fro
  • 从 Pandas DataFrame 创建时间序列

    我有一个具有各种属性的数据框 包括一个日期时间列 我想提取其中一个属性列作为由日期时间列索引的时间序列 这看起来非常简单 我可以用随机值构造时间序列 正如所有 pandas 文档所示 但是当我从数据帧中这样做时 我的属性值全部转换为 NaN
  • 为什么我的 sqlite3 外键不起作用?

    我从 python 解释器运行以下代码 并期望插入语句失败并抛出某种异常 但它没有发生 Python 2 6 5 r265 79096 Mar 19 2010 21 48 26 MSC v 1500 32 bit Intel on win3
  • Google 是否推送了会破坏多个帐户的 OAuth2.0 流程更新?

    直到上周 当我登录 Google 中的多个帐户并调用 OAuth2 0 流程时 我都会看到一个功能正常的丑陋屏幕 看起来像是被丑陋的棍子反复击打 它将显示一个单选按钮列表 其中包含我登录的所有帐户 您选择一个并继续完成流程 这周我现在得到了
  • 使用 -fshort-wchar 的含义

    在 Mac OS X 系统上查看文件 wchar h 时 我发现当未定义 cplusplust 且 wchar t 的最大大小为 2 个字节 通过使用编译器选项 fshort 时 wchar t 相当于 str 函数 例如 wcscpy w
  • 无法膨胀 ConstraintLayout

    每次我的应用程序崩溃时 因为它在类路径中找不到 Landroidx constraintlayout widget R styleable 我尝试重建 使缓存无效 但它总是在运行时给我同样的错误 我尝试了 1 1 2 和 1 1 3 两个版
  • pandas 时间序列的线性回归

    我有一个数据框对象 其中包含 EUR USD 货币对的 1 秒间隔 但理论上它可以是任何间隔 在这种情况下它可能如下所示 2015 11 10 01 00 00 01 00 1 07616 2015 11 10 01 01 00 01 00
  • mat-form-field 必须包含 MatFormFieldControl

    我们正在尝试在我们公司构建我们自己的表单字段组件 我们正在尝试像这样包装材料设计的组件 field
  • 使用数组进行 DocumentDB 查询

    我有带有简单 字符串 数组属性的文档 id one tags A B id two tags A C 要检查值是否是数组的一部分 我可以使用 ARRAY CONTAINS SELECT FROM c WHERE ARRAY CONTAINS
  • 在 Rake 任务中使用环境变量

    task some task environment do t args puts Rails env gt development production etc puts ENV gt end 我设置了一些环境变量 通过本地 env 或通
  • 删除后如何访问 Kubernetes 中 Pod 的日志

    我们拥有基于 CentOS 的 kubernetes 基础设施 并在此基础上使用 Openshift 我们已经终止了一个 Pod 现在它在主控制器上不再可见 但是我们愿意分析它的日志 我们还能访问它的日志吗 如何 当您发出命令时 容器及其日
  • 使用 from_json 制作的 MongoEngine 文档对象不保存

    我正在尝试使用 from json 方法构建文档对象 object save 没有抛出错误 但文档没有插入到 mongo 中 另一方面 如果我通过为每个字段分配值来创建对象 它就可以正常工作 我无法找到原因 下面是这两种情况的代码 from
  • Scala 模块 2.12.3 需要 Jackson Databind 版本 >= 2.12.0 且 < 2.13.0,但我有 databind 2.12.3

    对于一个项目 我将 Spark 结构化流与 kafka 结合使用 我有这个配置
  • 沿线性回归线绘制条件密度曲线“P(Y|X)”

    这是我的数据框 有两列Y 回应 和X 协变量 Editor edit use dat not data dat lt structure list Y c NA 1 793 0 642 1 189 0 823 1 715 1 623 0 9
  • 简单的 Python 服务器设置

    我正在尝试学习 python 来自 PHP 并且想要设置最简单的 Web 服务器 以便我可以开始编码 我找到了集成的 HTTP 服务器 所以我认为这应该是最简单的方法 root ubuntu var py python m SimpleHT
  • 核心数据关系(快速)

    我正在构建一个需要核心数据关系的应用程序 如下所示 entityA lt lt gt entityB e g any given entityA can hold many entityB objects 我有两个带有entityA 列表项
  • 在容器中运行服务(upstart/init.d)

    我正在尝试在 docker 中启动一个具有许多 init 和 upstart 服务的系统 但出现此错误 initctl Unable to connect to Upstart Failed to connect to socket com
  • IntelliJ IDEA 没有 Java 10 'var' 的代码完成?

    最近我安装了IntelliJ IDEA的新版本 2018 1 它增加了对Java 10的支持 但是当我尝试使用var 对于局部变量类型推断 我发现没有var在代码完成列表中 见下面的截图 如果我继续输入 它将适用VarHandle作为该列表
  • 如何对变长特征进行一种热编码?

    给定一个变长特征列表 features f1 f2 f3 f2 f4 f5 f6 f1 f2 其中每个样本都有不同数量的特征和特征dtype is str并且已经一热了 为了使用 sklearn 的特征选择实用程序 我必须将features