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.3 kB

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