Skip to content
Back to skills

Doctor Rec Eval

ASecurity

This evaluation probes a model's ability to recommend specialist doctors for patients using implicit interaction data and limited demographic metadata. It specifically tests performance in both warm-start (seen patients) and cold-start (new patients) scenarios, emphasizing the model's capacity to handle popularity bias and recommend less popular specialists. Use when the user wants to benchmark on Doctor Recommendation Dataset, or asks about evaluating this task. Reports PS-nDCG@3.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythongoperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill doctor-rec-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Doctor Rec Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Doctor Rec Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-doctor-rec-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-doctor-rec-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: doctor-rec-eval
description: This evaluation probes a model's ability to recommend specialist doctors for patients using implicit interaction data and limited demographic metadata. It specifically tests performance in both warm-start (seen patients) and cold-start (new patients) scenarios, emphasizing the model's capacity to handle popularity bias and recommend less popular specialists. Use when the user wants to benchmark on Doctor Recommendation Dataset, or asks about evaluating this task. Reports PS-nDCG@3.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2308.11022
  bibtex_key: [REDACTED]
  confidence: high
---

# doctor-rec-eval

> Extreme Multilabel Classification for Specialist Doctor Recommendation with Implicit Feedback and Limited Patient Metadata — Valdeira et al. (2023) (arXiv:2308.11022, 2023)

## What this evaluates

This evaluation probes a model's ability to recommend specialist doctors for patients using implicit interaction data and limited demographic metadata. It specifically tests performance in both warm-start (seen patients) and cold-start (new patients) scenarios, emphasizing the model's capacity to handle popularity bias and recommend less popular specialists.

## Datasets

- **Doctor Recommendation Dataset** — total 2890042; splits: train (-1), test_seen (-1), test_new (-1)

## Metrics

- `PS-nDCG@3` **(primary)** — range: [0, 1]
  - Propensity-scored Normalized Discounted Cumulative Gain at rank 3. It weights the relevance of recommended doctors by inverse propensity scores to downweight popular doctors and emphasize tail labels, normalized by the ideal DCG.

## Input / output format

**Input**: Patient demographic and interaction history features (encoded as TF-IDF-like vectors), doctor attributes, and a patient-doctor interaction matrix. For baselines, the rating matrix R is provided; for the proposed XML model, patient and doctor feature matrices are concatenated.

**Output**: A ranked list of top-K specialist doctors (K=30 for the XML model; full ranked list for baselines).

## Scoring recipe

```python
def compute_ps_ndcg_at_k(predictions, gold, k=3, propensities=None):
    dcg = 0.0
    for i, pred in enumerate(predictions[:k]):
        if pred in gold:
            rel = 1.0
            if propensities:
                rel *= propensities.get(pred, 1.0)
            dcg += rel / math.log2(i + 2)
    ideal_rels = sorted([propensities.get(g, 1.0) for g in gold if g in predictions[:k]], reverse=True)
    idcg = sum(r / math.log2(i + 2) for i, r in enumerate(ideal_rels))
    return dcg / idcg if idcg > 0 else 0.0
```

## Common pitfalls

- Ignoring propensity scoring leads to severe popularity bias, as models will only recommend already well-known doctors with shorter wait times.
- XML models only output top-K predictions (K=30); comparing them fairly requires filtering out patients who do not receive at least 3 predictions per specialization.
- Cold-start (new patient) evaluation requires a specific feature scenario (S4) that excludes hospital features unavailable for unseen users, unlike the warm-start scenario (S5).

## Evidence (verbatim from paper)

> We employ standard ranking metrics for the evaluation of RS and XML, namely Normalized Discounted Cumulative Gain@K (nDCG@K) Yan et al. ([2020]), Precision@K (P@K) Peito and Han ([2021]), and Recall@K Deng and Huangfu ([2019]). Additionally, we incorporate their propensity-scored counterparts of the first two (PSnDCG@K and PSP@K, respectively), which account for label popularity Bhatia et al. ([2016]). That is, they prevent a good performance at the cost of predicting head labels and put emphasis on tail labels. In our setting, this is crucial as popular doctors are often already well-known to patients and may have longer waiting times. Thus, accurately recommending less popular doctors becomes highly relevant. Here, we represent PSnDCG@3 and Recall@10, but the remaining metrics lead to similar conclusions and can be found in the Supplementary Material.

## Citation

```bibtex
@misc{valdeira2023extreme,
  title={Extreme Multilabel Classification for Specialist Doctor Recommendation with Implicit Feedback and Limited Patient Metadata},
  author={Valdeira et al. (2023)},
  year={2023},
  note={arXiv:2308.11022}
}
```

- arXiv: 2308.11022

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.