1. 12 Sep, 2019 1 commit
  2. 03 Sep, 2019 1 commit
    • Guolin Ke's avatar
      sub-features for node level (#2330) · bbbad73d
      Guolin Ke authored
      * add parameter
      
      * implement
      
      * fix bug
      
      * fix bug
      
      * fix according comment
      
      * add test
      
      * Update test_engine.py
      
      * Update test_engine.py
      
      * Update test_engine.py
      bbbad73d
  3. 24 Jul, 2019 1 commit
  4. 06 May, 2019 1 commit
  5. 13 Apr, 2019 2 commits
  6. 11 Apr, 2019 1 commit
  7. 04 Apr, 2019 1 commit
    • remcob-gr's avatar
      Add Cost Effective Gradient Boosting (#2014) · 76102284
      remcob-gr authored
      * Add configuration parameters for CEGB.
      
      * Add skeleton CEGB tree learner
      
      Like the original CEGB version, this inherits from SerialTreeLearner.
      Currently, it changes nothing from the original.
      
      * Track features used in CEGB tree learner.
      
      * Pull CEGB tradeoff and coupled feature penalty from config.
      
      * Implement finding best splits for CEGB
      
      This is heavily based on the serial version, but just adds using the coupled penalties.
      
      * Set proper defaults for cegb parameters.
      
      * Ensure sanity checks don't switch off CEGB.
      
      * Implement per-data-point feature penalties in CEGB.
      
      * Implement split penalty and remove unused parameters.
      
      * Merge changes from CEGB tree learner into serial tree learner
      
      * Represent features_used_in_data by a bitset, to reduce the memory overhead of CEGB, and add sanity checks for the lengths of the penalty vectors.
      
      * Fix bug where CEGB would incorrectly penalise a previously used feature
      
      The tree learner did not update the gains of previously computed leaf splits when splitting a leaf elsewhere in the tree.
      This caused it to prefer new features due to incorrectly penalising splitting on previously used features.
      
      * Document CEGB parameters and add them to the appropriate section.
      
      * Remove leftover reference to cegb tree learner.
      
      * Remove outdated diff.
      
      * Fix warnings
      
      * Fix minor issues identified by @StrikerRUS.
      
      * Add docs section on CEGB, including citation.
      
      * Fix link.
      
      * Fix CI failure.
      
      * Add some unit tests
      
      * Fix pylint issues.
      
      * Fix remaining pylint issue
      76102284
  8. 02 Feb, 2019 1 commit
  9. 17 Dec, 2018 1 commit
    • Guolin Ke's avatar
      Fix bugs in RF (#1906) · cba82447
      Guolin Ke authored
      * fix RF's bugs
      
      * fix tests
      
      * rollback num_iterations
      
      * fix a bug and reduce memory costs
      
      * reduce memory cost
      cba82447
  10. 01 Nov, 2018 1 commit
  11. 26 Oct, 2018 1 commit
  12. 25 Aug, 2018 2 commits
  13. 24 Aug, 2018 1 commit
  14. 16 Aug, 2018 1 commit
  15. 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
  16. 11 May, 2018 1 commit
  17. 24 Apr, 2018 1 commit
  18. 18 Apr, 2018 2 commits
  19. 16 Jan, 2018 1 commit
  20. 19 Dec, 2017 1 commit
  21. 05 Dec, 2017 1 commit
  22. 04 Dec, 2017 1 commit
  23. 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
  24. 11 Sep, 2017 1 commit
  25. 02 Sep, 2017 1 commit
  26. 20 Aug, 2017 1 commit
  27. 30 Jul, 2017 1 commit
    • Guolin Ke's avatar
      Better missing value handle (#747) · 00cb04a2
      Guolin Ke authored
      * finish the data loading part
      
      * allow prediction.
      
      * fix bug for decision type.
      
      * finish split finding part
      
      * fix bugs.
      
      * bug fixed. add a test .
      
      * fix pep8 .
      
      * update documents.
      
      * fix test bugs.
      
      * fix a format
      
      * fix import error in python test.
      
      * disable missing handle in categorial features.
      
      * fix a bug.
      
      * add more tests.
      
      * fix pep8
      
      * fix bugs.
      
      * remove the missing handle code for categorical feature.
      00cb04a2
  28. 30 Jun, 2017 1 commit
  29. 17 Jun, 2017 1 commit
  30. 07 Jun, 2017 1 commit
  31. 29 May, 2017 1 commit
  32. 15 May, 2017 1 commit
  33. 17 Apr, 2017 1 commit
  34. 16 Apr, 2017 1 commit
    • Guolin Ke's avatar
      faster histogram sum up (#418) · 98c7c2a3
      Guolin Ke authored
      * some refactor.
      
      * two stage sum up to reduce sum up error.
      
      * add more two-stage sumup.
      
      * some refactor.
      
      * add alignment.
      
      * change name to aligned_allocator.
      
      * remove some useless sumup.
      
      * fix a warning.
      
      * add -march=native .
      
      * remove the padding of gradients.
      
      * no alignment.
      
      * fix test.
      
      * change KNumSumupGroup to 32768.
      
      * change gcc flags.
      98c7c2a3
  35. 09 Apr, 2017 1 commit
    • Huan Zhang's avatar
      Initial GPU acceleration support for LightGBM (#368) · 0bb4a825
      Huan Zhang authored
      * add dummy gpu solver code
      
      * initial GPU code
      
      * fix crash bug
      
      * first working version
      
      * use asynchronous copy
      
      * use a better kernel for root
      
      * parallel read histogram
      
      * sparse features now works, but no acceleration, compute on CPU
      
      * compute sparse feature on CPU simultaneously
      
      * fix big bug; add gpu selection; add kernel selection
      
      * better debugging
      
      * clean up
      
      * add feature scatter
      
      * Add sparse_threshold control
      
      * fix a bug in feature scatter
      
      * clean up debug
      
      * temporarily add OpenCL kernels for k=64,256
      
      * fix up CMakeList and definition USE_GPU
      
      * add OpenCL kernels as string literals
      
      * Add boost.compute as a submodule
      
      * add boost dependency into CMakeList
      
      * fix opencl pragma
      
      * use pinned memory for histogram
      
      * use pinned buffer for gradients and hessians
      
      * better debugging message
      
      * add double precision support on GPU
      
      * fix boost version in CMakeList
      
      * Add a README
      
      * reconstruct GPU initialization code for ResetTrainingData
      
      * move data to GPU in parallel
      
      * fix a bug during feature copy
      
      * update gpu kernels
      
      * update gpu code
      
      * initial port to LightGBM v2
      
      * speedup GPU data loading process
      
      * Add 4-bit bin support to GPU
      
      * re-add sparse_threshold parameter
      
      * remove kMaxNumWorkgroups and allows an unlimited number of features
      
      * add feature mask support for skipping unused features
      
      * enable kernel cache
      
      * use GPU kernels withoug feature masks when all features are used
      
      * REAdme.
      
      * REAdme.
      
      * update README
      
      * fix typos (#349)
      
      * change compile to gcc on Apple as default
      
      * clean vscode related file
      
      * refine api of constructing from sampling data.
      
      * fix bug in the last commit.
      
      * more efficient algorithm to sample k from n.
      
      * fix bug in filter bin
      
      * change to boost from average output.
      
      * fix tests.
      
      * only stop training when all classes are finshed in multi-class.
      
      * limit the max tree output. change hessian in multi-class objective.
      
      * robust tree model loading.
      
      * fix test.
      
      * convert the probabilities to raw score in boost_from_average of classification.
      
      * fix the average label for binary classification.
      
      * Add boost_from_average to docs (#354)
      
      * don't use "ConvertToRawScore" for self-defined objective function.
      
      * boost_from_average seems doesn't work well in binary classification. remove it.
      
      * For a better jump link (#355)
      
      * Update Python-API.md
      
      * for a better jump in page
      
      A space is needed between `#` and the headers content according to Github's markdown format [guideline](https://guides.github.com/features/mastering-markdown/)
      
      After adding the spaces, we can jump to the exact position in page by click the link.
      
      * fixed something mentioned by @wxchan
      
      * Update Python-API.md
      
      * add FitByExistingTree.
      
      * adapt GPU tree learner for FitByExistingTree
      
      * avoid NaN output.
      
      * update boost.compute
      
      * fix typos (#361)
      
      * fix broken links (#359)
      
      * update README
      
      * disable GPU acceleration by default
      
      * fix image url
      
      * cleanup debug macro
      
      * remove old README
      
      * do not save sparse_threshold_ in FeatureGroup
      
      * add details for new GPU settings
      
      * ignore submodule when doing pep8 check
      
      * allocate workspace for at least one thread during builing Feature4
      
      * move sparse_threshold to class Dataset
      
      * remove duplicated code in GPUTreeLearner::Split
      
      * Remove duplicated code in FindBestThresholds and BeforeFindBestSplit
      
      * do not rebuild ordered gradients and hessians for sparse features
      
      * support feature groups in GPUTreeLearner
      
      * Initial parallel learners with GPU support
      
      * add option device, cleanup code
      
      * clean up FindBestThresholds; add some omp parallel
      
      * constant hessian optimization for GPU
      
      * Fix GPUTreeLearner crash when there is zero feature
      
      * use np.testing.assert_almost_equal() to compare lists of floats in tests
      
      * travis for GPU
      0bb4a825
  36. 07 Apr, 2017 1 commit
  37. 05 Apr, 2017 1 commit