Python 为什么一个贝叶斯评价函数有效而另一个无效?我的观点也是如此,我必须知道原因
我不明白为什么第一个例子不起作用,第二个却起作用。它们都是相同的代码,很高兴知道为什么它不起作用,谢谢帮助Python 为什么一个贝叶斯评价函数有效而另一个无效?我的观点也是如此,我必须知道原因,python,file,machine-learning,Python,File,Machine Learning,我不明白为什么第一个例子不起作用,第二个却起作用。它们都是相同的代码,很高兴知道为什么它不起作用,谢谢帮助 def naive_bayes_eval(test_sms_file, f): Precision=1 est_spam =0 pas_spam =0 nbr_spam =0 for ligne in open(test_sms_file, 'r').readlines(): if("spam" in ligne):
def naive_bayes_eval(test_sms_file, f):
Precision=1
est_spam =0
pas_spam =0
nbr_spam =0
for ligne in open(test_sms_file, 'r').readlines():
if("spam" in ligne):
nbr_spam = nbr_spam + 1
if f(ligne.replace('spam',''))== 1:
est_spam=est_spam+1
if("ham" in ligne):
if( f(ligne.replace('ham',''))== 1):
pas_spam = pas_spam+1
recall = est_spam/nbr_spam;
if (est_spam + pas_spam)>0:
Precision = est_spam/(est_spam + pas_spam)
return(recall,Precision)
你是说第一个有效,而第二个无效
def naive_bayes_eval(test_sms_file, f):
...
f=open(test_sms_file, 'r')
这一行覆盖了
f
参数。您能澄清一下“不工作”是什么意思吗?是否存在错误、异常等。应该是相反的-第二行应该中断,因为您用文件覆盖了f
,从而中断了f(ligne.replace('spam','')
。。。
def naive_bayes_eval(test_sms_file, f):
...
f=open(test_sms_file, 'r')