如何为我的分类器创建二元特征向量

How do I create a binary feature vector for my classifier

我已经成功实现了 SVM 分类器。我没有使用 scikit 方法。我目前正在使用不同类型的数据对其进行训练。现在,我想针对单个文本输入对其进行测试。 我尝试使用 pandas 但后来我不得不改变我的方法所以我决定不使用它。 该分类器用于带有正面、负面和中性标签的情绪分析。提供给分类器的数据集由来自推特的推文组成。 这是我的分类器:https://pastebin.com/JZ5LVLW7

因此,我需要帮助在 python 中设计一个函数,该函数将接受字符串输入,将其与我的功能列表进行比较 并生成二进制向量。或者如果有其他选择,请提出建议。 示例:如果我的文本输入是 "Football is a popular sport in Europe" 因此,建议的函数将扫描特征列表(已经在测试数据的帮助下生成),如果特征词像 "football"、"popular"、"sport"、"Europe"存在于特征列表中,它将附加 1 或附加 0。因此,在扫描完函数后,输出应该类似于 [..., 1,0,1,1,0,0,0,... ].

用您感兴趣的单词和相同大小的热编码器创建一个词汇表。阅读文本文件,并更新热编码器,以防您在词汇表中找到单词。此代码应该有效。

vocabulary = ['Football', 'Europe'] # Put your targer words in here
hot_encoder = [0] * len(vocabulary)
binary_bag = dict(zip(vocabulary, hot_encoder))
with open('text.txt', 'r') as f: #Put your text sample in here
    words = [word for line in f for word in line.split()]
    for word in words:
        if word in vocabulary and binary_bag[word] == 0:
            binary_bag[word] = 1