gpt4 book ai didi

python - 如何将某些条目的列数不同的自定义数据集表示并加载到 sci-kit 学习中

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:08 24 4
gpt4 key购买 nike

我正在从事击键生物识别认证项目。它就像是传统的基于密码的身份验证的包装器。如果密码正确,它会检查“打字节奏”,如果与用户的配置文件匹配,则给出肯定的输出。否则,给出负输出。通过映射一些在键入密码时提取的计时属性来检查“键入节奏”。基本上有 5 个特征,即 PP(按下-按下时间)、PR(按下-释放时间)、RP(释放-按下时间)、RR(释放-释放时间)和总时间。 PP 是按下两个连续键(字符)之间的时间。 RR 是释放两个连续键之间的时间。 PR 是按下和释放键的时间。 RP 是释放一个键然后按下一个键之间的时间。总时间是从按下密码的第一个键到释放密码的最后一个键之间的时间。

我正在使用一个开放的数据库 GREYC-Web based KeyStroke dynamics为项目。每个数据收集 session 包含按下的键的 ASCII 值和 PP、PR、RP、RR 和总时间的时间戳。它还包含实际用户是否正在输入密码或冒名顶替者。在收集数据时,允许用户使用自己的密码。所以很自然地,有不同长度的密码。除此之外,用户可能会按下额外的键(如 Shift、Caps、Backspace、Delete 等)。即使对于特定用户,不同的密码输入 session 也可能具有不同的密码长度。请注意,此上下文中的密码长度是用户键入的键(字符)的总数。例如,如果用户的实际密码是“abcd”。在一个 session 中,他正确地键入了密码,密码长度为 4。在另一个 session 中,他键入了以下一组键 - a、l、BACKSPACE、b、c、d-,因此密码长度为 6。

enter image description here

这里是所提议系统的一些上下文。建议的系统框图如下。 “输入特征空间分区”创建实际数据库的子集,以提供给不同的分类器,即高斯、K-NN 和 OCSVM。这些分类器的输出被馈送到反向传播神经网络 (BPNN),其结果是最终输出。 BPNN 用于惩罚那些给出错误结果的分类器并奖励那些给出正确结果的分类器。

我的问题是如何以结构化格式表示这种不同长度的数据,以便它可以在 sci-kit 学习中进行处理和使用。

我研究了 panda 和 numpy 的数据预处理。但我的问题在预处理阶段之前。

提前致谢!

最佳答案

一个选项是 Recurrent Neural Network .这些网络有效地融入了自身,有效地创造了时间的功能,或者在你的情况下,在一个词中的相对位置。这些网络的结构如下:

enter image description here

左侧部分(箭头前)显示了 RNN 的理论结构。值不仅在网络中的节点之间传递,而且在时间步长之间传递。这种通用结构允许嵌入任意时间,或者在您的情况下,任意字长。

能够在某些问题上取得更好结果的 RNN 的常见实现是 LSTM 或长短期内存网络。

enter image description here

为避免过于复杂的介绍性答案,我不会对这些进行过多的详细介绍。基本上,它们具有更复杂的“隐藏单元”,这有助于更复杂地决定保留哪些数据以及“遗忘”什么数据。

如果您想自己实现这些,请查看 Tensorflow。如果您有一个更适合您的库,请随时研究它对 RNN 和 LSTM 的实现,但如果没有,Tensorflow 是一个很好的起点。

祝您研究顺利,希望对您有所帮助!

关于python - 如何将某些条目的列数不同的自定义数据集表示并加载到 sci-kit 学习中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com