将大型 numpy 数组拆分为训练和测试的内存有效方法

2024-02-17

我有一个很大的 numpy 数组,当我运行 scikit learn 的 train_test_split 将数组拆分为训练和测试数据时,我总是遇到内存错误。分割为训练和测试的更内存有效的方法是什么?为什么 train_test_split 会导致这种情况?

以下代码会导致内存错误并导致崩溃

import numpy as np
from sklearn.cross_validation import train_test_split

X = np.random.random((10000,70000))
Y = np.random.random((10000,))
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.33, random_state=42)

我尝试过的一种有效方法是将 X 存储在 pandas 数据框中并随机播放

X = X.reindex(np.random.permutation(X.index))

因为当我尝试时我遇到了相同的内存错误

np.random.shuffle(X)

然后,我将 pandas 数据帧转换回 numpy 数组,并使用此函数,我可以获得训练测试拆分

#test_proportion of 3 means 1/3 so 33% test and 67% train
def shuffle(matrix, target, test_proportion):
    ratio = int(matrix.shape[0]/test_proportion) #should be int
    X_train = matrix[ratio:,:]
    X_test =  matrix[:ratio,:]
    Y_train = target[ratio:,:]
    Y_test =  target[:ratio,:]
    return X_train, X_test, Y_train, Y_test

X_train, X_test, Y_train, Y_test = shuffle(X, Y, 3)

这暂时有效,当我想做K折的交叉验证时,我可以迭代地循环k times并洗牌。虽然现在已经足够了,但为什么 numpy 和 sci-kit learn 的 shuffle 和 train_test_split 实现会导致大数组出现内存错误?

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

将大型 numpy 数组拆分为训练和测试的内存有效方法 的相关文章

  • 在 MacOSX10.6 上运行 python 服务器时 MySQLdb 错误

    运行我的服务器 python manage py runserver 产生以下错误 django core exceptions ImproperlyConfigured 加载 MySQLdb 模块时出错 没有名为 MySQLdb 的模块
  • AttributeError:模块“tensorflow.python.framework.ops”没有属性“RegisterShape”

    我正在使用 TensorFlow 2 1 0 dev20191125 不幸的是 我无法编译一个带有错误的简单示例 AttributeError 模块 tensorflow python framework ops 没有 属性 Registe
  • 为什么具有复杂无穷大的 NumPy 运算会导致有趣的结果?

    我注意到复杂的无穷大的有趣结果 In 1 import numpy as np In 2 np isinf 1j np inf Out 2 True In 3 np isinf 1 1j np inf Out 3 True In 4 np
  • 如何在 sqlalchemy 中创建基于文字的查询?

    我创建了一个函数来创建表达式 def test operator1 operation operator2 return literal column operator1 op operation operator2 现在当我用 test
  • 检查 bash 中是否存在关联数组元素

    在 bash 脚本中 我在变量中有一个区域设置 如下所示 locale fr ma 我也有一个像这样的关联数组 declare A new loc map new loc fr ma en ma new loc el gr en gr ne
  • 使用主宰器将实时数据发送给客户端

    我尝试使用 Flask 的主宰框架 以便按照 Flask 代码片段将实时信息发送到客户端浏览器http flask pocoo org snippets 80 http flask pocoo org snippets 80 当我尝试为我的
  • 如何对嵌套函数进行单元测试? [复制]

    这个问题在这里已经有答案了 您将如何对嵌套函数进行单元测试f1 在下面的例子中 def f def f1 return 1 return 2 或者需要测试的函数不应该嵌套吗 有一个类似的问题这个链接 https stackoverflow
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • 使用 Matplotlib、PyQt 和 Threading 进行实时绘图导致 python 崩溃

    我一直在努力研究我的 Python 应用程序 但找不到任何答案 我有 PyQT GUI 应用程序 它使用 Matplotlib 小部件 GUI 启动一个新线程来处理 mpl 小部件的绘图 恐怕我现在通过从另一个线程访问 matplotlib
  • wxPython:更新wx.ListBox列表

    我在 python 程序中有一个 wx ListBox 我不想在 wx Timer 更新时更改其中的列表 我的计时器正在工作 我只是不知道如何更改它显示的列表 这是一个例子 http www daniweb com code snippet
  • Celery 设计帮助:如何防止并发执行任务

    我对 Celery AMQP 相当陌生 正在尝试提出一个任务 队列 工作人员设计来满足以下要求 我有多种类型的 每用户 任务 例如 TaskA TaskB TaskC 这些 每用户 任务中的每一个都为系统中的一个特定用户读取 写入数据 因此
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • Numba jitclass 不适用于 python 列表

    我在用python 3 6 and numba 0 36 这个问题有一个sister https stackoverflow com questions 48159360 numba custom stack class and pop f
  • 如何在 Flask 中获取 POSTed JSON?

    我正在尝试使用 Flask 构建一个简单的 API 现在我想在其中读取一些 POSTed JSON 我使用 Postman Chrome 扩展进行 POST 我 POST 的 JSON 很简单 text lalala 我尝试使用以下方法读取
  • char* argv[] 在 c/c++ 中如何工作? [复制]

    这个问题在这里已经有答案了 我知道它用于使用命令行中的参数 但我没有得到声明 字符 argv 它是否意味着指向 char 数组的指针 如果是的话为什么没有大小 如果不是动态数组 就不需要有大小吗 我做了一些研究 发现有人说它会衰减为 cha
  • Tensorboard——High-level节点的计算时间与其子节点计算时间的总和不同

    继tutorial https www tensorflow org programmers guide graph viz在 TensorFlow 上 我试图使用张量板来理解运行时统计数据 我发现代表名称范围的高级节点的计算时间不等于其子
  • 在 Mac (Catalina) 上安装 PyGame 时出错 [重复]

    这个问题在这里已经有答案了 我一直在尝试将 PyGame 安装到 Catalina 上的 Mac 上 但不知道如何安装 我收到的错误消息是 SystemExit error command gcc failed with exit stat
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 使用 Tweepy 获取推文时出错

    我有一个用于获取推文的 Python 脚本 在脚本中我使用该库 Tweepy 我使用有效的身份验证参数 运行此脚本后 一些推文存储在我的 MongoDB 中 有些则被 if 语句拒绝 但我仍然收到错误 requests packages u
  • 使用 javascript Array reduce() 方法有什么真正的好处吗?

    reduce 方法的大多数用例都可以使用 for 循环轻松重写 对 JSPerf 的测试表明 reduce 通常会慢 60 75 具体取决于每次迭代内执行的操作 除了能够以 函数式风格 编写代码之外 还有什么真正的理由使用reduce 吗

