- 15 Jul, 2020 2 commits
-
-
Alberto Ferreira authored
* [performance] Add Fast methods to C API for SingleRow Predictions * Add methods to C API to make single-row predictions faster: - LGBM_BoosterPredictForMatSingleRowFastInit (setup) - LGBM_BoosterPredictForMatSingleRowFast (predict) - LGBM_FastConfigFree (cleanup setup outputs) * Code syle cleanup * Fix lint errors * [performance] Revert FastConfig improvement to pass data at init This reduces optimization by 5% / 30% with this branch but makes it so it can be used for higher level wrappers in MMLSpark. And outside it as well. * [performance] Introduce Fast variants for SingleRow predictors. Although this already provides performance gains by itself for any callers, two new functions were added to Java's SWIG interfaces to exploit that AND the GetPrimitiveArrayCritical data fetches. * [tests/profiling] Profile Fast predict methods Build with -DBUILD_PROFILING_TESTS=ON and copy the default model trained on the Higgs dataset from the benchmarks repo https://github.com/guolinke/boosting_tree_benchmarks.git to LightGBM repo root and run the lightgbm_profile_* binaries. The single instance used is the first row from that dataset. * Update comment on CMakeLists. * Fix doxygen-introduced issue (#threads) * Fix conflicts due to new RowFunctionFromCSR signature in master * Change FastConfig ncol to int32_t. * Removed profiling folder * fix doxygen typo include/LightGBM/c_api.h Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * fix doxygen typo include/LightGBM/c_api.h Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * fix doxygen typo include/LightGBM/c_api.h Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Doxygen: change new docstrings to double back-quote Co-authored-by:
alberto.ferreira <alberto.ferreira@feedzai.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
Guolin Ke authored
* feature importance type in saved model file * fix nullptr * fixed formatting * fix python/R * Update src/c_api.cpp * Apply suggestions from code review Co-authored-by:
James Lamb <jaylamb20@gmail.com> * fix c_api test * fix swig * minor docs improvements and added defines for importance types Co-authored-by:
StrikerRUS <nekit94-12@hotmail.com> Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
- 28 Jun, 2020 1 commit
-
-
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
-
- 11 Jun, 2020 1 commit
-
-
Nikita Titov authored
-
- 05 Jun, 2020 1 commit
-
-
Nikita Titov authored
This reverts commit 656d2676.
-
- 01 Jun, 2020 1 commit
-
-
James Lamb authored
-
- 20 May, 2020 1 commit
-
-
Guolin Ke authored
* redir log to python console * fix pylint * Apply suggestions from code review * Update basic.py * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update c_api.h * Apply suggestions from code review * Apply suggestions from code review * super-minor: better wording Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
StrikerRUS <nekit94-12@hotmail.com>
-
- 16 Apr, 2020 1 commit
-
-
James Lamb authored
* [ci] Changed use of strcpy to snprintf * fix * fully enable cpplint
-
- 20 Mar, 2020 1 commit
-
-
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:Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/basic.py Co-Authored-By:
Nikita Titov <nekit94-08@mail.ru> * Update src/lightgbm_R.cpp Co-Authored-By:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
alberto.ferreira <alberto.ferreira@feedzai.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 11 Mar, 2020 1 commit
-
-
Nikita Titov authored
* fixed cpplint errors and disable warning only for VS * wrap more pragma warning
-
- 20 Feb, 2020 1 commit
-
-
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:
Nikita 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:
Nikita Titov <nekit94-08@mail.ru> * Update src/io/tree.cpp Co-Authored-By:
Nikita Titov <nekit94-08@mail.ru> * Update src/io/tree.cpp Co-Authored-By:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_basic.py Co-Authored-By:
Nikita Titov <nekit94-08@mail.ru> * Remoove imports Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 19 Feb, 2020 1 commit
-
-
Guolin Ke authored
* reset * fix a bug * fix test * Update c_api.h * support to no filter features by min_data * add warning in reset config * refine warnings for override dataset's parameter * some cleans * clean code * clean code * refine C API function doxygen comments * refined new param description * refined doxygen comments for R API function * removed stuff related to int8 * break long line in warning message * removed tests which results cannot be validated anymore * added test for warnings about unchangeable params * write parameter from dataset to booster * consider free_raw_data. * fix params * fix bug * implementing R * fix typo * filter params in R * fix R * not min_data * refined tests * fixed linting * refine * pilint * add docstring * fix docstring * R lint * updated description for C API function * use param aliases in Python * fixed typo * fixed typo * added more params to test * removed debug print * fix dataset construct place * fix merge bug * Update feature_histogram.hpp * add is_sparse back * remove unused parameters * fix lint * add data random seed * update * [R-package] centrallized Dataset parameter aliases and added tests on Dataset parameter updating (#2767) Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-
- 07 Oct, 2019 1 commit
-
-
James Lamb authored
* fixed miscellaneous typos in documentation * fix typo introduced in typo-fixing PR
-
- 03 Oct, 2019 1 commit
-
-
Guolin Ke authored
* check the shape for mat, csr and csc * guess from csr * support file checking * better error msg * grammar * clean code * code clean * check range for CSR * Update test_.py * Update test_.py * added tests
-
- 15 Sep, 2019 1 commit
-
-
Nikita Titov authored
-
- 28 May, 2019 1 commit
-
-
Nikita Titov authored
* fixed and enhanced format of C API * fixed description of dataset creation functions
-
- 25 May, 2019 1 commit
-
-
nabokovas authored
* [ci] for autogenerating docs * resolved comments * resolved comments 2 * update to 36c89134
-
- 05 May, 2019 1 commit
-
-
Nikita Titov authored
* use file to install deps for docs * added C_API docs * use breathe without exhale * added missed params descriptions and make Doxygen fail for warnings * escape char hotfix * ignore unknown directive for rstcheck * better handle env variable * hotfix for 'Unknown directive type' error with C_API=NO * Update .gitignore * fixed pylint * use already defined constants in conf.py * do not suppress Doxygen's output * addressed review comments * removed unneeded import
-
- 13 Apr, 2019 2 commits
-
-
Nikita Titov authored
-
Nikita Titov authored
-
- 11 Apr, 2019 1 commit
-
-
Nikita Titov authored
* added all necessary includes - fixed build/include_what_you_use error * fixed the order of includes (build/include_order)
-
- 25 Mar, 2019 1 commit
-
-
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
-
- 18 Mar, 2019 1 commit
-
-
Markus Cozowicz authored
* added API changes required for JNI performance optimizations (e.g. predict is 3-4x faster) * removed commented variables * removed commented header * renamed method to make it obvious it is created for Spark * fixed comment alignment * replaced GetPrimitiveArrayCritical with GetIntArrayElements for training. fixed dead-lock on databricks
-
- 26 Feb, 2019 1 commit
-
-
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
-
- 02 Feb, 2019 1 commit
-
-
Nikita Titov authored
-
- 23 Jan, 2019 1 commit
-
-
Guolin Ke authored
* add warnings for override parameters of Dataset * fix pep8 * add feature_penalty * refactor * add R's code * Update basic.py * Update basic.py * fix parameter bug * Update lgb.Dataset.R * fix a bug
-
- 29 Sep, 2018 1 commit
-
-
Guolin Ke authored
* add indexs in shuffle model. * fix pep * fix bug
-
- 27 Aug, 2018 1 commit
-
-
Nikita Titov authored
* added NumberOfTotalModel and NumModelPerIteration to C_API and python-package * fixed tests * added tests for current_iteration, num_trees, num_model_per_iteration methods * break huge line in test * hotfix
-
- 25 Aug, 2018 1 commit
-
-
Guolin Ke authored
* add support of refit-decay * add refit into c_api * add test * update document * Update basic.py * Update test_engine.py * Update basic.py * Update test_engine.py * fix comments * update test * fix the comments * Update test_engine.py
-
- 22 Aug, 2018 1 commit
-
-
Guolin Ke authored
* add start_iteration in model saving * fix test * shuffle models ability * fix bug * update document * refine * Update engine.py * Update basic.py * fix comments * fix comment
-
- 16 Aug, 2018 1 commit
-
-
Guolin Ke authored
* fix include * reduce dependency on header file * fix build
-
- 07 Jul, 2018 1 commit
-
-
Fedor Korotkiy authored
-
- 16 Dec, 2017 1 commit
-
-
Guolin Ke authored
-
- 15 Dec, 2017 2 commits
- 14 Dec, 2017 1 commit
-
-
Guolin Ke authored
-
- 29 Nov, 2017 1 commit
-
-
ww authored
-
- 24 Nov, 2017 1 commit
-
-
Guolin Ke authored
* use int64 for string * [R] Fatal when CSC exceed int32.max
-
- 12 Oct, 2017 1 commit
-
-
Guolin Ke authored
* add network apis. * support parallel loading dataset in c api. * fix bug * fix bug
-
- 11 Oct, 2017 1 commit
-
-
Guolin Ke authored
* thread local for the network interface. * fix bug.
-