1. 18 May, 2021 1 commit
  2. 10 May, 2021 1 commit
  3. 07 May, 2021 1 commit
    • Chen Yufei's avatar
      Precise text file parsing (#4081) · f8318088
      Chen Yufei authored
      
      
      * New build option: USE_PRECISE_TEXT_PARSER.
      
      Use fast_double_parser for text file parsing. For each number, fallback
      to strtod in case of parse failure.
      
      * Add benchmark for CSVParser with Atof and AtofPrecise.
      
      * Fix lint complaint.
      
      * Fix typo in open result error message.
      
      * Revert "Fix lint complaint."
      
      This reverts commit 92ab0b6bce9f17d7be9eaeb20f19d4a0a36f0387.
      
      * Revert "Add benchmark for CSVParser with Atof and AtofPrecise."
      
      This reverts commit 4f8639abd06c679d4382eb715a1793afd94df3d2.
      
      * Use AtofPrecise in Common::__StringToTHelper.
      
      * [option] precise_float_parser: precise float number parsing for text input.
      
      * Remove USE_PRECISE_TEXT_PARSER compile option.
      
      * test: add test for Common::AtofPrecise.
      
      * test: remove ChunkedArrayTest with 0 length.
      
      This triggers Log::Fatal which aborts the test program.
      
      * fix lint, add copyright.
      
      * Revert "test: remove ChunkedArrayTest with 0 length."
      
      This reverts commit 346c76affe9e78b6ca2738c4a56dbb9c00f31102.
      
      * Use LightGBM::Common::Sign
      
      * save precise_float_parser in model file.
      
      * Fix error checking in AtofPrecise. Add more test cases.
      
      * Remove test case that can't pass under macOS.
      
      * Apply suggestions from code review
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      f8318088
  4. 04 May, 2021 2 commits
  5. 29 Apr, 2021 1 commit
  6. 27 Apr, 2021 1 commit
  7. 23 Apr, 2021 1 commit
  8. 22 Apr, 2021 1 commit
  9. 15 Apr, 2021 1 commit
  10. 11 Apr, 2021 1 commit
  11. 05 Apr, 2021 1 commit
  12. 24 Mar, 2021 1 commit
  13. 17 Mar, 2021 1 commit
    • ashok-ponnuswami-msft's avatar
      Range check for DCG position discount lookup (#4069) · 4580393f
      ashok-ponnuswami-msft authored
      * Add check to prevent out of index lookup in the position discount table. Add debug logging to report number of queries found in the data.
      
      * Change debug logging location so that we can print the data file name as well.
      
      * Revert "Change debug logging location so that we can print the data file name as well."
      
      This reverts commit 3981b34bd6e0530f89c4733e78e6b6603bf50d48.
      
      * Add data file name to debug logging.
      
      * Move log line to a place where it is output even when query IDs are read from a separate file.
      
      * Also add the out-of-range check to rank metrics.
      
      * Perform check after number of queries is initialized.
      
      * Update
      4580393f
  14. 12 Mar, 2021 1 commit
  15. 23 Feb, 2021 1 commit
  16. 21 Feb, 2021 1 commit
    • mjmckp's avatar
      Fix evalution of linear trees with a single leaf. (#3987) · 605c97b5
      mjmckp authored
      
      
      * Fix index out-of-range exception generated by BaggingHelper on small datasets.
      
      Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero.
      
      * Update goss.hpp
      
      * Update goss.hpp
      
      * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array)
      
      * Fix incorrect upstream merge
      
      * Add link to LightGBM.NET
      
      * Fix indenting to 2 spaces
      
      * Dummy edit to trigger CI
      
      * Dummy edit to trigger CI
      
      * remove duplicate functions from merge
      
      * Fix evalution of linear trees with a single leaf.
      
      Note that trees without linear models at the leaf always handle num_leaves = 1 as a special case and directly output the leaf value.  Linear trees were missing this special case handling, and hence would have the following issues:
       * Calling Tree::Predict or Tree::PredictByMap would cause an access violation exception attempting to access the first value of the empty split_feature_ array in GetLeaf.
       * PredictionFunLinear would either cause an access violation or go into an infinite loop when attempting to do the equivalent of GetLeaf.
      
      Note also that PredictionFun does not need the same changes as PredictionFunLinear, since both are only called by Tree::AddPredictionToScore, which has a special case for (!is_linear_ && num_leaves_ <= 1) that precludes calling PredictionFun.
      Co-authored-by: default avatarmatthew-peacock <matthew.peacock@whiteoakam.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      605c97b5
  17. 19 Feb, 2021 3 commits
    • mjmckp's avatar
      Use high precision conversion from double to string in Tree::ToString() for... · 7f91dc66
      mjmckp authored
      
      Use high precision conversion from double to string in Tree::ToString() for new linear tree members (#3938)
      
      * Fix index out-of-range exception generated by BaggingHelper on small datasets.
      
      Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero.
      
      * Update goss.hpp
      
      * Update goss.hpp
      
      * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array)
      
      * Fix incorrect upstream merge
      
      * Add link to LightGBM.NET
      
      * Fix indenting to 2 spaces
      
      * Dummy edit to trigger CI
      
      * Dummy edit to trigger CI
      
      * remove duplicate functions from merge
      
      * In Tree::ToString() method, print double values for linear tree models with high precision, so that the tree may be accurately reproduced elsewhere (LightGBM.Net in particular)
      
      * Need to use more precise StringToArray instead of StringToArrayFast when parsing double valued arrays for linear trees, to ensure models round-trip via string or file correctly.
      Co-authored-by: default avatarmatthew-peacock <matthew.peacock@whiteoakam.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      7f91dc66
    • James Lamb's avatar
      [docs] Change some 'parallel learning' references to 'distributed learning' (#4000) · 7880b79f
      James Lamb authored
      * [docs] Change some 'parallel learning' references to 'distributed learning'
      
      * found a few more
      
      * one more reference
      7880b79f
    • James Lamb's avatar
  18. 17 Feb, 2021 1 commit
    • mjmckp's avatar
      Fix for CreatePredictor function and VS2017 Debug build (#3937) · 5321fef6
      mjmckp authored
      
      
      * Fix index out-of-range exception generated by BaggingHelper on small datasets.
      
      Prior to this change, the line "score_t threshold = tmp_gradients[top_k - 1];" would generate an exception, since tmp_gradients would be empty when the cnt input value to the function is zero.
      
      * Update goss.hpp
      
      * Update goss.hpp
      
      * Add API method LGBM_BoosterPredictForMats which runs prediction on a data set given as of array of pointers to rows (as opposed to existing method LGBM_BoosterPredictForMat which requires data given as contiguous array)
      
      * Fix incorrect upstream merge
      
      * Add link to LightGBM.NET
      
      * Fix indenting to 2 spaces
      
      * Dummy edit to trigger CI
      
      * Dummy edit to trigger CI
      
      * remove duplicate functions from merge
      
      * Fix for CreatePredictor function: for VS2017 in Debug build, the previous version would end up giving an uninitialised prediction function that would throw access violation exceptions when invoked.
      Co-authored-by: default avatarmatthew-peacock <matthew.peacock@whiteoakam.com>
      Co-authored-by: default avatarGuolin Ke <guolin.ke@outlook.com>
      5321fef6
  19. 14 Feb, 2021 1 commit
  20. 09 Feb, 2021 1 commit
  21. 06 Feb, 2021 1 commit
  22. 03 Feb, 2021 1 commit
  23. 28 Jan, 2021 1 commit
  24. 26 Jan, 2021 1 commit
  25. 25 Jan, 2021 1 commit
  26. 23 Jan, 2021 1 commit
  27. 21 Jan, 2021 1 commit
  28. 18 Jan, 2021 2 commits
  29. 15 Jan, 2021 1 commit
  30. 11 Jan, 2021 2 commits
  31. 09 Jan, 2021 1 commit
  32. 07 Jan, 2021 3 commits
  33. 05 Jan, 2021 1 commit