Python NN的DNA数据输入,一个热编码
面对一个对我来说似乎是一项挑战性任务的问题。有一个巨大的DNA数据集,有a,G,T,C结构,4个完全不同的类别作为输入。它看起来像:Python NN的DNA数据输入,一个热编码,python,pandas,scikit-learn,neural-network,artificial-intelligence,Python,Pandas,Scikit Learn,Neural Network,Artificial Intelligence,面对一个对我来说似乎是一项挑战性任务的问题。有一个巨大的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+ 我想询问有关数据处理的建议。它应该表示
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库用几行代码就可以轻松完成典型的数字表示,但对于如此庞大的数据集,将其转换为一种热编码似乎是一项有趣的任务。通过使用(101927041)形状的pd.get_假人,我们获得了(101954082),但无法理解为什么当我们有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