- 04 Apr, 2019 1 commit
-
-
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
-
- 01 Apr, 2019 1 commit
-
-
Nikita Titov authored
-
- 26 Mar, 2019 1 commit
-
-
Nikita Titov authored
-
- 25 Mar, 2019 1 commit
-
-
Guolin Ke authored
-
- 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
-
- 24 Feb, 2019 1 commit
-
-
Nikita Titov authored
[docs] added notes about params usage when data is provided via path and removed unused param (#2024) * added notes about params usage when data is provided via path * fixed init score and valid init score params note * fixed binary params description
-
- 06 Feb, 2019 1 commit
-
-
Nikita Titov authored
-
- 02 Feb, 2019 1 commit
-
-
Nikita Titov authored
-
- 31 Jan, 2019 1 commit
-
-
Guolin Ke 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
-
- 18 Jan, 2019 1 commit
-
-
Nikita Titov authored
* removed comparison warning * fixed spacing
-
- 16 Jan, 2019 2 commits
-
-
Shahzad Lone authored
File: [LightGBM//src/io/dataset.cpp] Function: [138:FastFeatureBundling(...)] Reserving vectors where we already know the size to save on reallocation costs. Also removed a variable that was unnecessary.
-
remcob-gr authored
When loading a binary file, take feature penalty and monotone constraints from config if given there. (#1881) * When loading a binary file, take feature penalty from config if given there. * When loading a binary file, take feature penalty from config if given there. * Fix crash when num_features != num_total_features and feature_contri is given. * Apply the same logic to monotone_types_. * Fix indentation
-
- 20 Dec, 2018 1 commit
-
-
Lingyi Hu authored
-
- 01 Nov, 2018 1 commit
-
-
Nikita Titov authored
* renamed helper folder to helpers * added library dependencies check
-
- 10 Oct, 2018 1 commit
-
-
Guolin Ke authored
* fix ndcg consistency. * more stable sorts * Update gbdt_model_text.cpp * Update dataset.cpp * Update gbdt_model_text.cpp
-
- 09 Oct, 2018 1 commit
-
-
Guolin Ke authored
* average predictions for constant features * fix possible numerical issues in std::log. * fix pylint * fix bugs in c_api * fix styles * clean code for multi class * rewrite test * fix pylint * skip test_constant_features * refine test * fix tests * fix tests * update FAQ * fix test * Update FAQ.rst
-
- 11 Sep, 2018 1 commit
-
-
dmitryikh authored
* warning on categorical feature with sparse values * [docs] categorical features note
-
- 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
-
- 16 Aug, 2018 1 commit
-
-
Guolin Ke authored
* fix include * reduce dependency on header file * fix build
-
- 31 Jul, 2018 2 commits
-
-
Guolin Ke authored
* fix custom metric for multiclass * fix alias * fix bug * fix indent
-
Nikita Titov authored
-
- 29 Jul, 2018 1 commit
-
-
Guolin Ke authored
* fix all negative values in cat features * fix a bug
-
- 25 Jul, 2018 1 commit
-
-
Nikita Titov authored
* added new aliases for params * run helper/parameter_generator.py * removed useless test
-
- 12 Jul, 2018 2 commits
-
-
Nikita Titov authored
-
Guolin Ke authored
-
- 09 Jul, 2018 1 commit
-
-
Guolin Ke authored
-
- 14 Jun, 2018 1 commit
-
-
Guolin Ke authored
* add per-feature-penalites * fix comment
-
- 13 Jun, 2018 1 commit
-
-
Guolin Ke authored
-
- 06 Jun, 2018 1 commit
-
-
Nikita Titov authored
* removed excess whitespaces * don't use built-in name for variable * simplified line parsing * chanched link to related * run parameter_generator.py * removed old targets * use tuples instead of list where possible * hotfix for descriptions were erased and only last one was kept * run parameter_generator.py * separated checks from aliases section
-
- 03 Jun, 2018 1 commit
-
-
Nikita Titov authored
* fixed gpu test according new config file * refine Learning Control Parameters section * added missed check for length consistency of valid and valid init scores * added missed aliases for core params
-
- 02 Jun, 2018 1 commit
-
-
Nikita Titov authored
* generate parameters description from config file * made pylint happy * added checks description * fixed links handling in desc and descl2 fields * refine Core Parameters section * removed excess quotes from default values * fixed parameter type retrieve * added note about auto-generated parameters
-
- 25 May, 2018 1 commit
-
-
Guolin Ke authored
-
- 20 May, 2018 1 commit
-
-
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.
-
- 11 May, 2018 2 commits
-
-
Nikita Titov authored
* decode error description * added break line char in log massages
-
Tsukasa OMOTO authored
* Shut up warnings - warning: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct LightGBM::HistogramBinEntry'; use assignment or value-initialization instead [-Wclass-memaccess] - warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class std::tuple<int, double, double>' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] * void*
-
- 04 May, 2018 1 commit
-
-
Guolin Ke authored
-
- 03 May, 2018 1 commit
-
-
Guolin Ke authored
-
- 24 Apr, 2018 1 commit
-
-
Jerry Liu authored
-
- 18 Apr, 2018 1 commit
-
-
Guolin Ke authored
* first draft * refine a branching
-