在 R 中对大数据进行 one-hot 编码的有效方法

2024-01-04

我正在尝试创建我的数据的独热表示。这是我的方法:

data(iris)
iris = as.data.frame(apply(iris, 2, function(x) as.factor(x)))
head(iris)

iris_ohe <- data.frame(model.matrix(~.-1, iris))
head(iris_ohe)
dim(iris_ohe)

问题是,我正在处理的数据有超过 100 万行,在进行编码时,我得到了一个超过 100 列的矩阵。这对于R我的内存不足了:

Error: cannot allocate vector of size 10204.5 Gb

我可以尝试更好的方法吗?


尝试使用mltools::one_hot

require(mltools)
require(data.table)

n <- 1e6

df1 <- data.table( ID= seq(1:n), replicate(99, sample(0:1,n,TRUE)))

one_hot(df1)

对我来说没有内存问题,它几乎立即运行

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

在 R 中对大数据进行 one-hot 编码的有效方法 的相关文章

  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t
  • 如何在 R 中执行近似(模糊)名称匹配

    我有一个专门用于生物学期刊的大型数据集 该数据集是由不同的人长时间编写的 因此 数据不采用单一格式 例如 在 作者 栏中我可以找到John Smith Smith John Smith J等 但它们是同一个人 我连最简单的动作都做不了 例如
  • 行对名称中具有特定模式的列求和

    我有一个像这样的数据表 DT lt ata table data table ref rep 3L 4L nb 12 15 i1 c 3 1e 05 0 044495 0 82244 0 322291 i2 c 0 000183 0 155
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 在r中的某个阈值处破坏 cumsum() 函数

    例如我有以下代码 cumsum 1 100 我想打破它 如果一个元素 i 1 大于3000 我怎样才能做到这一点 因此 而不是这个结果 1 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 15
  • 在 Shiny 中显示反应式 htmlTable 表格

    我正在制作我的第一个 Shiny 应用程序 但找不到任何有关如何显示使用 htmlTable 包创建的表格的示例 我基本上想在按下按钮时创建一个表格并显示它 Shiny 显示 html 代码而不是表格 我不知道用什么替换服务器部分中的 re
  • R:按组,测试一个变量的每个值是否存在于另一个变量中

    我有一个数据框架 结构如下 a lt c 1 1 1 2 2 2 3 3 3 3 4 4 b lt c 1 2 3 1 2 3 1 2 3 4 1 2 c lt c NA NA 2 NA 1 1 NA NA 1 1 NA NA df lt
  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • 需要在R中跳过不同数量的行

    我正在使用以下代码来处理我的数据 但最近我意识到使用skip 27 在数据开始之前跳过存储在我的文件中的信息 不是一个好的选择 因为每个文件中要跳过的行数不同我的目标是读取存储在多个文件夹中的各种txt文件 并非所有文件都有相同的列数 列的
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 如何在Rstudio中快速给几个单词加上引号?

    如何将 MI ID FL 转换为 MI ID FL 而无需键入每个双引号 Hmisc 包有一个函数 Cs 它将评估逗号分隔的文本是否带有引号 Cs MI ID FL becomes MI ID FL
  • R 改变构面的顺序

    我正在尝试将方面的顺序从 BA SLG 更改为 SLG BA 我发现了与此类似的问题 但我认为我的解决方案可能不起作用 因为我已经在Excel中汇总了数据 因此 我的数据框可能会有所不同 无论如何 我尝试实现这个但无济于事 df2 lt f
  • R:单纯形错误:在下标赋值中不允许使用 NA

    对于以下具有目标函数和约束的最小化 boot simplex返回错误 Error in tab pr lt tab pr tab pr pc pv o tab pr NAs are not allowed in subscripted as
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • R 中的数据框操作 - 将单元格向左移动并删除 NA

    我有一个数据框 其列由随机分布的值和 NA 组成 如下所示 a lt c S E NA S NA b lt c A NA M G K c lt c I NA NA NA L meh lt dataframe a b c 1 2 3 4 5
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x

