1. 26 Sep, 2019 1 commit
  2. 09 Sep, 2019 1 commit
  3. 20 Jun, 2019 1 commit
  4. 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
  5. 07 Mar, 2019 1 commit
  6. 26 Feb, 2019 1 commit
    • remcob-gr's avatar
      Add ability to move features from one data set to another in memory (#2006) · 219c943d
      remcob-gr authored
      * Initial attempt to implement appending features in-memory to another data set
      
      The intent is for this to enable munging files together easily, without needing to round-trip via numpy or write multiple copies to disk.
      In turn, that enables working more efficiently with data sets that were written separately.
      
      * Implement Dataset.dump_text, and fix small bug in appending of group bin boundaries.
      
      Dumping to text enables us to compare results, without having to worry about issues like features being reordered.
      
      * Add basic tests for validation logic for add_features_from.
      
      * Remove various internal mapping items from dataset text dumps
      
      These are too sensitive to the exact feature order chosen, which is not visible to the user.
      Including them in tests appears unnecessary, as the data dumping code should provide enough coverage.
      
      * Add test that add_features_from results in identical data sets according to dump_text.
      
      * Add test that booster behaviour after using add_features_from matches that of training on the full data
      
      This checks:
      - That training after add_features_from works at all
      - That add_features_from does not cause training to misbehave
      
      * Expose feature_penalty and monotone_types/constraints via get_field
      
      These getters allow us to check that add_features_from does the right thing with these vectors.
      
      * Add tests that add_features correctly handles feature_penalty and monotone_constraints.
      
      * Ensure add_features_from properly frees the added dataset and add unit test for this
      
      Since add_features_from moves the feature group pointers from the added dataset to the dataset being added to, the added dataset is invalid after the call.
      We must ensure we do not try and access this handle.
      
      * Remove some obsolete TODOs
      
      * Tidy up DumpTextFile by using a single iterator for each feature
      
      This iterators were also passed around as raw pointers without being freed, which is now fixed.
      
      * Factor out offsetting logic in AddFeaturesFrom
      
      * Remove obsolete TODO
      
      * Remove another TODO
      
      This one is debatable, test code can be a bit messy and duplicate-heavy, factoring it out tends to end badly.
      Leaving this for now, will revisit if adding more tests later on becomes a mess.
      
      * Add documentation for newly-added methods.
      
      * Fix whitespace issues identified by pylint.
      
      * Fix a few more whitespace issues.
      
      * Fix doc comments
      
      * Implement deep copying for feature groups.
      
      * Replace awkward std::move usage by emplace_back, and reduce vector size to num_features rather than num_total_features.
      
      * Copy feature groups in addFeaturesFrom, rather than moving them.
      
      * Fix bugs in FeatureGroup copy constructor and ensure source dataset remains usable
      
      * Add reserve to PushVector and PushOffset
      
      * Move definition of Clone into class body
      
      * Fix PR review issues
      
      * Fix for loop increment style.
      
      * Fix test failure
      
      * Some more docstring fixes.
      
      * Remove blank line
      219c943d
  7. 11 Oct, 2018 1 commit
  8. 10 Sep, 2018 1 commit
  9. 27 Aug, 2018 1 commit
  10. 07 Jul, 2018 1 commit
  11. 20 Jun, 2018 1 commit
  12. 10 May, 2018 1 commit
    • Nikita Titov's avatar
      [python][docs] reworked predict method in sklearn wrapper and docs improvements (#1351) · 41152eab
      Nikita Titov authored
      * fixed docs
      
      * reworker predict method of sklearn wrapper
      
      * fixed encapsulation
      
      * added test
      
      * fixed consistency between docstring and params docs
      
      * fixed verbose
      
      * replaced predict_proba with predict in test
      
      * fixed verbose again
      
      * fixed fraction params descriptions
      
      * added description of skip_drop and drop_rate constraints
      
      * fixed subsample_freq consistency with C++ default value
      
      * fixed nice look of params list
      
      * made force splits json file example clickable
      
      * fixed nice look of metrics list and added comma
      
      * reduced warning in test about same param specified twice
      
      * replaced pred_parameter with **kwargs in predict method
      
      * added test for **kwargs in predict method
      
      * fixed warnings
      
      * fixed pylint
      41152eab
  13. 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
  14. 18 Aug, 2017 1 commit
  15. 30 May, 2017 1 commit
    • Guolin Ke's avatar
      Support early stopping of prediction in CLI (#565) · 6d4c7b03
      Guolin Ke authored
      * fix multi-threading.
      
      * fix name style.
      
      * support in CLI version.
      
      * remove warnings.
      
      * Not default parameters.
      
      * fix if...else... .
      
      * fix bug.
      
      * fix warning.
      
      * refine c_api.
      
      * fix R-package.
      
      * fix R's warning.
      
      * fix tests.
      
      * fix pep8 .
      6d4c7b03
  16. 29 May, 2017 1 commit
    • cbecker's avatar
      Add prediction early stopping (#550) · 993bbd5f
      cbecker authored
      * Add early stopping for prediction
      
      * Fix GBDT if-else prediction with early stopping
      
      * Small C++ embelishments to early stopping API and functions
      
      * Fix early stopping efficiency issue by creating a singleton for no early stopping
      
      * Python improvements to early stopping API
      
      * Add assertion check for binary and multiclass prediction score length
      
      * Update vcxproj and vcxproj.filters with new early stopping files
      
      * Remove inline from PredictRaw(), the linker was not able to find it otherwise
      993bbd5f
  17. 11 May, 2017 1 commit
  18. 13 Apr, 2017 1 commit
  19. 01 Mar, 2017 2 commits
  20. 09 Jan, 2017 1 commit
    • wxchan's avatar
      refine pmml.py (#179) · 7f4610a8
      wxchan authored
      * add pmml to test
      
      * refine pmml.py
      
      * use ~n instead of -n-1
      
      * change map to list comprehension
      
      * fix check
      
      * fix 'use ~n instead of -n-1'
      
      * fix exception
      7f4610a8
  21. 04 Jan, 2017 3 commits
  22. 02 Jan, 2017 2 commits
  23. 01 Jan, 2017 1 commit
    • wxchan's avatar
      support pickle (#151) · a034ceeb
      wxchan authored
      * support pickle
      
      * add pickle/joblib test; change test_basic to unittest
      
      * remove file for deepcopy
      
      * fix tests
      
      * test basic predict from file
      
      * Revert "test basic predict from file"
      
      This reverts commit 60d2c3158537fd56081f60f1d6d120cedd782887.
      
      * test predict from file
      
      * use tempfile for copy & pickle
      
      * use tempfile w/o binary mode
      
      * clean test
      a034ceeb
  24. 08 Dec, 2016 1 commit
  25. 05 Dec, 2016 1 commit
  26. 02 Dec, 2016 1 commit
    • wxchan's avatar
      Squash into one commit: · eba6d200
      wxchan authored
      1. merge python-package
      2. add dump model to json
      3. fix bugs
      4. clean code with pylint
      5. update python examples
      eba6d200
  27. 30 Nov, 2016 2 commits
  28. 24 Nov, 2016 1 commit