Downloads · 30 days
9
5% of all-time downloads
Dmitry43243242/icd10-ru-subgroup-e
icd10-ru-subgroup-e is a text classification model from Dmitry43243242. Use it when you need a label for a piece of text. The card lists the license as apache-2.0.
Multi-label classifier over 3-character ICD-10 subgroups inside chapter E. This specialist was distilled from local BERT teacher models into alexyalunin/RuBioBERT. Teacher weights are not uploaded to Hugging Face.
Downloads · 30 days
9
5% of all-time downloads
All-time downloads
168
Public
Parameters
178M
1.4 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors713 MB · 99%
From the Hugging Face model README
Multi-label classifier over 3-character ICD-10 subgroups inside chapter E.
This specialist was distilled from local BERT teacher models into alexyalunin/RuBioBERT. Teacher weights are not uploaded to Hugging Face.
datasets/subgroups/group_E.csv7bd98fc0eea937b8edf1391e86ca15afd2aed5c98996951f822684805713ed0blabel_map.json.local_teacher_ensemble_knowledge_distillationalexyalunin/RuBioBERT0.8350.9['alexyalunin/RuBioRoBERTa', 'ai-forever/ruBert-base', 'DeepPavlov/rubert-base-cased']2.0, hard_loss_weight=0.5| metric | final specialist | teacher ensemble / fallback |
|---|---|---|
| macro_f1 | 0.6122 | 0.6805 |
| micro_f1 | 0.5606 | 0.6541 |
| weighted_f1 | 0.5830 | 0.6549 |
| subset_accuracy | 0.2965 | 0.4824 |
| hit@1 | 0.6482 | 0.6784 |
| hit@3 | 0.8241 | 0.8442 |
| recall@3 | 0.8147 | 0.8382 |
| mrr | 0.7516 | 0.7735 |
Full per-label breakdown is available in metrics.json.
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
repo = "Dmitry43243242/icd10-ru-subgroup-e"
tok = AutoTokenizer.from_pretrained(repo)
mdl = AutoModelForSequenceClassification.from_pretrained(repo)
mdl.eval()
text = "жалобы пациента..."
inp = tok(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
probs = torch.sigmoid(mdl(**inp).logits)[0]
preds = [mdl.config.id2label[i] for i, p in enumerate(probs.tolist()) if p >= 0.5]
top5 = sorted(
[(mdl.config.id2label[i], p) for i, p in enumerate(probs.tolist())],
key=lambda x: -x[1],
)[:5]
print(preds, top5)