1. 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
  2. 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
  3. 04 Jun, 2019 2 commits
  4. 27 May, 2019 1 commit
  5. 15 May, 2019 2 commits
  6. 06 May, 2019 1 commit
  7. 28 Apr, 2019 1 commit
  8. 19 Apr, 2019 2 commits
  9. 18 Apr, 2019 1 commit
  10. 25 Mar, 2019 1 commit
    • kenmatsu4's avatar
      [python] Use first_metric_only flag for early_stopping function. (#2049) · 011cc90a
      kenmatsu4 authored
      * Use first_metric_only flag for early_stopping function.
      
      In order to apply early stopping with only first metric, applying first_metric_only flag for early_stopping function.
      
      * upcate comment
      
      * Revert "upcate comment"
      
      This reverts commit 1e75a1a415cc16cfbe795181e148ebfe91469be4.
      
      * added test
      
      * fixed docstring
      
      * cut comment and save one line
      
      * document new feature
      011cc90a
  11. 04 Feb, 2019 1 commit
  12. 20 Dec, 2018 1 commit
  13. 25 Nov, 2018 1 commit
  14. 25 Oct, 2018 1 commit
  15. 16 Oct, 2018 1 commit
  16. 09 Oct, 2018 1 commit
  17. 03 Oct, 2018 1 commit
  18. 28 Sep, 2018 1 commit
  19. 25 Sep, 2018 1 commit
  20. 20 Sep, 2018 1 commit
  21. 19 Sep, 2018 1 commit
  22. 11 Sep, 2018 1 commit
  23. 06 Sep, 2018 1 commit
  24. 29 Aug, 2018 1 commit
  25. 27 Aug, 2018 1 commit
  26. 24 Aug, 2018 1 commit
  27. 19 Aug, 2018 1 commit
  28. 08 Aug, 2018 1 commit
  29. 07 Aug, 2018 1 commit
    • Nikita Titov's avatar
      [python] minor fixes in sklearn wrapper (#1572) · c04c0917
      Nikita Titov authored
      * refined random_state description
      
      * use neutral alias and fixed desc of eval_at param, since metric can be not only ndcg
      
      * simplified checks
      
      * consider verbose alias
      
      * fixed declaring function every loop iteration
      c04c0917
  30. 25 Jul, 2018 1 commit
  31. 20 Jul, 2018 1 commit
  32. 11 Jul, 2018 1 commit
    • Misha Lisovyi's avatar
      [python] Configure choice of `feature_importance_` in sklearn API (#1470) · dae75516
      Misha Lisovyi authored
      * ignore vim temporary files
      
      * add importance_type arg to sklearn API
      
      * update documentation info
      
      * remote a trailing space
      
      * remove trailing space (again :))
      
      * add instructions on importance choices to sklearn API
      
      * drop mention of constructor in the feature type setting
      
      * adding a test for different feture types
      
      * remove trailing spaces, make shorter assert in feature importance type handling test
      
      * fixing style issue introduced with the new test
      dae75516
  33. 03 Jul, 2018 1 commit
  34. 24 May, 2018 1 commit
  35. 21 May, 2018 1 commit
    • Nikita Titov's avatar
      [docs] documented crash in case categorical values is bigger max int32 (#1376) · a0c69417
      Nikita Titov authored
      * added checks for categorical features > max_int32
      
      * added tests
      
      * fixed pylint
      
      * removed warnings about overridden categorical features
      
      * Revert "removed warnings about overridden categorical features"
      
      This reverts commit 289a426c700ce8934a526cc456a1b1cd5c621db9.
      
      * a little bit more efficient checks
      
      * added notes about max values in categorical features
      
      * Revert "a little bit more efficient checks"
      
      This reverts commit bed88830243da21a2db454873c0e308126e05732.
      
      * Revert "fixed pylint"
      
      This reverts commit a229e1563b0abc1b13de6358577abf90bd529015.
      
      * Revert "added tests"
      
      This reverts commit 299e001b7550111555b80730d673d4f225cf5f74.
      
      * Revert "added checks for categorical features > max_int32"
      
      This reverts commit 2cc7afacde7c6366644f6988ccedc344752b68c7.
      a0c69417
  36. 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
  37. 08 May, 2018 1 commit
    • Nikita Titov's avatar
      [ci][python] updated pep8 to pycodestyle (#1358) · 21487d8a
      Nikita Titov authored
      * updated pep8 to pycodestyle
      
      * fixed E722 do not use bare 'except'
      
      * fixed W605 invalid escape sequence '\*'
      
      * fixed W504 line break after binary operator
      
      * ignore W605 invalid escape sequence '\*' in nuget builder
      
      * made pycodestyle happy
      21487d8a