使用 sklearn 学习向量化列表列表?
Vectorizing a list of lists with sklearn learn?
我正在尝试使用 sklearn 中的 CountVectorizer 和列表列表。
Lst=[['apple','peach','mango'],['apple','apple','mango']]
我希望输出 return 每个列表中的单词数。
例如:
0:apple:1
0:peach:1
0:mango:1
1:apple:2
1:peach:0
1:mango:1
或任何其他格式。
我发现这个 post 与我的相似,但答案不完整。
How should I vectorize the following list of lists with scikit learn?
感谢任何帮助。
试试这个,使用 Counter
>>> from collections import Counter
>>> lst=[['apple','peach','mango'],['apple','apple','mango']]
输出:
>>> {i:Counter(v) for i,v in enumerate(lst)}
{0: Counter({'apple': 1, 'peach': 1, 'mango': 1}),
1: Counter({'apple': 2, 'mango': 1})}
获得预期的格式(在列表中)
>>> [[i, obj, count] for i,v in enumerate(lst) for obj,count in Counter(v).items()]
[[0, 'apple', 1],
[0, 'peach', 1],
[0, 'mango', 1],
[1, 'apple', 2],
[1, 'mango', 1]]
我正在尝试使用 sklearn 中的 CountVectorizer 和列表列表。
Lst=[['apple','peach','mango'],['apple','apple','mango']]
我希望输出 return 每个列表中的单词数。 例如:
0:apple:1
0:peach:1
0:mango:1
1:apple:2
1:peach:0
1:mango:1
或任何其他格式。
我发现这个 post 与我的相似,但答案不完整。
How should I vectorize the following list of lists with scikit learn?
感谢任何帮助。
试试这个,使用 Counter
>>> from collections import Counter
>>> lst=[['apple','peach','mango'],['apple','apple','mango']]
输出:
>>> {i:Counter(v) for i,v in enumerate(lst)}
{0: Counter({'apple': 1, 'peach': 1, 'mango': 1}),
1: Counter({'apple': 2, 'mango': 1})}
获得预期的格式(在列表中)
>>> [[i, obj, count] for i,v in enumerate(lst) for obj,count in Counter(v).items()]
[[0, 'apple', 1],
[0, 'peach', 1],
[0, 'mango', 1],
[1, 'apple', 2],
[1, 'mango', 1]]