大佬教程收集整理的这篇文章主要介绍了如何计算相关性得分?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用来自 Json 文件的评论来计算相关性分数。每次我尝试运行我的代码时,它只会说“间接”输出。 我做错了什么?
我的代码如下:
import joblib,requests,Json,sklearn.metrics,sklearn.model_SELEction,sklearn.tree,time,math,textblob
import warnings
warnings.filterwarnings("ignore")
response = requests.get("https://appliance_revIEws.Json")
if response:
data = Json.loads(response.text)
unique = []
word = []
for line in data:
#print(linE)
revIEw = line["RevIEw"]
blob = textblob.TextBlob(revIEw)
for word in blob.words:
if word.lower() not in unique:
unique.append(word.lower())
for word in unique:
a = 0
b = 0
c = 0
d = 0
for line in data:
revIEw = line["RevIEw"]
safety = line["Safety hazard"]
if word in revIEw.lower() and safety == 1:
a += 1
if word in revIEw.lower() and safety == 0:
b += 1
if word in revIEw.lower() and safety == 1:
c += 1
if word in revIEw.lower() and safety == 0:
d += 1
try:
rel_score = (math.sqrt(a + b + c + d) * ((a + d) - (c * b))) / math.sqrt((a + b) * (c + d))
except:
rel_score = 0
if rel_score >= 4000:
score.append(word)
print(word)
word
只是当您在给定的最后一行代码上打印时 unique
中的最后一个条目,而不管其得分如何。您刚刚退出了 for
循环,其中 word
是迭代变量。
您确定不想打印 score
,它似乎是为了从 unique
中积累高分词吗?
我也认为你的得分被打破了。例如,作为编码,a
和 c
始终相等,b
和 d
也是如此。 “carpet”会影响“car”、“pet”和“carp”的得分。
正如 Prune 在评论中提到的,您对变量名称的乏味选择会使理解代码的目的变得困难。
以上是大佬教程为你收集整理的如何计算相关性得分?全部内容,希望文章能够帮你解决如何计算相关性得分?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。