Datawhale_day4

import pandas as pd
import fasttext
import os
from sklearn.metrics import f1_score

# 转换为fasttext需要的形式
data_set = os.path.join(os.getcwd(), "数据集\\train_set.csv\\train_set.csv")
train_df = pd.read_csv(data_set, sep='\t', nrows=15000)
train_df['label_ft'] = '__label__' + train_df['label'].astype(str)  # 打标签
train_df[['text', 'label_ft']].iloc[:-5000].to_csv('train.csv', index=None, header=None, sep='\t')  # 创建训练集

model = fasttext.train_supervised('train.csv', lr=1.0, wordNgrams=2,
                                  verbose=2, minCount=1, epoch=25, loss="hs")  # 模型训练

val_pred = [model.predict(x)[0][0].split('__')[-1] for x in train_df.iloc[-5000:]['text']]  # 选取最后5000条数据作为验证集进行验证
print(f1_score(train_df['label'].values[-5000:].astype(str), val_pred, average='macro'))  # 计算F1值

猜你喜欢

转载自blog.csdn.net/qq_38890412/article/details/107612217