问题描述
嗨,我有一个包含文本的数据框列。我想使用 fasttext 模型从中进行预测。 我可以通过将 array of text 传递给 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
我也发现了一个有类似问题的 post,但仍然出现同样的错误。
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
解决方法
在给出model.predict(name_list)之前,尝试给出一个for循环:
for item in name_list:
item = item.replace("\n"," ")
model.predict(item)