You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

AutoML-Rank.md 8.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. # AutoML - Rank
  2. ### A simple learning-to-rank example
  3. ```python
  4. from sklearn.datasets import fetch_openml
  5. from flaml import AutoML
  6. X_train, y_train = fetch_openml(name="credit-g", return_X_y=True, as_frame=False)
  7. y_train = y_train.cat.codes
  8. # not a real learning to rank dataaset
  9. groups = [200] * 4 + [100] * 2 # group counts
  10. automl = AutoML()
  11. automl.fit(
  12. X_train, y_train, groups=groups,
  13. task='rank', time_budget=10, # in seconds
  14. )
  15. ```
  16. #### Sample output
  17. ```
  18. [flaml.automl: 11-15 07:14:30] {1485} INFO - Data split method: group
  19. [flaml.automl: 11-15 07:14:30] {1489} INFO - Evaluation method: holdout
  20. [flaml.automl: 11-15 07:14:30] {1540} INFO - Minimizing error metric: 1-ndcg
  21. [flaml.automl: 11-15 07:14:30] {1577} INFO - List of ML learners in AutoML Run: ['lgbm', 'xgboost']
  22. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 0, current learner lgbm
  23. [flaml.automl: 11-15 07:14:30] {1944} INFO - Estimated sufficient time budget=679s. Estimated necessary time budget=1s.
  24. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.1s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  25. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 1, current learner lgbm
  26. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.1s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  27. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 2, current learner lgbm
  28. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.2s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  29. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 3, current learner lgbm
  30. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.2s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  31. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 4, current learner xgboost
  32. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.2s, estimator xgboost's best error=0.0315, best estimator lgbm's best error=0.0248
  33. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 5, current learner xgboost
  34. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.2s, estimator xgboost's best error=0.0315, best estimator lgbm's best error=0.0248
  35. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 6, current learner lgbm
  36. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.3s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  37. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 7, current learner lgbm
  38. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.3s, estimator lgbm's best error=0.0248, best estimator lgbm's best error=0.0248
  39. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 8, current learner xgboost
  40. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0315, best estimator lgbm's best error=0.0248
  41. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 9, current learner xgboost
  42. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0315, best estimator lgbm's best error=0.0248
  43. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 10, current learner xgboost
  44. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0233, best estimator xgboost's best error=0.0233
  45. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 11, current learner xgboost
  46. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0233, best estimator xgboost's best error=0.0233
  47. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 12, current learner xgboost
  48. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0233, best estimator xgboost's best error=0.0233
  49. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 13, current learner xgboost
  50. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.4s, estimator xgboost's best error=0.0233, best estimator xgboost's best error=0.0233
  51. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 14, current learner lgbm
  52. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.5s, estimator lgbm's best error=0.0225, best estimator lgbm's best error=0.0225
  53. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 15, current learner xgboost
  54. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.5s, estimator xgboost's best error=0.0233, best estimator lgbm's best error=0.0225
  55. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 16, current learner lgbm
  56. [flaml.automl: 11-15 07:14:30] {2029} INFO - at 0.5s, estimator lgbm's best error=0.0225, best estimator lgbm's best error=0.0225
  57. [flaml.automl: 11-15 07:14:30] {1826} INFO - iteration 17, current learner lgbm
  58. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.5s, estimator lgbm's best error=0.0225, best estimator lgbm's best error=0.0225
  59. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 18, current learner lgbm
  60. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.6s, estimator lgbm's best error=0.0225, best estimator lgbm's best error=0.0225
  61. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 19, current learner lgbm
  62. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.6s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  63. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 20, current learner lgbm
  64. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.6s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  65. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 21, current learner lgbm
  66. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.7s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  67. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 22, current learner lgbm
  68. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.7s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  69. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 23, current learner lgbm
  70. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.8s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  71. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 24, current learner lgbm
  72. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.8s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  73. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 25, current learner lgbm
  74. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.8s, estimator lgbm's best error=0.0201, best estimator lgbm's best error=0.0201
  75. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 26, current learner lgbm
  76. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.9s, estimator lgbm's best error=0.0197, best estimator lgbm's best error=0.0197
  77. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 27, current learner lgbm
  78. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 0.9s, estimator lgbm's best error=0.0197, best estimator lgbm's best error=0.0197
  79. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 28, current learner lgbm
  80. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 1.0s, estimator lgbm's best error=0.0197, best estimator lgbm's best error=0.0197
  81. [flaml.automl: 11-15 07:14:31] {1826} INFO - iteration 29, current learner lgbm
  82. [flaml.automl: 11-15 07:14:31] {2029} INFO - at 1.0s, estimator lgbm's best error=0.0197, best estimator lgbm's best error=0.0197
  83. [flaml.automl: 11-15 07:14:31] {2242} INFO - retrain lgbm for 0.0s
  84. [flaml.automl: 11-15 07:14:31] {2247} INFO - retrained model: LGBMRanker(colsample_bytree=0.9852774042640857,
  85. learning_rate=0.034918421933217675, max_bin=1023,
  86. min_child_samples=22, n_estimators=6, num_leaves=23,
  87. reg_alpha=0.0009765625, reg_lambda=21.505295697527654, verbose=-1)
  88. [flaml.automl: 11-15 07:14:31] {1608} INFO - fit succeeded
  89. [flaml.automl: 11-15 07:14:31] {1610} INFO - Time taken to find the best model: 0.8846545219421387
  90. [flaml.automl: 11-15 07:14:31] {1624} WARNING - Time taken to find the best model is 88% of the provided time budget and not all estimators' hyperparameter search converged. Consider increasing the time budget.
  91. ```