Ошибка при печати предсказанной метки в FastText

#python #pandas #fasttext

#python #pandas #fasttext

Вопрос:

Я использую module.predict из FastText. Согласно документации, количество отображаемых меток должно быть указано k параметром. Однако в моем случае это не работает, и в результате я получаю только метку с наибольшей вероятностью. Вот мой код:

 import pandas as pd
import fasttext as ft

# here you load the csv into pandas dataframe
df=pd.read_csv('../input_data/data.csv')

# here you load your fasttext module
model=ft.load_model('../model/model.bin')

# line by line, you make the predictions and store them in a list
predictions=[]
for line in df['subject']:
    pred_label=model.predict(line, k=5, threshold=0.5) 
    predictions.append(pred_label)

# you add the list to the dataframe, then save the datframe to new csv
df[['prediction','value']]=predictions
print(df)
df.to_csv('csv_file_w_pred.csv',sep=',',index=False)
 

Что я делаю не так?

С уважением

Ответ №1:

Ваш порог равен 0,5. Только одна метка может быть выше этого одновременно, поскольку вероятности суммируются до 1.