metadata
license: mit
language:
- pt
library_name: transformers
tags:
- text-classification
- binary-classification
- modernbert
- pytorch
- transformers
datasets:
- tcepi/prog_integridade_dataset
metrics:
- accuracy
- f1
- precision
- recall
- roc_auc
base_model: answerdotai/ModernBERT-base
pipeline_tag: text-classification
model-index:
- name: prog_integridade_model
results:
- task:
type: text-classification
name: Binary Text Classification
dataset:
name: tcepi/prog_integridade_dataset
type: tcepi/prog_integridade_dataset
split: test
metrics:
- name: Accuracy
type: accuracy
value: 0.9944
- name: F1
type: f1
value: 0.9944
- name: Precision
type: precision
value: 0.9944
- name: Recall
type: recall
value: 0.9944
- name: ROC-AUC
type: roc_auc
value: 0.9984
Programa de Integridade Classification Model
Este modelo é um fine-tune do ModernBERT-base para classificação binária, treinado no dataset tcepi/prog_integridade_dataset.
Descrição do Modelo
- Modelo Base: answerdotai/ModernBERT-base
- Tarefa: Classificação Binária de Texto
- Linguagem: Português (pt)
- Framework: PyTorch + Transformers
Métricas de Performance
Conjunto de Teste
| Métrica | Valor |
|---|---|
| Accuracy | 0.9944 |
| F1-Score | 0.9944 |
| Precision | 0.9944 |
| Recall | 0.9944 |
| ROC-AUC | 0.9984 |
| Specificity | 0.9905 |
Matriz de Confusão
| Predito Negativo | Predito Positivo | |
|---|---|---|
| Real Negativo | 522 (TN) | 5 (FP) |
| Real Positivo | 1 (FN) | 541 (TP) |
Relatório de Classificação
precision recall f1-score support
Negativo 0.9981 0.9905 0.9943 527
Positivo 0.9908 0.9982 0.9945 542
accuracy 0.9944 1069
macro avg 0.9945 0.9943 0.9944 1069
weighted avg 0.9944 0.9944 0.9944 1069
Uso
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Carregar modelo e tokenizer
tokenizer = AutoTokenizer.from_pretrained("tcepi/prog_integridade_model")
model = AutoModelForSequenceClassification.from_pretrained("tcepi/prog_integridade_model")
# Classificar texto
text = "Seu texto aqui"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=8192)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.softmax(outputs.logits, dim=-1)
predicted_class = torch.argmax(predictions, dim=-1).item()
print(f"Classe predita: {model.config.id2label[predicted_class]}")
print(f"Probabilidades: {predictions.tolist()}")
Treinamento
Hiperparâmetros
- Épocas: 10
- Learning Rate: 2e-5
- Batch Size: 8
- Weight Decay: 0.01
- Warmup Ratio: 0.1
- Mixed Precision: FP16
- Optimizer: AdamW
Informações de Treinamento
- Tempo Total: 2731.90 segundos
- Samples/segundo: 14.07
- Loss Final: 0.0701
Tabela de Métricas por Época
| epoch | eval_loss | eval_accuracy | eval_f1 | eval_roc_auc | eval_specificity |
|---|---|---|---|---|---|
| 1 | 0.188758 | 0.946262 | 0.946277 | 0.997855 | 0.985294 |
| 2 | 0.0218751 | 0.990654 | 0.990654 | 0.999912 | 0.990196 |
| 3 | 0.0222455 | 0.992991 | 0.992993 | 0.999869 | 1 |
| 4 | 0.0971301 | 0.983645 | 0.983653 | 0.999934 | 1 |
| 5 | 0.0337453 | 0.990654 | 0.990649 | 1 | 0.980392 |
| 6 | 0.0275761 | 0.997664 | 0.997664 | 0.999956 | 1 |
| 7 | 0.0167756 | 0.997664 | 0.997664 | 1 | 1 |
| 8 | 0.0292979 | 0.997664 | 0.997664 | 0.999912 | 1 |
| 9 | 0.0309485 | 0.997664 | 0.997664 | 0.999912 | 1 |
| 10 | 0.0248101 | 0.997664 | 0.997664 | 0.999956 | 1 |
Curvas de Treinamento
Loss curve
Métricas por Época
Dataset
O modelo foi treinado usando o dataset tcepi/prog_integridade_dataset.
Limitações
- O modelo foi treinado especificamente para o domínio do dataset Programa de Integridade, e pode não generalizar bem para outros tipos de texto ou domínios.
- Performance pode variar em textos de outros domínios
- Recomenda-se avaliar o modelo antes de usar em produção

