基于FastText的文本分类 | Tian

LOADING

加载过慢请开启缓存 浏览器默认开启

基于FastText的文本分类

2023/12/12 文本分类模型

基于FastText的文本分类

数据集说明

数据大小

• 训练集:20万条样本,文件大小约839M

• 测试集:5万条样本,文件大小约210M

分类类别:14类

• {科技: 0, 股票: 1, 体育: 2, 娱乐: 3, 时政: 4, 社会: 5, 教育: 6, 财经: 7, 家居: 8, 游戏: 9, 房产: 10, 时尚: 11, 彩票: 12, 星座: 13}

匿名处理 • 将文本转换为与之对应的数字

FastText的使用

根据FastText要求准备训练集、验证集

• 一行一条样本 • 一行样本包含文本与标签

• 文本与标签使用制表符隔开

• 给标签加上"label"前缀

导入包、训练模型 • import fasttext • model = fasttext.train_supervised(input=“train.txt”)

保存模型、加载模型 • model.save_model(“model.bin”) • model.load_model(“model.bin”)

模型评估、测试推理 • model.test(input=“val.txt”) • model.predict(test_data)

图片

数据处理

执行data_process.py文件,具体步骤如下:

  1. 使用Pandas读取train.csv文件

  2. 对数据进行随机打散

  3. 给标签列“label”加上“label”前缀

  4. 抽取倒数500行作为验证集

  5. 使用Pandas将处理好的训练集与验证集保存为txt格式

    图片

    模型训练

    执行train.py文件,具体步骤如下:

    1. 导入fasttext库

    2. 使用fasttext.train_supervised()训练模型,并设置相应的参数

    3. 使用model.save_model()将训练好的模型保存起来

    4. 使用model.test()训练好的模型对验证集进行评估

    5. 计算F1值,并将所有的评估指标打印出来

      图片

    预测推理

    执行predict.py文件,具体步骤如下:

    1. 导入fasttext、Pandas库,使用fasttext加载训练好的模型,使用Pandas读取测试集

    2. 将预测集中文本列取出,并将数据格式转换为列表,然后调用model.predict()进行 预测

    3. 对预测结果进行处理,并将处理后的预测结果作为新的列添加至预测集中,列名 为“label_pre”

    4. 将预测结果写出到output路径中,文件名为“ predict.csv”

      图片

Thanks

载入天数...载入时分秒...
访问量 总访客