🚀 roberta-base_stress_classification
本模型是基于100000名员工在Glassdoor数据集上的评论,对 roberta-base 进行微调后的版本。它能够对文本进行压力分类,判断文本所描述的情境是否会让人产生压力,在实际应用中具有较高的准确性和实用性。
🚀 快速开始
本模型是 roberta-base 在Glassdoor数据集上的微调版本,该数据集基于100000名员工的评论。它在评估集上取得了以下成绩:
- 损失率:0.1800
- 准确率:0.9647
- F1值:0.9647
- 精确率:0.9647
- 召回率:0.9647
✨ 主要特性
- 多指标评估:使用准确率、F1值、精确率和召回率等多个指标进行评估,全面衡量模型性能。
- 数据分类明确:训练数据清晰地分为“无压力”和“有压力”两类。
- 良好的性能表现:在评估集和训练过程中都展现出了较高的准确率和F1值。
📦 安装指南
文档未提及安装步骤,暂不提供。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline
tokenizer = AutoTokenizer.from_pretrained("dstefa/roberta-base_topic_classification_nyt_news")
model = AutoModelForSequenceClassification.from_pretrained("dstefa/roberta-base_topic_classification_nyt_news")
pipe = pipeline("text-classification", model=model, tokenizer=tokenizer, device=0)
text = "They also caused so much stress because some leaders valued optics over output."
pipe(text)
[{'label': 'Stressed', 'score': 0.9959163069725037}]
📚 详细文档
训练数据
训练数据分类如下:
训练过程
训练超参数
训练过程中使用了以下超参数:
- 学习率:5e - 05
- 训练批次大小:8
- 评估批次大小:8
- 随机种子:42
- 优化器:Adam(β1 = 0.9,β2 = 0.999,ε = 1e - 08)
- 学习率调度器类型:线性
- 学习率调度器热身步数:500
- 训练轮数:5
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
准确率 |
F1值 |
精确率 |
召回率 |
0.704 |
1.0 |
8000 |
0.6933 |
0.5 |
0.3333 |
0.25 |
0.5 |
0.6926 |
2.0 |
16000 |
0.6980 |
0.5 |
0.3333 |
0.25 |
0.5 |
0.0099 |
3.0 |
24000 |
0.1800 |
0.9647 |
0.9647 |
0.9647 |
0.9647 |
0.2727 |
4.0 |
32000 |
0.2243 |
0.9526 |
0.9526 |
0.9527 |
0.9526 |
0.0618 |
5.0 |
40000 |
0.2128 |
0.9536 |
0.9536 |
0.9546 |
0.9536 |
模型性能
|
精确率 |
召回率 |
F1值 |
样本数 |
无压力 |
0.96 |
0.97 |
0.97 |
10000 |
有压力 |
0.97 |
0.96 |
0.97 |
10000 |
|
|
|
|
|
准确率 |
|
|
0.97 |
20000 |
宏平均 |
0.97 |
0.97 |
0.97 |
20000 |
加权平均 |
0.97 |
0.97 |
0.97 |
20000 |
框架版本
- Transformers 4.32.1
- Pytorch 2.1.0+cu121
- Datasets 2.12.0
- Tokenizers 0.13.2
🔧 技术细节
本模型基于RoBERTa-base进行微调,在Glassdoor数据集上进行训练。通过调整一系列超参数,如学习率、批次大小等,使得模型在压力分类任务上取得了较好的效果。在训练过程中,使用了Adam优化器和线性学习率调度器,并设置了热身步数来稳定训练过程。
📄 许可证
本项目采用MIT许可证。