1. 09 Sep, 2019 1 commit
  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. 07 Sep, 2019 2 commits
  4. 13 Aug, 2019 1 commit
  5. 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
  6. 31 Jul, 2019 1 commit
  7. 12 Jul, 2019 1 commit
    • Guolin Ke's avatar
      fix init_model with subset (#2252) · 7360cff9
      Guolin Ke authored
      * fix init_model with subset
      
      * Update basic.py
      
      * added test
      
      * fix predictor naming issue
      
      * Update basic.py
      
      * fix bug
      
      * fix pylint
      
      * fix comments
      
      * Update basic.py
      
      * Update basic.py
      
      * updated test
      
      * fixed bug
      
      * fixed lint
      
      * fix warning
      
      * add get_data before initial prediction
      
      * refine the warning in get_data
      
      * refine warning
      
      * Update basic.py
      7360cff9
  8. 07 Jul, 2019 1 commit
  9. 27 May, 2019 1 commit
  10. 22 Apr, 2019 1 commit
  11. 19 Apr, 2019 2 commits
  12. 13 Apr, 2019 1 commit
  13. 14 Mar, 2019 1 commit
  14. 09 Mar, 2019 1 commit
  15. 26 Feb, 2019 1 commit
    • remcob-gr's avatar
      Add ability to move features from one data set to another in memory (#2006) · 219c943d
      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
      219c943d
  16. 21 Feb, 2019 1 commit
  17. 04 Feb, 2019 1 commit
  18. 02 Feb, 2019 1 commit
  19. 23 Jan, 2019 1 commit
  20. 20 Jan, 2019 1 commit
  21. 20 Dec, 2018 1 commit
  22. 22 Oct, 2018 1 commit
  23. 16 Oct, 2018 1 commit
  24. 11 Oct, 2018 1 commit
  25. 09 Oct, 2018 1 commit
  26. 03 Oct, 2018 1 commit
  27. 02 Oct, 2018 2 commits
  28. 29 Sep, 2018 1 commit
  29. 25 Sep, 2018 1 commit
  30. 20 Sep, 2018 2 commits
  31. 11 Sep, 2018 1 commit
  32. 08 Sep, 2018 3 commits
  33. 06 Sep, 2018 1 commit
  34. 01 Sep, 2018 1 commit