gpt4 book ai didi

python - NN 的 DNA 数据输入,一次热编码

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:20 24 4
gpt4 key购买 nike

遇到了一个对我来说听起来很有挑战性的问题。有一个巨大的 DNA 数据集,具有 A、G、T、C 结构,4 个完全不同的类别作为输入。看起来像:

1 2 3 4 5 6 7 8 9 … 1.000+
A A G G G G G G G
G G C C C C C C C
T T C C C C C C C
G G A A A A A A A
T T C C C C C C C
C C T T T T T T T
T T C C C C C C C

30.000+

想问一下关于数据处理的建议。它应该表示为具有如此巨大维度的数字还是一种热编码?将 [0,0,0,1] 作为 A,将 [0,0,1,0] 作为 G 等等,或者只是 0、1、2、3?谈论 NN - 想从简单的开始到现代和更深入。 pandas、sklearn 库只需几行代码即可轻松完成典型的数值表示,但对于如此庞大的数据集,将其转换为单一热编码看起来是一项有趣的任务。通过使用来自 (1019, 27041) 形状的 pd.get_dummies,我们获得了 (1019, 54082),并且无法理解为什么当我们有 4 个不同的字母时形状只增加了 2 倍。谢谢!

最佳答案

增加 2 倍而不是 4 倍是因为您在每个系列中只有 2 个类别。 (在您的示例中,第一行是 A 和 G,第二行是 G 和 C,第三行是 T 和 C,依此类推)

下面的例子会让你更好地理解附加列的数量

In [38]: df = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'], 'C': [1, 2, 3]})                                                                       

In [39]: df
Out[39]:
A B C
0 a b 1
1 b a 2
2 a c 3

In [40]: pd.get_dummies(df)
Out[40]:
C A_a A_b B_a B_b B_c
0 1 1 0 0 1 0
1 2 0 1 1 0 0
2 3 1 0 0 0 1


关于python - NN 的 DNA 数据输入,一次热编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344263/

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