1. 28 Dec, 2022 1 commit
    • Yifei Liu's avatar
      Decouple Boosting Types (fixes #3128) (#4827) · fffd066c
      Yifei Liu authored
      
      
      * add parameter data_sample_strategy
      
      * abstract GOSS as a sample strategy(GOSS1), togetherwith origial GOSS (Normal Bagging has not been abstracted, so do NOT use it now)
      
      * abstract Bagging as a subclass (BAGGING), but original Bagging members in GBDT are still kept
      
      * fix some variables
      
      * remove GOSS(as boost) and Bagging logic in GBDT
      
      * rename GOSS1 to GOSS(as sample strategy)
      
      * add warning about use GOSS as boosting_type
      
      * a little ; bug
      
      * remove CHECK when "gradients != nullptr"
      
      * rename DataSampleStrategy to avoid confusion
      
      * remove and add some ccomments, followingconvention
      
      * fix bug about GBDT::ResetConfig (ObjectiveFunction inconsistencty bet…
      
      * add std::ignore to avoid compiler warnings (anpotential fails)
      
      * update Makevars and vcxproj
      
      * handle constant hessian
      
      move resize of gradient vectors out of sample strategy
      
      * mark override for IsHessianChange
      
      * fix lint errors
      
      * rerun parameter_generator.py
      
      * update config_auto.cpp
      
      * delete redundant blank line
      
      * update num_data_ when train_data_ is updated
      
      set gradients and hessians when GOSS
      
      * check bagging_freq is not zero
      
      * reset config_ value
      
      merge ResetBaggingConfig and ResetGOSS
      
      * remove useless check
      
      * add ttests in test_engine.py
      
      * remove whitespace in blank line
      
      * remove arguments verbose_eval and evals_result
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      reduce num_boost_round
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/boosting/sample_strategy.cpp
      
      modify warning about setting goss as `boosting_type`
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update tests/python_package_test/test_engine.py
      
      replace load_boston() with make_regression()
      
      remove value checks of mean_squared_error in test_sample_strategy_with_boosting()
      
      * Update tests/python_package_test/test_engine.py
      
      add value checks of mean_squared_error in test_sample_strategy_with_boosting()
      
      * Modify warnning about using goss as boosting type
      
      * Update tests/python_package_test/test_engine.py
      
      add random_state=42 for make_regression()
      
      reduce the threshold of mean_square_error
      
      * Update src/boosting/sample_strategy.cpp
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * remove goss from boosting types in documentation
      
      * Update src/boosting/bagging.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/bagging.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/goss.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/boosting/goss.hpp
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * rename GOSS with GOSSStrategy
      
      * update doc
      
      * address comments
      
      * fix table in doc
      
      * Update include/LightGBM/config.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * update documentation
      
      * update test case
      
      * revert useless change in test_engine.py
      
      * add tests for evaluation results in test_sample_strategy_with_boosting
      
      * include <string>
      
      * change to assert_allclose in test_goss_boosting_and_strategy_equivalent
      
      * more tolerance in result checking, due to minor difference in results of gpu versions
      
      * change == to np.testing.assert_allclose
      
      * fix test case
      
      * set gpu_use_dp to true
      
      * change --report to --report-level for rstcheck
      
      * use gpu_use_dp=true in test_goss_boosting_and_strategy_equivalent
      
      * revert unexpected changes of non-ascii characters
      
      * revert unexpected changes of non-ascii characters
      
      * remove useless changes
      
      * allocate gradients_pointer_ and hessians_pointer when necessary
      
      * add spaces
      
      * remove redundant virtual
      
      * include <LightGBM/utils/log.h> for USE_CUDA
      
      * check for  in test_goss_boosting_and_strategy_equivalent
      
      * check for identity in test_sample_strategy_with_boosting
      
      * remove cuda  option in test_sample_strategy_with_boosting
      
      * Update tests/python_package_test/test_engine.py
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update tests/python_package_test/test_engine.py
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * ResetGradientBuffers after ResetSampleConfig
      
      * ResetGradientBuffers after ResetSampleConfig
      
      * ResetGradientBuffers after bagging
      
      * remove useless code
      
      * check objective_function_ instead of gradients
      
      * enable rf with goss
      
      simplify params in test cases
      
      * remove useless changes
      
      * allow rf with feature subsampling alone
      
      * change position of ResetGradientBuffers
      
      * check for dask
      
      * add parameter types for data_sample_strategy
      Co-authored-by: default avatarGuangda Liu <v-guangdaliu@microsoft.com>
      Co-authored-by: default avatarYu Shi <shiyu_k1994@qq.com>
      Co-authored-by: default avatarGuangdaLiu <90019144+GuangdaLiu@users.noreply.github.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      fffd066c
  2. 27 Dec, 2022 1 commit
    • shiyu1994's avatar
      [CUDA] Add L2 metric for new CUDA version (#5633) · 6482b47e
      shiyu1994 authored
      * add rmse metric for new cuda version
      
      * add Init for CUDAMetricInterface
      
      * fix lint errors
      
      * fix rmse and add l2 metric for new cuda version
      
      * use CUDAL2Metric
      
      * explicit template instantiation
      
      * write result only with the first thread
      
      * pre allocate buffer for output converting
      
      * fix l2 regression with cuda metric evaluation
      
      * weighting loss in cuda metric evaluation
      
      * mark CUDATree::AsConstantTree as override
      6482b47e
  3. 02 Dec, 2022 1 commit
  4. 29 Nov, 2022 1 commit
  5. 27 Nov, 2022 1 commit
    • shiyu1994's avatar
      [CUDA] Add Poisson regression objective for cuda_exp and refactor objective... · 24af9fa5
      shiyu1994 authored
      
      [CUDA] Add Poisson regression objective for cuda_exp and refactor objective functions for cuda_exp (#5486)
      
      * add poisson regression objective for cuda_exp
      
      * enable Poisson regression for cuda_exp
      
      * refactor cuda objective functions
      
      * remove useless changes
      
      * fix linter errors
      
      * remove redundant buffer in cuda poisson regression objective
      
      * fix log of cuda_exp binary objective
      
      * fix threshold of poisson objective result
      
      * remove useless changes
      
      * fix compilation errors
      
      * add cuda quantile regression objective
      
      * remove cuda quantile regression objective
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      24af9fa5
  6. 06 Nov, 2022 1 commit
  7. 11 Oct, 2022 4 commits
  8. 11 Sep, 2022 1 commit
  9. 09 Sep, 2022 1 commit
  10. 07 Sep, 2022 3 commits
  11. 06 Sep, 2022 1 commit
  12. 05 Sep, 2022 2 commits
  13. 02 Sep, 2022 2 commits
  14. 01 Sep, 2022 1 commit
  15. 31 Aug, 2022 2 commits
    • shiyu1994's avatar
      [CUDA] L2 regression objective for cuda_exp (#5452) · 9e89ee7f
      shiyu1994 authored
      * add (l2) regression objective for cuda_exp
      
      * fix lint errors
      
      * correct time tag
      9e89ee7f
    • shiyu1994's avatar
      [CUDA] Add binary objective for cuda_exp (#5425) · 2b8fe8b4
      shiyu1994 authored
      * add binary objective for cuda_exp
      
      * include <string> and <vector>
      
      * exchange include ordering
      
      * fix length of score to copy in evaluation
      
      * fix EvalOneMetric
      
      * fix cuda binary objective and prediction when boosting on gpu
      
      * Add white space
      
      * fix BoostFromScore for CUDABinaryLogloss
      
      update log in test_register_logger
      
      * include <algorithm>
      
      * simplify shared memory buffer
      2b8fe8b4
  16. 29 Aug, 2022 1 commit
  17. 28 Aug, 2022 1 commit
  18. 25 Aug, 2022 1 commit
  19. 20 Aug, 2022 1 commit
  20. 16 Aug, 2022 1 commit
  21. 10 Aug, 2022 1 commit
    • Scott Votaw's avatar
      feature: Add true streaming APIs to reduce client-side memory usage (#5299) · 0a5c5838
      Scott Votaw authored
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * linting fixes
      
      * fix cast warning
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * added mutex and adjusted nclasses logic
      
      * Fix thread-safety for pushing data to sparse bins through Push APIs
      
      * lint and doc fixes
      
      * Small SWIG fix
      
      * nit fix
      
      * Responded to StrikerRUS comments
      
      * fix breaking change after merge with master
      
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * Fix rstcheck call in ci
      
      * remove TODOs
      
      * Extract streaming to own PR
      
      * small merge fixes and cleanup
      
      * Fix accidental deletion during branch transfer
      
      * responded to initial triage comments
      
      * Added more tests to use create-from-samples APIs
      
      * Small SWIG fix
      
      * remove ci change
      
      * responded to shiyu1994 comments
      
      * responded to StrikerRUS comments
      
      * Fixes from StrikerRUS comments
      0a5c5838
  22. 03 Aug, 2022 2 commits
  23. 30 Jul, 2022 1 commit
  24. 29 Jul, 2022 2 commits
  25. 21 Jul, 2022 1 commit
  26. 27 Jun, 2022 1 commit
    • José Morales's avatar
      [python-package] check feature names in predict with dataframe (fixes #812) (#4909) · bdb02e05
      José Morales authored
      
      
      * check feature names and order in predict with dataframe
      
      * slice df in predict to remove the target
      
      * scramble features
      
      * handle int column names
      
      * only change column order when needed
      
      * include validate_features param in booster and sklearn estimators
      
      * document validate_features argument
      
      * use all_close in preds checks and check for assertion error to compare different arrays
      
      * perform remapping and checks in cpp
      
      * remove extra logs
      
      * fixes
      
      * revert cpp
      
      * proposal
      
      * remove extra arg
      
      * lint
      
      * restore _data_from_pandas arguments
      
      * Apply suggestions from code review
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * move data conversion to Predictor.predict
      
      * use Vector2Ptr
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      bdb02e05
  27. 08 Jun, 2022 1 commit
    • shiyu1994's avatar
      Clear split info buffer in cost efficient gradient boosting before every... · f1328d5c
      shiyu1994 authored
      Clear split info buffer in cost efficient gradient boosting before every iteration (fix partially #3679) (#5164)
      
      * clear split info buffer in cegb_ before every iteration
      
      * check nullable of cegb_ in serial_tree_learner.cpp
      
      * add a test case for checking the split buffer in CEGB
      
      * swith to Threading::For instead of raw OpenMP
      
      * apply review suggestions
      
      * apply review comments
      
      * remove device cpu
      f1328d5c
  28. 02 Jun, 2022 1 commit
  29. 29 May, 2022 1 commit
  30. 23 May, 2022 1 commit