1. 20 Jul, 2020 1 commit
  2. 19 Jul, 2020 1 commit
    • Joan Fontanals's avatar
      Change locking strategy of Booster, allow for share and unique locks (#2760) · 1c35c3b9
      Joan Fontanals authored
      
      
      * Add capability to get possible max and min values for a model
      
      * Change implementation to have return value in tree.cpp, change naming to upper and lower bound, move implementation to gdbt.cpp
      
      * Update include/LightGBM/c_api.h
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Change iteration to avoid potential overflow, add bindings to R and Python and a basic test
      
      * Adjust test values
      
      * Consider const correctness and multithreading protection
      
      * Put everything possible as const
      
      * Include shared_mutex, for now as unique_lock
      
      * Update test values
      
      * Put everything possible as const
      
      * Include shared_mutex, for now as unique_lock
      
      * Make PredictSingleRow const and share the lock with other reading threads
      
      * Update test values
      
      * Add test to check that model is exactly the same in all platforms
      
      * Try to parse the model to get the expected values
      
      * Try to parse the model to get the expected values
      
      * Fix implementation, num_leaves can be lower than the leaf_value_ size
      
      * Do not check for num_leaves to be smaller than actual size and get back to test with hardcoded value
      
      * Change test order
      
      * Add gpu_use_dp option in test
      
      * Remove helper test method
      
      * Remove TODO
      
      * Add preprocessing option to compile with c++17
      
      * Update python-package/setup.py
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Remove unwanted changes
      
      * Move option
      
      * Fix problems introduced by conflict fix
      
      * Avoid switching to c++17 and use yamc mutex library to access shared lock functionality
      
      * Add extra yamc include
      
      * Change header order
      
      * some lint fix
      
      * change include order and remove some extra blank lines
      
      * Further fix lint issues
      
      * Update c_api.cpp
      
      * Further fix lint issues
      
      * Move yamc include files to a new yamc folder
      
      * Use standard unique_lock
      
      * Update windows/LightGBM.vcxproj
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Update windows/LightGBM.vcxproj.filters
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Update windows/LightGBM.vcxproj.filters
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update windows/LightGBM.vcxproj.filters
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update windows/LightGBM.vcxproj.filters
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Fix problems coming from merge conflict resolution
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarjoanfontanals <jfontanals@ntent.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      1c35c3b9
  3. 16 Jul, 2020 1 commit
  4. 15 Jul, 2020 2 commits
    • Alberto Ferreira's avatar
      Feat/optimize single prediction (#2992) · fc79b366
      Alberto Ferreira authored
      * [performance] Add Fast methods to C API for SingleRow Predictions
      
       * Add methods to C API to make single-row predictions faster:
      
         - LGBM_BoosterPredictForMatSingleRowFastInit (setup)
         - LGBM_BoosterPredictForMatSingleRowFast (predict)
         - LGBM_FastConfigFree (cleanup setup outputs)
      
      * Code syle cleanup
      
      * Fix lint errors
      
      * [performance] Revert FastConfig improvement to pass data at init
      
      This reduces optimization by 5% / 30% with this branch but makes it so it can be used for higher level wrappers in MMLSpark.
      And outside it as well.
      
      * [performance] Introduce Fast variants for SingleRow predictors.
      
      Although this already provides performance gains by itself for any
      callers, two new functions were added to Java's SWIG interfaces to
      exploit that AND the GetPrimitiveArrayCritical data fetches.
      
      * [tests/profiling] Profile Fast predict methods
      
      Build with -DBUILD_PROFILING_TESTS=ON and copy the default
      model trained on the Higgs dataset from the benchmarks repo
      
       https://github.com/guolinke/boosting_tree_benchmarks.git
      
      
      
      to LightGBM repo root and run the lightgbm_profile_* binaries.
      
      The single instance used is the first row from that dataset.
      
      * Update comment on CMakeLists.
      
      * Fix doxygen-introduced issue (#threads)
      
      * Fix conflicts due to new RowFunctionFromCSR signature in master
      
      * Change FastConfig ncol to int32_t.
      
      * Removed profiling folder
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * fix doxygen typo include/LightGBM/c_api.h
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Doxygen: change new docstrings to double back-quote
      Co-authored-by: default avataralberto.ferreira <alberto.ferreira@feedzai.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      fc79b366
    • Guolin Ke's avatar
      feature importance type in saved model file (#3220) · 87d46489
      Guolin Ke authored
      
      
      * feature importance type in saved model file
      
      * fix nullptr
      
      * fixed formatting
      
      * fix python/R
      
      * Update src/c_api.cpp
      
      * Apply suggestions from code review
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * fix c_api test
      
      * fix swig
      
      * minor docs improvements and added defines for importance types
      Co-authored-by: default avatarStrikerRUS <nekit94-12@hotmail.com>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      87d46489
  5. 09 Jul, 2020 1 commit
  6. 07 Jul, 2020 1 commit
  7. 02 Jul, 2020 1 commit
  8. 01 Jul, 2020 1 commit
  9. 28 Jun, 2020 2 commits
    • Ilya Matiach's avatar
      adding sparse support to TreeSHAP in lightgbm (#3000) · 9f367d11
      Ilya Matiach authored
      * adding sparse support to TreeSHAP in lightgbm
      
      * updating based on comments
      
      * updated based on comments, used fromiter instead of frombuffer
      
      * updated based on comments
      
      * fixed limits import order
      
      * fix sparse feature contribs to work with more than int32 max rows
      
      * really fixed int64 max error and build warnings
      
      * added sparse test with >int32 max rows
      
      * fixed python side reshape check on sparse data
      
      * updated based on latest comments
      
      * fixed comments
      
      * added CSC INT32_MAX validation to test, fixed comments
      9f367d11
    • Belinda Trotta's avatar
      Fix bug with interaction constraints (#3189) · d563aff9
      Belinda Trotta authored
      * Fix bug: crashes when interaction_constraints is nonempty and not all features are used.
      
      * Fix python lint error.
      d563aff9
  10. 23 Jun, 2020 1 commit
    • Belinda Trotta's avatar
      Interaction constraints (#3126) · bca2da97
      Belinda Trotta authored
      * Add interaction constraints functionality.
      
      * Minor fixes.
      
      * Minor fixes.
      
      * Change lambda to function.
      
      * Fix gpu bug, remove extra blank lines.
      
      * Fix gpu bug.
      
      * Fix style issues.
      
      * Try to fix segfault on MACOS.
      
      * Fix bug.
      
      * Fix bug.
      
      * Fix bugs.
      
      * Change parameter format for R.
      
      * Fix R style issues.
      
      * Change string formatting code.
      
      * Change docs to say R package not supported.
      
      * Remove R functionality, moving to separate PR.
      
      * Keep track of branch features in tree object.
      
      * Only track branch features when feature interactions are enabled.
      
      * Fix lint error.
      
      * Update docs and simplify tests.
      bca2da97
  11. 11 Jun, 2020 1 commit
  12. 09 Jun, 2020 1 commit
  13. 05 Jun, 2020 1 commit
  14. 01 Jun, 2020 1 commit
  15. 26 May, 2020 1 commit
  16. 25 May, 2020 2 commits
  17. 23 May, 2020 1 commit
  18. 22 May, 2020 1 commit
  19. 21 May, 2020 1 commit
  20. 20 May, 2020 1 commit
  21. 17 May, 2020 1 commit
  22. 15 May, 2020 1 commit
  23. 13 May, 2020 1 commit
  24. 12 May, 2020 1 commit
  25. 11 May, 2020 1 commit
  26. 07 May, 2020 1 commit
  27. 03 May, 2020 1 commit
    • Belinda Trotta's avatar
      Path smoothing (#2950) · e50a9151
      Belinda Trotta authored
      * Path smoothing
      
      * Try to fix issue with gpu version.
      
      * Fix failing CI for R package.
      
      * Minor fixes.
      
      * Minor refactor.
      
      * Restore old code to get CI working.
      
      * Fix style issues.
      
      * Fix ci for R package.
      
      * Minor fixes for docs and code style.
      
      * Update docs.
      e50a9151
  28. 30 Apr, 2020 1 commit
  29. 13 Apr, 2020 1 commit
  30. 12 Apr, 2020 1 commit
  31. 10 Apr, 2020 1 commit
  32. 09 Apr, 2020 1 commit
    • CharlesAuguste's avatar
      Pr3 monotone constraints splits penalization (#2939) · 505a145f
      CharlesAuguste authored
      
      
      * Add the monotone penalty parameter to the config.
      
      * Pass tree in the necessary functions so it can be used in ComputeBestSplitForFeature.
      
      * Add monotone penalty.
      
      * Added link to the original report.
      
      * Add tests.
      
      * Fix GPU.
      
      * Revert "Pass tree in the necessary functions so it can be used in ComputeBestSplitForFeature."
      
      This reverts commit 37757e8e8f3a2c82a604f4af9a926da616660d2e.
      
      * Revert "Fix GPU."
      
      This reverts commit e49eeee41c883f3c97fd5cdbd53c9288094bffb6.
      
      * Added a shared pointer to the tree so the constraints can use it too.
      
      * Moved check on monotone penalty to config.cpp.
      
      * Python linting.
      
      * Use AssertTrue instead of assert_.
      
      * Fix penalization in test.
      
      * Make GPU deterministic in tests.
      
      * Rename tree to tree_ in monotone constraints.
      
      * Replaced epsilon by kEplison.
      
      * Typo.
      
      * Make tree pointer const.
      
      * Update src/treelearner/monotone_constraints.hpp
      Co-Authored-By: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Update src/treelearner/monotone_constraints.hpp
      Co-Authored-By: default avatarGuolin Ke <guolin.ke@outlook.com>
      
      * Added alias for the penalty.
      
      * Remove useless comment.
      
      * Save CI time.
      
      * Refactor test_monotone_penalty_max.
      
      * Update include/LightGBM/config.h
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Fix doc to be in line with previous config change commit.
      Co-authored-by: default avatarCharles Auguste <auguste@dubquantdev801.ire.susq.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      505a145f
  33. 08 Apr, 2020 1 commit
  34. 05 Apr, 2020 1 commit
  35. 04 Apr, 2020 1 commit
  36. 03 Apr, 2020 1 commit
  37. 02 Apr, 2020 1 commit