[英]vectorize a list of words by a vector of frequencies of the words
我正在嘗試使用朴素貝葉斯對消息進行分類。 現在,我有一個字符串列表a
這是我選擇的一些詞,它們對幫助分類消息具有重要意義。 現在,給定另一個表示消息中單詞集的字符串b
列表,我想通過計算 a 中每個字符串的頻率來向量化b
。 我的意思是例如a=["qqq","www","eee","rrr","ttt"]
和b=["aaa","sss","ddd","qqq","ttt"]
那么該方法應該為向量 b 返回[1,0,0,0,1]
。 我該怎么做?
這似乎有效:
>>> a=["qqq","www","eee","rrr","ttt"]
>>> b=["aaa","sss","ddd","qqq","ttt"]
>>> from collections import Counter
>>> c = Counter(b)
>>> [c[i] for i in a]
[1, 0, 0, 0, 1]
>>>
一種可能低效的方法是:
[b.count(x) for x in a]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.