| { |
| "baseline": { |
| "model": "heuristic_baseline", |
| "ndcg@5": 0.18189125891310798, |
| "ndcg@10": 0.2641219219577072, |
| "ndcg@20": 0.32963659237539206, |
| "recall@10": 0.4383825944170772, |
| "recall@50": 1.0, |
| "hr@10": 0.6637931034482759, |
| "mrr": 0.2905534769818196 |
| }, |
| "lightgbm": { |
| "model": "lightgbm_lambdarank", |
| "ndcg@5": 0.82504965385178, |
| "ndcg@10": 0.8790762605788959, |
| "ndcg@20": 0.8857419436726258, |
| "recall@10": 0.9825328407224959, |
| "recall@50": 1.0, |
| "hr@10": 1.0, |
| "mrr": 0.879488232074439 |
| }, |
| "comparison": { |
| "ndcg@5": { |
| "heuristic": 0.1819, |
| "lightgbm": 0.825, |
| "delta": 0.6432, |
| "pct_improvement": 353.59 |
| }, |
| "ndcg@10": { |
| "heuristic": 0.2641, |
| "lightgbm": 0.8791, |
| "delta": 0.615, |
| "pct_improvement": 232.83 |
| }, |
| "ndcg@20": { |
| "heuristic": 0.3296, |
| "lightgbm": 0.8857, |
| "delta": 0.5561, |
| "pct_improvement": 168.7 |
| }, |
| "recall@10": { |
| "heuristic": 0.4384, |
| "lightgbm": 0.9825, |
| "delta": 0.5442, |
| "pct_improvement": 124.13 |
| }, |
| "recall@50": { |
| "heuristic": 1.0, |
| "lightgbm": 1.0, |
| "delta": 0.0, |
| "pct_improvement": 0.0 |
| }, |
| "hr@10": { |
| "heuristic": 0.6638, |
| "lightgbm": 1.0, |
| "delta": 0.3362, |
| "pct_improvement": 50.65 |
| }, |
| "mrr": { |
| "heuristic": 0.2906, |
| "lightgbm": 0.8795, |
| "delta": 0.5889, |
| "pct_improvement": 202.69 |
| } |
| }, |
| "training": { |
| "num_boost_round": 500, |
| "best_iteration": 141, |
| "training_time_seconds": 438.3, |
| "train_rows": 90993, |
| "train_queries": 1857, |
| "eval_rows": 7007, |
| "eval_queries": 143, |
| "params": { |
| "objective": "lambdarank", |
| "metric": "ndcg", |
| "eval_at": [ |
| 5, |
| 10, |
| 20 |
| ], |
| "num_leaves": 63, |
| "learning_rate": 0.05, |
| "min_data_in_leaf": 50, |
| "feature_fraction": 0.8, |
| "bagging_fraction": 0.8, |
| "bagging_freq": 5, |
| "lambdarank_truncation_level": 20, |
| "verbose": 1, |
| "seed": 42, |
| "num_threads": 16 |
| } |
| }, |
| "latency": { |
| "candidates": 100, |
| "per_call_ms": 0.371, |
| "target_ms": 1.0, |
| "pass": true |
| }, |
| "feature_importance": [ |
| { |
| "feature": "candidate_num_cited_by", |
| "importance": 75202.76596653461 |
| }, |
| { |
| "feature": "age_ratio", |
| "importance": 7596.793288946152 |
| }, |
| { |
| "feature": "candidate_position", |
| "importance": 6764.516093611717 |
| }, |
| { |
| "feature": "cosine_x_citations", |
| "importance": 2383.0548932552338 |
| }, |
| { |
| "feature": "qdrant_cosine_score", |
| "importance": 2352.823166191578 |
| }, |
| { |
| "feature": "candidate_citation_count", |
| "importance": 2041.6424934267998 |
| }, |
| { |
| "feature": "citation_count_ratio", |
| "importance": 2001.2503576278687 |
| }, |
| { |
| "feature": "query_age_days", |
| "importance": 1749.186391532421 |
| }, |
| { |
| "feature": "query_num_references", |
| "importance": 1726.2534816265106 |
| }, |
| { |
| "feature": "candidate_citations_per_year", |
| "importance": 1633.2916722893715 |
| }, |
| { |
| "feature": "candidate_influential_citations", |
| "importance": 1563.8026618361473 |
| }, |
| { |
| "feature": "query_citation_count", |
| "importance": 1290.2721555233002 |
| }, |
| { |
| "feature": "category_x_recency", |
| "importance": 1187.7681130766869 |
| }, |
| { |
| "feature": "citations_x_recency", |
| "importance": 1143.2343423366547 |
| }, |
| { |
| "feature": "position_inverse", |
| "importance": 1107.6220703125 |
| }, |
| { |
| "feature": "cosine_x_recency", |
| "importance": 823.2756890654564 |
| }, |
| { |
| "feature": "shared_author_count", |
| "importance": 791.4225223064423 |
| }, |
| { |
| "feature": "candidate_age_days", |
| "importance": 763.275697529316 |
| }, |
| { |
| "feature": "candidate_is_newer", |
| "importance": 761.230022072792 |
| }, |
| { |
| "feature": "year_diff", |
| "importance": 618.8730190396309 |
| }, |
| { |
| "feature": "candidate_recency_score", |
| "importance": 584.2375701665878 |
| }, |
| { |
| "feature": "cosine_x_cocitation", |
| "importance": 558.3581310510635 |
| }, |
| { |
| "feature": "co_citation_count", |
| "importance": 401.8176366686821 |
| }, |
| { |
| "feature": "candidate_log_citations", |
| "importance": 295.0608749985695 |
| }, |
| { |
| "feature": "query_log_citations", |
| "importance": 219.8663707971573 |
| }, |
| { |
| "feature": "same_primary_category", |
| "importance": 186.0732226371765 |
| }, |
| { |
| "feature": "ewma_longterm_similarity", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "ewma_shortterm_similarity", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "ewma_negative_similarity", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "cluster_importance", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "cluster_distance_to_medoid", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "is_suppressed_category", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "onboarding_category_match", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "user_total_saves", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "user_total_dismissals", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "user_days_since_last_save", |
| "importance": 0.0 |
| }, |
| { |
| "feature": "user_session_save_count", |
| "importance": 0.0 |
| } |
| ] |
| } |