DNA序列转化为特征

DNA sequence into feature

我有一个包含 DNA 序列的数据集,我想将它们转换成数字表示形式。如本文档所示:

我相信你指的过程是 one-hot encoding. You'll first want to transform your DNA sequence into a sequence of 3bp words using a sliding window of width 3. see here: Generate a list of strings with a sliding window using itertools, yield, and iter() in Python 2.7.1?

所以你应该有类似 DNA 列表的东西 "words"(例如 ['aaa', 'tgc'])然后你需要将每个单词转换成一个向量。一种方法是创建一个字典,其中的键对应于所有可能的单词和具有单热表示的值。然后,您可以使用列表理解和字典查找将每个单词简单地转换为其对应的向量。这可能不是最有效的方法,但这是一个开始。 sklearn 有 OneHotEncoder,但它只适用于整数。

另见 https://machinelearningmastery.com/how-to-one-hot-encode-sequence-data-in-python/