随机推荐

  • 验证多态关联模型中的范围唯一性

    是的 所以我有一个多态关联 允许收藏不同的对象类型 所以一个人可以喜欢一个产品 一个人 或者其他什么 我想要做的是防止有人使用验证收藏夹模型中的唯一性来复制收藏夹 class Favorite lt ActiveRecord Base be
  • XMLHttpRequest 与 HttpRequest

    有谁知道 什么是XMLHttpRequest使网页能够执行普通网页无法完成的操作HttpRequest XMLHttpRequest http en wikipedia org wiki XMLHttpRequest是一个标准的 javas
  • 如何使用 Pandas 的时间戳按小时对数据帧进行分组

    我有以下使用时间戳索引的数据帧结构 neg neu norm pol pos date time 1520353341 0 000 1 000 0 0000 0 000000 0 000 1520353342 0 121 0 879 0 2
  • 使用 iText 在横向模式下绘制线条

    这是我用来画线的代码 double lineArray annotation getAsArray PdfName L asDoubleArray double x1 lineArray 0 rect getAsNumber 0 doubl
  • 对某一部分贪婪的正则表达式,对其他部分不贪婪的正则表达式

    我在 R 中使用正则表达式 但我希望它对左侧部分贪婪 对右侧部分非贪婪 假设我想提取单词 left 和 right 之间的文本 但我希望它是贪婪的 并继续在文本中查找单词 left 直到找到最后一次出现 但是 我也希望它不贪婪于 正确 并在
  • 将 SpatialPolygonsDataFrame 导出为 R 中的 geojson 或 topojson

    我正在尝试将伦敦地方当局的 geojson 转换为六角形图表 其中每个六边形代表一个地方当局 它在 R 中工作 但是当我尝试将生成的十六进制网格导出为 geojson 或 topojson 时 出现以下错误 Error in sp Spat
  • 实体框架 4.1 检索自引用数据

    我首先使用 Entity Framework 4 1 代码和 ASP NET MVC 3 并且我正在努力正确设置自引用 我有一个类别类 它必须是自我引用的 当表中ParentCategoryId为空时 类别可以是父类别 如果某个类别具有带值
  • 直接从 Outlook 拖放到 Web 表单

    我在网上搜索了一下 大部分答案都是无法完成 我的情况有点不同 因为我们正在开发的应用程序仅用于内部目的 并且可以允许浏览器中的任何安全级别 它也是基于内部网的 我还尝试查看是否有现成的 ActiveX 控件 但无法找到一个允许直接从 Out
  • Sympy - 改变绘图的 y 轴范围

    使用 Sympy 如何设置 y 轴的范围 plot x 2 2 我想让 y 轴从 0 到 7 当你绘图时 你可以使用 kwargsxlim and ylim设置轴限制 例如 gt gt gt plot x 2 2 xlim 3 3 ylim
  • 使用 Delphi 在运行时创建 TWebBrowser

    我有一个 TWebBrowser 对象 它在运行时创建并在后台使用 即不可见 问题是像 OnDocumentComplete 这样的事件在 Delphi2009 中不起作用或不会被触发 有什么建议吗 procedure TfrmMain F
  • 将文件写入通用应用程序数据文件夹被拒绝

    我使用以下函数将数据写入用户应用程序文件夹 private void WriteToLog string source string method string msg string LogFile Environment GetFolde
  • 对一系列门票进行排序[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 这是问题陈述 您有一叠包含出发地和目的地的车票 您将获得出发城市和目的地城市 你如何从堆栈中找到你的路线 这是我的解决方
  • 哪个更好的Javascript对象模式[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用“catch,when”捕获异常

    我在 C 中发现了这个新功能 它允许在满足特定条件时执行 catch 处理程序 int i 0 try throw new ArgumentNullException nameof i catch ArgumentNullException
  • 在 python 函数中使用 *args、**kwargs 时“获得关键字参数的多个值”

    传递命名参数时request通过 kwargs 我收到一个错误 Traceback most recent call last File testKwargs py line 9 in
  • Python re.findall

    我试图检索包含 名称 字段的所有标签 然后处理整个句子加上名称 这是我的测试代码 sourceCode
  • 无法将 4/23/12 12:00 AM 类型类 java.util.Date 转换为类 java.sql.Date

    我正在将我的项目从 WebSphere 7 迁移到 WebSphere 8 并且使用 JSF 1 2 我遇到了 IBM JSF html extended 标签和标准转换器的问题 这些转换器主要是 JSF 1 2 核心组件 我还将我的 Ja
  • 在R中绘制网络(控制边缘厚度加上不重叠的边缘)

    我需要使用 R 绘制一个具有 5 个节点和 20 个有向边 连接每 2 个节点的边 的网络 但我需要存在两个功能 能够控制每个边缘的厚度 边缘不重叠 即 从 A 到 B 的边缘不绘制在从 B 到 A 的边缘之上 我花了几个小时寻找解决方案
  • Scipy:ipython 笔记本中的并行计算?

    我正在做一个kernel density estimation数据集 点的集合 The estimation process没关系 问题是 当我试图获得density value对于每个点 速度都很慢 from sklearn neighb
  • 在 R 中对大数据进行 one-hot 编码的有效方法

    我正在尝试创建我的数据的独热表示 这是我的方法 data iris iris as data frame apply iris 2 function x as factor x head iris iris ohe lt data fram