()
| 142 | |
| 143 | |
| 144 | def generate_ranking_model() -> None: |
| 145 | print("Learning to Rank") |
| 146 | X, y, qid, w = make_ltr( |
| 147 | n_samples=kRows, n_features=kCols, n_query_groups=7, max_rel=3 |
| 148 | ) |
| 149 | |
| 150 | data = xgboost.DMatrix(X, y, weight=w, qid=qid) |
| 151 | booster = xgboost.train( |
| 152 | { |
| 153 | "objective": "rank:ndcg", |
| 154 | "num_parallel_tree": kForests, |
| 155 | "tree_method": "hist", |
| 156 | "max_depth": kMaxDepth, |
| 157 | "base_score": 0.5, |
| 158 | }, |
| 159 | num_boost_round=kRounds, |
| 160 | dtrain=data, |
| 161 | ) |
| 162 | booster.save_model(booster_ubj("ltr")) |
| 163 | booster.save_model(booster_json("ltr")) |
| 164 | |
| 165 | ranker = xgboost.sklearn.XGBRanker( |
| 166 | n_estimators=kRounds, |
| 167 | tree_method="hist", |
| 168 | objective="rank:ndcg", |
| 169 | max_depth=kMaxDepth, |
| 170 | num_parallel_tree=kForests, |
| 171 | base_score=0.5, |
| 172 | ) |
| 173 | ranker.fit(X, y, qid=qid, sample_weight=w) |
| 174 | ranker.save_model(skl_ubj("ltr")) |
| 175 | ranker.save_model(skl_json("ltr")) |
| 176 | |
| 177 | |
| 178 | def generate_aft_survival_models() -> None: |
no test coverage detected