随机推荐

  • 在 Vim 中选择整个 Sass 规则集的最快方法?

    刚开始使用 Vim 我想知道 给定一个像这样的 Sass 块 thing width 100 color color1 nested height 1rem 如果我的光标位于 width 内的 d 处 那么以可视方式选择整个规则集 选择器
  • 如何动态添加 Javascript 函数(并调用)

    基于页面上的单击事件 通过 ajax 我获取一段 html 和脚本 我能够获取 script 元素并将其附加到 head 元素 但是基于 WebKit 的浏览器不会将其视为脚本 即 我无法调用附加脚本中声明的函数 使用 Chrome 开发人
  • 如何从其他网站导入 Facebook 好友

    我正在寻找一种连接 Facebook 的方法 允许用户输入他们的用户名和密码 让我们的应用程序连接到他们的帐户并获取他们的联系人 以便他们可以邀请他们加入我们网站上的群组 我之前写过一个 Facebook 应用程序 但这不是一个应用程序 而
  • Python:从某个列表中获取最大N个元素

    是否有一些函数可以返回某个列表中的 N 个最高元素 I e if max l 返回单个最高元素 sth 喜欢max l count 10 会返回给我一个包含 10 个最高数字的列表 或者更少 如果l更小 或者什么是获得这些的有效简单方法 除
  • 是否可以以不区分大小写的方式匹配意图过滤器的路径模式?

    我们有一个 Android 应用程序可以打开某些类型的文件 我在 AndroidManifest xml 文件中为每个过滤器声明了一个意图过滤器 示例扩展名 ext
  • 如何根据目标像素替换 Numpy 图像数组中的所有 RGB 值

    我有一个 Numpy 数组中的图像 我将用黑色替换特定颜色 用白色替换所有其他颜色 For 循环速度很慢 而且我的 numpy 条件不起作用 与数组匹配的所有像素 gt 121 112 131 必须完全替换为另一个数组 gt 0 0 0 所
  • Python 和希伯来语编码/解码错误

    我有 sqlite 数据库 我想在其中插入希伯来语的值 我不断收到以下错误 UnicodeDecodeError ascii codec can t decode byte 0xd7 in position 0 ordinal not in
  • JavaFX 中的 Z 顺序

    如何设置 Z 顺序VBox在 JavaFX 中 JavaFX 中的 Z 顺序实际上是场景图中的顺序 例如 在场景的内容序列中 然后在组 容器等的内容中 所有节点还具有 toFront 和 toBack 函数来帮助更改此顺序 为了更好地控制
  • 修复“忽略 InnerClasses 属性”警告

    我想修复此警告 让我每次构建此输出 Error warning Ignoring InnerClasses attribute for an anonymous inner class Error com sun jna Native 1
  • 心理视觉图像相似度算法/库

    我正在寻找一种算法 最好是 C Rust 实现 来计算两个图像之间的感知相似性 同时考虑心理视觉因素 例如 色度差异并不像亮度差异那么糟糕 我有原始图像和它的多种变体 在我的例子中是 256 色量化 我想要算法来找到人类会判断哪张图像是最好
  • 如何在反应路由器转换中保持状态

    我已经设置了相当典型的反应路由器应用程序 var App React createClass render function return lt RouteHandler gt var routes
  • 如何在 NextJs 中共享两个项目中的组件?

    我不知道在我的特定情况下共享组件 ReactJs 的最佳选择是什么 我在 NextJs 中有两个应用程序 一个是电子商务 另一个是该电子商务的经理门户 在第一个应用程序 电子商务 中 我有 UI 组件 按钮 字段 标题 文本等 我想在其他项
  • svelte :更改 html 块内的变量值

    each list as item i div class item div
  • 什么是最低限度有效的 HTML5 文档?

    我刚刚阅读了 HTML5 作者规范 它指出 and 标签是optional 这是否意味着您可以完全忽略它们并仍然拥有有效的 HTML5 文档 如果我的解释正确 这意味着这应该是完全有效的 p Hello p 它是否正确 您可以在此处查看规格
  • Mercurial 中的 Reparenting:如何将两个独立的 svn 克隆重新组合在一起?

    情况是这样的 开发人员 Foo 从我们的 svn 存储库创建了一个 hg 存储库 Foo 的 hg repo 只是 svn 中主干的浅层克隆 没有 svn 分支 标签等 并且历史记录不完整 大约 100 个变更集 开发人员 Bar 做了同样
  • Mongo Query 获取不同的嵌套文档

    我需要获取不同的嵌套文档 请查找示例文档 propertyId 1001820437 date ISODate 2020 07 17T00 00 00 000Z HList productId 123 name Dubai tsh true
  • 错误-2147417848自动化错误调用的对象已与其客户端断开连接

    我正在清理 3 个 Excel 工作表中的一些表格 我的代码在 Excel 2007 上运行良好 当我切换到 Excel 2010 时 我开始收到此运行时错误自动化错误 调用的对象已与其客户端断开连接 错误号 2147417848然后exc
  • findOneAndUpdate 与推送数组元素在猫鼬中给出错误

    我的查询如下所示 const updateLikes item id userInfo gt return new Promise resolve reject gt itemLike findOneAndUpdate item id it
  • 以编程方式绘制一条粗略的线条

    我想知道你们是否知道我如何在 iOS 应用程序上绘制一条粗略的线条 目前 我正在借助 UIBezierPath 进行绘图 然后将其渲染到位图图形上下文中 我怎样才能让线条看起来很粗略 Produce and add points to dr
  • 将大型 numpy 数组拆分为训练和测试的内存有效方法

    我有一个很大的 numpy 数组 当我运行 scikit learn 的 train test split 将数组拆分为训练和测试数据时 我总是遇到内存错误 分割为训练和测试的更内存有效的方法是什么 为什么 train test split