File size: 5,017 Bytes
a232563 ca5c1c2 a232563 ca5c1c2 8339f70 a232563 42a91a7 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 a232563 8339f70 a232563 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 8339f70 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 a232563 ca5c1c2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | ---
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](https://huggingface.co/answerdotai/ModernBERT-base) para classificação binária, treinado no dataset [tcepi/prog_integridade_dataset](https://huggingface.co/datasets/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
```python
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](https://huggingface.co/datasets/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
|