1. 24 Dec, 2020 1 commit
    • Belinda Trotta's avatar
      Trees with linear models at leaves (#3299) · fcfd4132
      Belinda Trotta authored
      * Add Eigen library.
      
      * Working for simple test.
      
      * Apply changes to config params.
      
      * Handle nan data.
      
      * Update docs.
      
      * Add test.
      
      * Only load raw data if boosting=gbdt_linear
      
      * Remove unneeded code.
      
      * Minor updates.
      
      * Update to work with sk-learn interface.
      
      * Update to work with chunked datasets.
      
      * Throw error if we try to create a Booster with an already-constructed dataset having incompatible parameters.
      
      * Save raw data in binary dataset file.
      
      * Update docs and fix parameter checking.
      
      * Fix dataset loading.
      
      * Add test for regularization.
      
      * Fix bugs when saving and loading tree.
      
      * Add test for load/save linear model.
      
      * Remove unneeded code.
      
      * Fix case where not enough leaf data for linear model.
      
      * Simplify code.
      
      * Speed up code.
      
      * Speed up code.
      
      * Simplify code.
      
      * Speed up code.
      
      * Fix bugs.
      
      * Working version.
      
      * Store feature data column-wise (not fully working yet).
      
      * Fix bugs.
      
      * Speed up.
      
      * Speed up.
      
      * Remove unneeded code.
      
      * Small speedup.
      
      * Speed up.
      
      * Minor updates.
      
      * Remove unneeded code.
      
      * Fix bug.
      
      * Fix bug.
      
      * Speed up.
      
      * Speed up.
      
      * Simplify code.
      
      * Remove unneeded code.
      
      * Fix bug, add more tests.
      
      * Fix bug and add test.
      
      * Only store numerical features
      
      * Fix bug and speed up using templates.
      
      * Speed up prediction.
      
      * Fix bug with regularisation
      
      * Visual studio files.
      
      * Working version
      
      * Only check nans if necessary
      
      * Store coeff matrix as an array.
      
      * Align cache lines
      
      * Align cache lines
      
      * Preallocation coefficient calculation matrices
      
      * Small speedups
      
      * Small speedup
      
      * Reverse cache alignment changes
      
      * Change to dynamic schedule
      
      * Update docs.
      
      * Refactor so that linear tree learner is not a separate class.
      
      * Add refit capability.
      
      * Speed up
      
      * Small speedups.
      
      * Speed up add prediction to score.
      
      * Fix bug
      
      * Fix bug and speed up.
      
      * Speed up dataload.
      
      * Speed up dataload
      
      * Use vectors instead of pointers
      
      * Fix bug
      
      * Add OMP exception handling.
      
      * Change return type of LGBM_BoosterGetLinear to bool
      
      * Change return type of LGBM_BoosterGetLinear back to int, only parameter type needed to change
      
      * Remove unused internal_parent_ property of tree
      
      * Remove unused parameter to CreateTreeLearner
      
      * Remove reference to LinearTreeLearner
      
      * Minor style issues
      
      * Remove unneeded check
      
      * Reverse temporary testing change
      
      * Fix Visual Studio project files
      
      * Restore LightGBM.vcxproj.filters
      
      * Speed up
      
      * Speed up
      
      * Simplify code
      
      * Update docs
      
      * Simplify code
      
      * Initialise storage space for max num threads
      
      * Move Eigen to include directory and delete unused files
      
      * Remove old files.
      
      * Fix so it compiles with mingw
      
      * Fix gpu tree learner
      
      * Change AddPredictionToScore back to const
      
      * Fix python lint error
      
      * Fix C++ lint errors
      
      * Change eigen to a submodule
      
      * Update comment
      
      * Add the eigen folder
      
      * Try to fix build issues with eigen
      
      * Remove eigen files
      
      * Add eigen as submodule
      
      * Fix include paths
      
      * Exclude eigen files from Python linter
      
      * Ignore eigen folders for pydocstyle
      
      * Fix C++ linting errors
      
      * Fix docs
      
      * Fix docs
      
      * Exclude eigen directories from doxygen
      
      * Update manifest to include eigen
      
      * Update build_r to include eigen files
      
      * Fix compiler warnings
      
      * Store raw feature data as float
      
      * Use float for calculating linear coefficients
      
      * Remove eigen directory from GLOB
      
      * Don't compile linear model code when building R package
      
      * Fix doxygen issue
      
      * Fix lint issue
      
      * Fix lint issue
      
      * Remove uneeded code
      
      * Restore delected lines
      
      * Restore delected lines
      
      * Change return type of has_raw to bool
      
      * Update docs
      
      * Rename some variables and functions for readability
      
      * Make tree_learner parameter const in AddScore
      
      * Fix style issues
      
      * Pass vectors as const reference when setting tree properties
      
      * Make temporary storage of serial_tree_learner mutable so we can make the object's methods const
      
      * Remove get_raw_size, use num_numeric_features instead
      
      * Fix typo
      
      * Make contains_nan_ and any_nan_ properties immutable again
      
      * Remove data_has_nan_ property of tree
      
      * Remove temporary test code
      
      * Make linear_tree a dataset param
      
      * Fix lint error
      
      * Make LinearTreeLearner a separate class
      
      * Fix lint errors
      
      * Fix lint error
      
      * Add linear_tree_learner.o
      
      * Simulate omp_get_max_threads if openmp is not available
      
      * Update PushOneData to also store raw data.
      
      * Cast size to int
      
      * Fix bug in ReshapeRaw
      
      * Speed up code with multithreading
      
      * Use OMP_NUM_THREADS
      
      * Speed up with multithreading
      
      * Update to use ArrayToString
      
      * Fix tests
      
      * Fix test
      
      * Fix bug introduced in merge
      
      * Minor updates
      
      * Update docs
      fcfd4132
  2. 09 Oct, 2020 1 commit
  3. 28 Jun, 2020 1 commit
    • 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
  4. 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
  5. 05 Jun, 2020 1 commit
  6. 01 Jun, 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. 02 Apr, 2020 1 commit
  9. 23 Mar, 2020 1 commit
    • 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
  10. 22 Mar, 2020 1 commit
  11. 05 Mar, 2020 1 commit
  12. 04 Mar, 2020 1 commit
  13. 02 Mar, 2020 1 commit
  14. 20 Feb, 2020 1 commit
    • Joan Fontanals's avatar
      Add capability to get possible max and min values for a model (#2737) · 18e7de4f
      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
      
      * Update test values
      
      * 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
      
      * Update src/c_api.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/io/tree.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/io/tree.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update tests/python_package_test/test_basic.py
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Remoove imports
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      18e7de4f
  15. 08 Feb, 2020 2 commits
  16. 02 Feb, 2020 1 commit
    • Guolin Ke's avatar
      Support both row-wise and col-wise multi-threading (#2699) · 509c2e50
      Guolin Ke authored
      
      
      * commit
      
      * fix a bug
      
      * fix bug
      
      * reset to track changes
      
      * refine the auto choose logic
      
      * sort the time stats output
      
      * fix include
      
      * change  multi_val_bin_sparse_threshold
      
      * add cmake
      
      * add _mm_malloc and _mm_free for cross platform
      
      * fix cmake bug
      
      * timer for split
      
      * try to fix cmake
      
      * fix tests
      
      * refactor DataPartition::Split
      
      * fix test
      
      * typo
      
      * formating
      
      * Revert "formating"
      
      This reverts commit 5b8de4f7fb9d975ee23701d276a66d40ee6d4222.
      
      * add document
      
      * [R-package] Added tests on use of force_col_wise and force_row_wise in training (#2719)
      
      * naming
      
      * fix gpu code
      
      * Update include/LightGBM/bin.h
      Co-Authored-By: default avatarJames Lamb <jaylamb20@gmail.com>
      
      * Update src/treelearner/ocl/histogram16.cl
      
      * test: swap compilers for CI
      
      * fix omp
      
      * not avx2
      
      * no aligned for feature histogram
      
      * Revert "refactor DataPartition::Split"
      
      This reverts commit 256e6d9641ade966a1f54da1752e998a1149b6f8.
      
      * slightly refactor data partition
      
      * reduce the memory cost
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      509c2e50
  17. 07 Oct, 2019 1 commit
  18. 14 Aug, 2019 1 commit
  19. 25 Jul, 2019 1 commit
  20. 24 Jul, 2019 1 commit
  21. 13 Apr, 2019 1 commit
  22. 11 Apr, 2019 1 commit
  23. 01 Apr, 2019 1 commit
  24. 26 Mar, 2019 1 commit
  25. 06 Feb, 2019 1 commit
  26. 02 Feb, 2019 1 commit
  27. 20 May, 2018 1 commit
    • Guolin Ke's avatar
      Refine config object (#1381) · dc699574
      Guolin Ke authored
      * [WIP] refine config
      
      * [wip] ready for the auto code generate
      
      * auto generate config codes
      
      * use with to open file
      
      * fix bug
      
      * fix pylint
      
      * fix bug
      
      * fix pylint
      
      * fix bugs.
      
      * tmp for failed test.
      
      * fix tests.
      
      * added nthreads alias
      
      * added new aliases from new config.h
      
      * fixed duplicated alias
      
      * refactored parameter_generator.py
      
      * added new aliases from config.h and removed remaining old names
      
      * fix bugs & some miss alias
      
      * added aliases
      
      * add more descriptions.
      
      * add comment.
      dc699574
  28. 18 Apr, 2018 1 commit
  29. 24 Jan, 2018 1 commit
  30. 19 Dec, 2017 1 commit
  31. 12 Dec, 2017 1 commit
  32. 26 Nov, 2017 1 commit
    • Guolin Ke's avatar
      Speed up saving and loading model (#1083) · 8a5ec366
      Guolin Ke authored
      * remove protobuf
      
      * add version number
      
      * remove pmml script
      
      * use float for split gain
      
      * fix warnings
      
      * refine the read model logic of gbdt
      
      * fix compile error
      
      * improve decode speed
      
      * fix some bugs
      
      * fix double accuracy problem
      
      * fix bug
      
      * multi-thread save model
      
      * speed up save model to string
      
      * parallel save/load model
      
      * fix some warnings.
      
      * fix warnings.
      
      * fix a bug
      
      * remove debug output
      
      * fix doc
      
      * fix max_bin warning in tests.
      
      * fix max_bin warning
      
      * fix pylint
      
      * clean code for stringToArray
      
      * clean code for TToString
      
      * remove max_bin
      
      * replace "class" with typename
      8a5ec366
  33. 15 Nov, 2017 2 commits
  34. 26 Oct, 2017 1 commit
    • wxchan's avatar
      fix protobuf on vs build (#1004) · 2b20569e
      wxchan authored
      * [optional] support protobuf
      
      * fix windows/LightGBM.vcxproj
      
      * add doc
      
      * fix doc
      
      * fix vs support (#2)
      
      * fix vs support
      
      * fix cmake
      2b20569e
  35. 20 Oct, 2017 1 commit
  36. 19 Oct, 2017 1 commit
  37. 16 Sep, 2017 1 commit
  38. 02 Sep, 2017 1 commit