首页 > 解决方案 > fasttext 错误:预测一次处理一行(删除 '\n')

问题描述

您好我有一个数据框列包含文本。我想使用 fasttext 模型从中进行预测。我可以通过将文本数组传递给 fasttext 模型来实现这一点。

import fasttext
d = {'id':[1, 2, 3], 'name':['a', 'b', 'c']}
df = pd.DataFrame(data=d)

我从系列中删除了 '\n'

name_list = df['name'].tolist()
name_list = [name.strip() for name in name_list]

并做出预测model.predict(name_list)

然而,我得到了ValueError: predict processes one line at a time (remove '\n')

我在列表中没有 '\n' 并'\n' in name_list返回False

我还发现了一个类似问题的帖子,但仍然遇到同样的错误。

predictions=[]
for line in df['name']:
    pred_label=model.predict(line, k=-1, threshold=0.5)[0][0]
    predictions.append(pred_label)
df['prediction']=predictions

标签: pandasfasttext

解决方案


在给出 model.predict(name_list) 之前,尝试给出一个 for 循环:

for item in name_list:
   item = item.replace("\n"," ")
   model.predict(item)

推荐阅读