回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想计算每个令牌的正/负文档频率。但是我的python脚本一直在运行早上好。可以你告诉我有什么问题吗?提前感谢。在</p>
<pre><code>import numpy as np
positive_feature=[[{'a':2,'b':1},1],
[{'b':2,'c':1},1]
]
negative_feature=[[{'e':2,'b':1},0]
]
alltokens=['a','b','c','e']
dic=dict((t,i) for i,t in enumerate(alltokens))
vacabulary_size=len(dic)
positive_doc_frequency,negative_doc_frequency=np.zeros(vacabulary_size), np.zeros(vacabulary_size)
for t in alltokens:
for x in positive_feature:
if t in x[0].keys():
positive_doc_frequency[dic[t]]+=1
for x in negative_feature:
if t in x[0].keys():
negative_doc_frequency[dic[t]]+=1
</code></pre>
<p>根据alltokens列表的元素顺序,我想正数/负数的频率如下:</p>
^{pr2}$
<p>但是python脚本现在仍然在运行(从早上8:00到下午4:00),对我的脚本有什么优化吗?再次感谢。在</p>
<p><strong>更新:</strong>
这个问题是误导性的,因为样本数据很差。我来纠正一下。在</p>
<p>输入:</p>
<pre><code>alltokens=['a','b','c','e']
positive_feature=[[{'a':aa,'b':bb},1],
[{'b':vv,'c':cc},1]
]
negative_feature=[[{'e':ee,'b':bb},0]
]
</code></pre>
<p>我想要的输出是:</p>
<pre><code>positive_doc_frequency=[1,2,1,0]
negative_doc_frequency=[0,1,0,1]
</code></pre>
<p>“1,u”出现在“1,u”列表中,1次出现正频率,1次出现。在</p>