【发布时间】:2017-02-07 06:58:25
【问题描述】:
我知道如何使用 NumPy 的 np.fromfile() 函数在 Python 中读取二进制文件。我面临的问题是,当我这样做时,数组具有非常大的数量,大约为 10^100 左右,具有随机的 nan 和 inf 值。
我需要将机器学习算法应用于此数据集,但我无法处理此数据。由于nan 值,我无法对数据集进行规范化。
我试过np.nan_to_num(),但这似乎不起作用。这样做之后,我的最小值和最大值分别在 3e-38 和 3e+38 范围内,所以我无法对其进行归一化。
有没有办法缩小这些数据?如果没有,我该如何处理?
谢谢。
编辑:
一些上下文。我正在处理恶意软件分类问题。我的数据集由实时恶意软件二进制文件组成。它们是 .exe、.apk 等类型的文件。我的想法是将这些二进制文件存储为 numpy 数组,转换为灰度图像,然后对其执行模式分析。
【问题讨论】:
-
尝试
pandas读取文件 -
@maxymoo 可以
pandas读取二进制文件吗? -
“二进制文件”是什么意思?您可以在帖子中添加文件示例吗?
-
您希望得到什么样的数字?您是否尝试过指定
dtype参数?它使用默认的float。 -
好的,数值不代表实数;难怪浮动版本看起来很奇怪。尝试使用像
np.uint8这样的数据类型,它将每个字节表示为 0 到 255 之间的数字。
标签: python numpy machine-learning data-mining