如何为classifi创建二进制特征向量

2024-05-17 08:47:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我成功地实现了支持向量机分类器。我没有使用scikit方法。我目前正在用不同类型的数据训练它。现在,我想测试一个文本输入。 我试着用熊猫,但后来我不得不改变我的方法,所以我决定不使用它。 该分类器被用于情绪分析,有正面、负面和中性标签。输入分类器的数据集由来自twitter的tweets组成。 这是我的分类器:https://pastebin.com/JZ5LVLW7

因此,我需要在python中设计一个函数,它将接受一个字符串输入,将它与我的特性列表进行比较,生成一个二进制向量。或者,如果有其他选择,请务必建议。 示例:如果我的文本输入是“足球在欧洲是一项受欢迎的运动” 因此,所提出的函数将扫描特征列表(已经通过测试数据生成),如果特征列表中存在诸如“足球”、“流行”、“运动”、“欧洲”等特征词,则会附加1或0。因此,在扫描完函数之后,输出应该是[…,1,0,1,1,0,0,0,…]。在


Tags: 数据方法函数文本类型列表分类器特征
1条回答
网友
1楼 · 发布于 2024-05-17 08:47:24

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

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

相关问题 更多 >