如何解决这个问题

问题描述 投票:0回答:1

我收到的错误在下面。

所有输入数组必须具有相同的形状

python machine-learning conv-neural-network bioinformatics one-hot-encoding
1个回答
0
投票

您不是在划线。正常的DNA序列由A,G,C和T组成。您还考虑了\r字符。您的输入是这样的:

CCGAGGGCTATGGTTTGGAAGTTAGAACCCTGGGGCTTCTCGCGGACACC\r
GAGTTTATATGGCGCGAGCCTAGTGGTTTTTGTACTTGTTTGTCGCGTCG\r
...
AATGTCGACCGAACTCCGCACTGCTGGCCCGGGCCTATATCGAGAGTGAC

因此,对于最后一行以外的其他行,编码器将生成形状为(50,5)的数组,因为该行中有5个不同的字符。对于最后一行,它将生成形状为(50,4)的数组,然后得到ValueError: all input arrays must have the same shape

要解决此问题,您可以在代码中的某个位置剥离序列。例如,这将起作用:

...

for sequence in sequences:
  integer_encoded = integer_encoder.fit_transform(list(sequence.strip()))
...
© www.soinside.com 2019 - 2024. All rights reserved.