【发布时间】:2019-10-24 13:11:26
【问题描述】:
所以我有一个数据集,它本质上是单个程序进行的Windows API 调用列表。每一行属于一个程序。同一行的连续单元格是同一程序进行的 API 调用。我的问题是无法弄清楚如何 encode 这个分类数据,以便我可以从中制作基于回归的 ML 模型。
我尝试使用Pandas 方法get_dummies() 但这似乎只是把事情搞砸了,因为似乎生成的列数呈指数增长。
我的数据集看起来像这样 -
ROW [9822] GetStartupInfoA LockResource GetCommandLineA GetModuleFileNameA ShowWindow EnableWindow DestroyWindow lstrcpyW GetThreadLocale lstrcmpiW GlobalAlloc
如果有帮助的话,我还有唯一 API 的列表。
我的目标本质上是建立一个模型来分析 API 调用并预测进行这些调用的程序是否是良性的。
【问题讨论】:
-
列名是什么?如果您要使用
get_dummies(),您的所有条目都需要有一组共同的列,如果您的程序不都进行相同数量的API调用,您将有不同数量的列,这也不允许用于get_dummies()。 -
在创建 ML 模型时,有很多因素决定了您应该如何对数据集进行建模。我建议您添加模型的目标是什么,以便社区可以更好地帮助您。
-
嗨乔希!数据集没有任何列名。所有程序都进行相同数量的 API 调用(至少,我通过限制它来确保这一点)。你建议我添加列名吗?我没有这样做,因为它没有任何意义。
-
很公平。考虑到 API 调用是名义上的,这是有道理的。我应该如何将 API 调用映射到数值(因为我有大约 2000 个唯一的 API 调用)?如果我不明白,我很抱歉,但这对我面临的问题有什么帮助?
标签: python pandas dataframe keras scikit-learn