- 10 May, 2021 1 commit
-
-
James Lamb authored
[docs] clarify docs for LGBM_BoosterGetEvalNames and LGBM_BoosterGetEvalCounts (fixes #4264) (#4270)
-
- 28 Dec, 2020 1 commit
-
-
Nikita Titov authored
* small code and docs refactoring * Update CMakeLists.txt * Update .vsts-ci.yml * Update test.sh * continue * continue * revert stable sort for all-unique values
-
- 24 Dec, 2020 1 commit
-
-
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
-
- 17 Oct, 2020 1 commit
-
-
Aakarsh Gopi authored
This allows for network retries, to scale well with the number of machines, and still retains the existing functionality for cases with smaller num_machines ( 500 ) Fixes #3301 Co-authored-by:Aakarsh Gopi <aakarsh@vaticlabs.com>
-
- 10 Aug, 2020 1 commit
-
-
Nikita Titov authored
-
- 06 Aug, 2020 1 commit
-
-
shiyu1994 authored
* [python] add start_iteration to python predict interface (#3058) * Apply suggestions from code review * Update lightgbm_R.h * Apply suggestions from code review * Apply suggestions from code review * fix R interface * update R documentation Co-authored-by:Guolin Ke <guolin.ke@outlook.com>
-
- 05 Aug, 2020 1 commit
-
-
Alberto Ferreira authored
* Fix bug introduced in PR #2992 for Fast predict * Faster Fast predict API * Add const to SingleRow Fast methods
-
- 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
-