1. 20 Feb, 2020 1 commit
    • Joan Fontanals's avatar
      Add capability to get possible max and min values for a model (#2737) · 18e7de4f
      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: default avatarNikita 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: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/io/tree.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update src/io/tree.cpp
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Update tests/python_package_test/test_basic.py
      Co-Authored-By: default avatarNikita Titov <nekit94-08@mail.ru>
      
      * Remoove imports
      Co-authored-by: default avatarNikita Titov <nekit94-08@mail.ru>
      18e7de4f
  2. 19 Feb, 2020 1 commit
    • Guolin Ke's avatar
      [python] [R-package] refine the parameters for Dataset (#2594) · 9f79e840
      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: default avatarNikita Titov <nekit94-08@mail.ru>
      Co-authored-by: default avatarJames Lamb <jaylamb20@gmail.com>
      9f79e840
  3. 15 Feb, 2020 1 commit
  4. 06 Feb, 2020 1 commit
  5. 03 Feb, 2020 2 commits
  6. 16 Jan, 2020 1 commit
  7. 14 Jan, 2020 2 commits
  8. 12 Jan, 2020 1 commit
  9. 10 Jan, 2020 1 commit
    • Patrick Ford's avatar
      [python] Output model to a pandas DataFrame (#2592) · 301402c8
      Patrick Ford authored
      * trees_to_df method and unit test added. PEP 8 fixes for integration.
      
      * Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
      
      Post-review changes
      
      * changes from second round of reviews from striker
      
      * third round of review. formatting and added 2 more tests
      
      * replaced pandas dot attribute accessor with string attribute accessor
      
      * dealt with single tree edge case and minor refactor of tests
      
      * slight refactor for checking if tree is a single node
      301402c8
  10. 02 Jan, 2020 1 commit
  11. 29 Dec, 2019 1 commit
  12. 19 Dec, 2019 1 commit
  13. 09 Dec, 2019 1 commit
  14. 08 Dec, 2019 1 commit
  15. 05 Dec, 2019 2 commits
  16. 27 Oct, 2019 1 commit
  17. 22 Oct, 2019 1 commit
  18. 21 Oct, 2019 1 commit
  19. 16 Oct, 2019 1 commit
  20. 15 Oct, 2019 1 commit
  21. 13 Oct, 2019 1 commit
  22. 01 Oct, 2019 1 commit
  23. 26 Sep, 2019 4 commits
  24. 15 Sep, 2019 1 commit
    • kenmatsu4's avatar
      [python] Bug fix for first_metric_only on earlystopping. (#2209) · 84754399
      kenmatsu4 authored
      * Bug fix for first_metric_only if the first metric is train metric.
      
      * Update bug fix for feval issue.
      
      * Disable feval for first_metric_only.
      
      * Additional test items.
      
      * Fix wrong assertEqual settings & formating.
      
      * Change dataset of test.
      
      * Fix random seed for test.
      
      * Modiry assumed test result due to different sklearn verion between CI and local.
      
      * Remove f-string
      
      * Applying variable  assumed test result for test.
      
      * Fix flake8 error.
      
      * Modifying  in accordance with review comments.
      
      * Modifying for pylint.
      
      * simplified tests
      
      * Deleting error criteria `if eval_metric is None`.
      
      * Delete test items of classification.
      
      * Simplifying if condition.
      
      * Applying first_metric_only for sklearn wrapper.
      
      * Modifying test_sklearn for comforming to python 2.x
      
      * Fix flake8 error.
      
      * Additional fix for sklearn and add tests.
      
      * Bug fix and add test cases.
      
      * some refactor
      
      * fixed lint
      
      * fixed lint
      
      * Fix duplicated metrics scores to pass the test.
      
      * Fix the case first_metric_only not in params.
      
      * Converting metrics aliases.
      
      * Add comment.
      
      * Modify comment for pylint.
      
      * Modify comment for pydocstyle.
      
      * Using split test set for two eval_set.
      
      * added test case for metric aliases and length checks
      
      * minor style fixes
      
      * fixed rmse name and alias position
      
      * Fix the case metric=[]
      
      * Fix using env.model._train_data_name
      
      * Fix wrong test condition.
      
      * Move initial process to _init() func.
      
      * Modify test setting for test_sklearn & training data matching on callback.py
      
      * test_sklearn.py
      -> A test case for training is wrong, so fixed.
      
      * callback.py
      -> A condition of if statement for detecting test dataset is wrong, so fixed.
      
      * Support composite name metrics.
      
      * Remove metric check process & reduce redundant test cases.
      
      For #2273 fixed not only the order of metrics in cpp, removing metric check process at callback.py
      
      * Revised according to the matters pointed out on a review.
      
      * increased code readability
      
      * Fix the issue of order of validation set.
      
      * Changing to OrderdDict from default dict for score result.
      
      * added missed check in cv function for first_metric_only and feval co-occurrence
      
      * keep order only for metrics but not for datasets in best_score
      
      * move OrderedDict initialization to init phase
      
      * fixed minor printing issues
      
      * move first metric detection to init phase and split can be performed without checks
      
      * split only once during callback
      
      * removed excess code
      
      * fixed typo in variable name and squashed ifs
      
      * use setdefault
      
      * hotfix
      
      * fixed failing test
      
      * refined tests
      
      * refined sklearn test
      
      * Making "feval" effective on early stopping.
      
      * allow feval and first_metric_only for cv
      
      * removed unused code
      
      * added tests for feval
      
      * fixed printing
      
      * add note about whitespaces in feval name
      
      * Modifying final iteration process in case valid set is  training data.
      84754399
  25. 12 Sep, 2019 1 commit
  26. 09 Sep, 2019 1 commit
  27. 08 Sep, 2019 1 commit
    • CharlesAuguste's avatar
      [python] Improved python tree plots (#2304) · f52be9be
      CharlesAuguste authored
      * Some basic changes to the plot of the trees to make them readable.
      
      * Squeezed the information in the nodes.
      
      * Added colouring when a dictionnary mapping the features to the constraints is passed.
      
      * Fix spaces.
      
      * Added data percentage as an option in the nodes.
      
      * Squeezed the information in the leaves.
      
      * Important information is now in bold.
      
      * Added a legend for the color of monotone splits.
      
      * Changed "split_gain" to "gain" and "internal_value" to "value".
      
      * Sqeezed leaves a bit more.
      
      * Changed description in the legend.
      
      * Revert "Sqeezed leaves a bit more."
      
      This reverts commit dd8bf14a3ba604b0dfae3b7bb1c64b6784d15e03.
      
      * Increased the readability for the gain.
      
      * Tidied up the legend.
      
      * Added the data percentage in the leaves.
      
      * Added the monotone constraints to the dumped model.
      
      * Monotone constraints are now specified automatically when plotting trees.
      
      * Raise an exception instead of the bug that was here before.
      
      * Removed operators on the branches for a clearer design.
      
      * Small cleaning of the code.
      
      * Setting a monotone constraint on a categorical feature now returns an exception instead of doing nothing.
      
      * Fix bug when monotone constraints are empty.
      
      * Fix another bug when monotone constraints are empty.
      
      * Variable name change.
      
      * Added is / isn't on every edge of the trees.
      
      * Fix test "tree_create_digraph".
      
      * Add new test for plotting trees with monotone constraints.
      
      * Typo.
      
      * Update documentation of categorical features.
      
      * Typo.
      
      * Information in nodes more explicit.
      
      * Used regular strings instead of raw strings.
      
      * Small refactoring.
      
      * Some cleaning.
      
      * Added future statement.
      
      * Changed output for consistency.
      
      * Updated documentation.
      
      * Added comments for colors.
      
      * Changed text on edges for more clarity.
      
      * Small refactoring.
      
      * Modified text in leaves for consistency with nodes.
      
      * Updated default values and documentaton for consistency.
      
      * Replaced CHECK with Log::Fatal for user-friendliness.
      
      * Updated tests.
      
      * Typo.
      
      * Simplify imports.
      
      * Swapped count and weight to improve readibility of the leaves in the plotted trees.
      
      * Thresholds in bold.
      
      * Made information in nodes written in a specific order.
      
      * Added information to clarify legend.
      
      * Code cleaning.
      f52be9be
  28. 07 Sep, 2019 2 commits
  29. 06 Sep, 2019 1 commit
  30. 28 Aug, 2019 1 commit
  31. 17 Aug, 2019 1 commit
  32. 13 Aug, 2019 1 commit
  33. 07 Aug, 2019 1 commit
    • Madiyar's avatar
      [python] Deep copy params in _update_params of DataSet (#2310) · 5cff4e8e
      Madiyar authored
      Otherwise, it would print `basic.py:762: UserWarning: categorical_feature in param dict is overridden.`. Because when updating the params for a validation test, the updated params for the train test was used which contains `'categorical_column'`.
      5cff4e8e