1. 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
  2. 11 Jun, 2020 1 commit
  3. 05 Jun, 2020 2 commits
  4. 01 Jun, 2020 1 commit
  5. 25 May, 2020 1 commit
  6. 20 May, 2020 1 commit
  7. 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
  8. 16 Apr, 2020 1 commit
  9. 15 Apr, 2020 1 commit
  10. 13 Apr, 2020 1 commit
  11. 12 Apr, 2020 1 commit
  12. 10 Apr, 2020 1 commit
  13. 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
  14. 08 Apr, 2020 1 commit
  15. 04 Apr, 2020 1 commit
  16. 02 Apr, 2020 1 commit
  17. 24 Mar, 2020 1 commit
    • James Lamb's avatar
      [R-package] Use Rprintf for logging in the R package (fixes #1440, fixes #1909) (#2901) · 0341906c
      James Lamb authored
      
      
      * [R-package] started cutting over from custom R-to-C interface to R.h
      
      * replaced LGBM_SE with SEXP
      
      * fixed error about ocnflicting definitions of length
      
      * got linking working
      
      * more stuff
      
      * eliminated R CMD CHECK note about printing
      
      * switched from hard-coded include dir to the one from FindLibR.cmake
      
      * cleaned up formatting in FindLibR.cmake
      
      * commented-out everything in CI that does not touch R
      
      * more changes
      
      * trying to get better logs
      
      * tried ignoring
      
      * added error message to confirm a suspicion
      
      * still trying to find R during R CMD CHECK
      
      * restore full CI
      
      * fixed comment
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      
      * changed strategy for finding LIBR_HOME on Windows
      
      * Removed 32-bit Windows stuff in FindLibR.cmake
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      
      * Update CMakeLists.txt
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update CMakeLists.txt
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * removed some duplication in cmake scripts
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * added LIBR_CORE_LIBRARY back
      
      * small fixes to CMakeLists
      
      * simplified FindLibR.cmake
      
      * some fixes for windows
      
      * Apply suggestions from code review
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * allowed for directly passing LIBR_EXECUTABLE to FindLibR.cmake
      
      * reorganized FindLibR.cmake to catch more cases
      
      * clean up inconsistencies  in R calls in FindLibR.cmake
      
      * Update R-package/src/cmake/modules/FindLibR.cmake
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * removed unnecessary log messages
      
      * removed unnecessary unset() call
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      0341906c
  18. 23 Mar, 2020 2 commits
    • CharlesAuguste's avatar
      Improving monotone constraints ("Fast" method; linked to #2305, #2717) (#2770) · a8c1e0a1
      CharlesAuguste authored
      
      
      * Add util functions.
      
      * Added monotone_constraints_method as a parameter.
      
      * Add the intermediate constraining method.
      
      * Updated tests.
      
      * Minor fixes.
      
      * Typo.
      
      * Linting.
      
      * Ran the parameter generator for the doc.
      
      * Removed usage of the FeatureMonotone function.
      
      * more fixes
      
      * Fix.
      
      * Remove duplicated code.
      
      * Add debug checks.
      
      * Typo.
      
      * Bug fix.
      
      * Disable the use of intermediate monotone constraints and feature sampling at the same time.
      
      * Added an alias for monotone constraining method.
      
      * Use the right variable to get the number of threads.
      
      * Fix DEBUG checks.
      
      * Add back check to determine if histogram is splittable.
      
      * Added forgotten override keywords.
      
      * Perform monotone constraint update only when necessary.
      
      * Small refactor of FastLeafConstraints.
      
      * Post rebase commit.
      
      * Small refactor.
      
      * Typo.
      
      * Added comment and slightly improved logic of monotone constraints.
      
      * Forgot a const.
      
      * Vectors that are to be modified need to be pointers.
      
      * Rename FastLeafConstraints to IntermediateLeafConstraints to match documentation.
      
      * Remove overload of GoUpToFindLeavesToUpdate.
      
      * Stop memory leaking.
      
      * Fix cpplint issues.
      
      * Fix checks.
      
      * Fix more cpplint issues.
      
      * Refactor config monotone constraints method.
      
      * Typos.
      
      * Remove useless empty lines.
      
      * Add new line to separate includes.
      
      * Replace unsigned ind by size_t.
      
      * Reduce number of trials in tests to decrease CI time.
      
      * Specify monotone constraints better in tests.
      
      * Removed outer loop in test of monotone constraints.
      
      * Added categorical features to the monotone constraints tests.
      
      * Add blank line.
      
      * Regenerate parameters automatically.
      
      * Speed up ShouldKeepGoingLeftRight.
      Co-authored-by: default avatarCharles Auguste <auguste@dubquantdev801.ire.susq.com>
      Co-authored-by: default avatarguolinke <guolin.ke@outlook.com>
      a8c1e0a1
    • James Lamb's avatar
      changed sprintf uses to snprintf (#2920) · 3a335e9d
      James Lamb authored
      * [ci] changed sprintf uses to snprintf
      
      * checked for encoding issues with snprintf
      3a335e9d
  19. 22 Mar, 2020 1 commit
  20. 20 Mar, 2020 1 commit
    • Alberto Ferreira's avatar
      Fix SWIG methods that return char** (#2850) · 91185c3a
      Alberto Ferreira authored
      
      
      * [swig] Fix SWIG methods that return char** with StringArray.
      
      + [new] Add StringArray class to manage and manipulate arrays of fixed-length strings:
      
        This class is now used to wrap any char** parameters, manage memory and
        manipulate the strings.
      
        Such class is defined at swig/StringArray.hpp and wrapped in StringArray.i.
      
      + [API+fix] Wrap LGBM_BoosterGetFeatureNames it resulted in segfault before:
      
        Added wrapper LGBM_BoosterGetFeatureNamesSWIG(BoosterHandle) that
        only receives the booster handle and figures how much memory to allocate
        for strings and returns a StringArray which can be easily converted to String[].
      
      + [API+safety] For consistency, LGBM_BoosterGetEvalNamesSWIG was wrapped as well:
      
        * Refactor to detect any kind of errors and removed all the parameters
          besides the BoosterHandle (much simpler API to use in Java).
        * No assumptions are made about the required string space necessary (128 before).
        * The amount of required string memory is computed internally
      
      + [safety] No possibility of undefined behaviour
      
        The two methods wrapped above now compute the necessary string storage space
        prior to allocation, as the low-level C API calls would crash the process
        irreversibly if they write more memory than which is passed to them.
      
      * Changes to C API and wrappers support char**
      
      To support the latest SWIG changes that enable proper char**
      return support that is safe, the C API was changed.
      
      The respecive wrappers in R and Python were changed too.
      
      * Cleanup indentation in new lightgbm_R.cpp code
      
      * Adress review code-style comments.
      
      * Update swig/StringArray.hpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update python-package/lightgbm/basic.py
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/lightgbm_R.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avataralberto.ferreira <alberto.ferreira@feedzai.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      91185c3a
  21. 17 Mar, 2020 1 commit
  22. 11 Mar, 2020 1 commit
  23. 10 Mar, 2020 1 commit
  24. 08 Mar, 2020 1 commit
  25. 06 Mar, 2020 3 commits
  26. 05 Mar, 2020 2 commits
    • Guolin Ke's avatar
      speed up `FindBestThresholdFromHistogram` (#2867) · 77d92b7c
      Guolin Ke authored
      * speed up for const hessian
      
      * rename template
      
      * some refactorings
      
      * refine
      
      * refine
      
      * simplify codes
      
      * fix random in feature histogram
      
      * code refine
      
      * refine
      
      * try fix
      
      * make gcc happy
      
      * remove timer
      
      * rollback some changes
      
      * more templates
      
      * fix a bug
      
      * reduce the cost of timer
      
      * fix gpu
      
      * fix bug
      
      * fix gpu
      77d92b7c
    • James Lamb's avatar
      [ci] fixed cpplint warnings about braces (#2869) · 7776cfea
      James Lamb authored
      * [ci] fixed cpplint warnings about braces
      
      * removed excess line
      7776cfea
  27. 04 Mar, 2020 2 commits
  28. 03 Mar, 2020 2 commits
  29. 02 Mar, 2020 5 commits