RecallGain metric
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- machine-learning
Rechercherichtung
The issue proposes changes to metric calculation and cross validation, but names no files, tests, or entry points. Start by locating the existing metric implementations and the calc_metrics and cross_validate APIs. Done means RecallGain works for a single reference model and multiple reference models, with the proposed per-user and cross-validation behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Feature Description
Given test interactions, we can exclude all Positives that would have been recommended by the reference model (e.g. popular model). After that we can calculate Recall as usual. Resulting metrics is interpreted as a gain to overall Recall which is achieved by the new algorithm in comparison with the reference algorithm.
Why this feature?
Useful for both candidate-generators selection and simple validation protocol in case of strong popularity bias in data (e.g. calculating RecallGain from a Popular model).
Additional context
recall_gain = RecallGain(k=10, k_ref=20)
# one metric
value = recall_gain.calc(reco=recos, ref_recos=ref_recos)
per_user = recall_gain.calc_per_user(reco=recos, ref_recos=ref_recos)
# calc_metrics
calc_metrics(
metrics = {"precision": precision, "intersecton": intersecton, "recall_gain": recall_gain},
reco=recos,
interactions=df_test,
ref_recos: Union[pd.Datafame, Dict[Hashable, pd.DataFrame]]=ref_recos
)
# here we can pass multiple models with:
ref_recos = {"one": ref_recos_one, "two": ref_recos_two}
# result dict will have `intersecton_one`, `intersecton_two`, `recall_gain_one`, `recall_gain_two` as keys
# cross_validate
cv_results = cross_validate(
dataset=dataset,
splitter=splitter,
models=models,
metrics=metrics,
k=10,
filter_viewed=True,
ref_models=["one", "two"], # just selecting keys from `models` argument
validate_ref_models=False # optionally exclude ref_models from other metrics
)
- Vorherrschende Sprache
- Python
- Sterne
- 457
- Forks
- 55
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus MTSWebServices/RecTools
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
MTSWebServices/RecTools#330 ·
-
Is it not possible to `load` transformer model on cpu onlyEvtl. vergeben @maxteneff hat das vor 22 Tagen übernommen. Offenbug good first issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
MTSWebServices/RecTools#286 · 3 Kommentare ·
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
MTSWebServices/RecTools#269 · 4 Kommentare ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
MTSWebServices/RecTools#249 ·
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
MTSWebServices/RecTools#243 ·
Alle Issues in MTSWebServices/RecTools
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
Maintainer antworten meist innerhalb von 7 Tagen
-
S9.7: Methodology pageOffenarea: web priority: P1 story
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
nfiasco/Quant-Time-Machine#151 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
autowarefoundation/autoware_carla_scenario#2019 ·
Maintainer antworten meist innerhalb von 1 Tag
-
docs pydanty:is-working
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
pydantic/pydantic-ai#12892 ·
Maintainer antworten meist innerhalb von 1 Tag