- 30 Jul, 2022 1 commit
-
-
José Morales authored
* dump sorted parameter aliases * update lgb.check.wrapper_param * update _choose_param_value to look like lgb.check.wrapper_param * apply suggestions from review * reduce diff * move DumpAliases to config * remove unnecessary check * restore parameter check
-
- 29 Jul, 2022 1 commit
-
-
Belinda Trotta authored
-
- 03 Jul, 2022 1 commit
-
-
José Morales authored
add validate_features to refit
-
- 27 Jun, 2022 2 commits
-
-
José Morales authored
* allow custom weighing in sklearn api * add suggestions from review Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
José Morales authored
* check feature names and order in predict with dataframe * slice df in predict to remove the target * scramble features * handle int column names * only change column order when needed * include validate_features param in booster and sklearn estimators * document validate_features argument * use all_close in preds checks and check for assertion error to compare different arrays * perform remapping and checks in cpp * remove extra logs * fixes * revert cpp * proposal * remove extra arg * lint * restore _data_from_pandas arguments * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * move data conversion to Predictor.predict * use Vector2Ptr Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 19 Jun, 2022 2 commits
-
-
James Lamb authored
* [python] preserve None in _choose_param_value() * Update python-package/lightgbm/basic.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
david-cortes authored
[python-package] Use scikit-learn interpretation of negative `n_jobs` and change default to number of cores (#5105) * use joblib formula for negative n_jobs * correction for n_jobs calculation * use more robust cpu_count from joblib * change default n_jobs to number of cores * fix detection of num_threads under parameters * better handling of n_jobs at prediction time * fix incorrect usage of list.pop * correct pop/remove yet again * Update python-package/lightgbm/sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * add comments clarifying negative n_jobs * fix CI (code taken from PR comment) * change default to n_jobs=None in dask interface * corrections for handling of n_jobs * linter * corrections for predict-time n_jobs * linter * add more comments about n_jobs values * linter * more corrections * linter * linter * linter * Update python-package/lightgbm/compat.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * workaround for passing test about outputs with multiple threads * Update tests/python_package_test/test_sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update tests/python_package_test/test_sklearn.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 12 Jun, 2022 1 commit
-
-
James Lamb authored
-
- 08 Jun, 2022 1 commit
-
-
shiyu1994 authored
Clear split info buffer in cost efficient gradient boosting before every iteration (fix partially #3679) (#5164) * clear split info buffer in cegb_ before every iteration * check nullable of cegb_ in serial_tree_learner.cpp * add a test case for checking the split buffer in CEGB * swith to Threading::For instead of raw OpenMP * apply review suggestions * apply review comments * remove device cpu
-
- 05 Jun, 2022 2 commits
-
-
Nikita Titov authored
* Update test_basic.py * Address review comment
-
José Morales authored
* dont copy dataframe on rename * test with feature_name and 'auto'
-
- 24 May, 2022 1 commit
-
-
Nikita Titov authored
* Update basic.py * Update test_engine.py * Add return type annotation
-
- 22 May, 2022 1 commit
-
-
José Morales authored
[python-package] make a shallow copy when replacing categorical features with codes (fixes #4596) (#5225)
-
- 17 May, 2022 1 commit
-
-
José Morales authored
* allow using feature names when retrieving number of bins * unname vector * use default feature names when not defined * lint * apply suggestions * remove extra comma * add test with categorical feature * make feature names sync more transparent
-
- 10 May, 2022 1 commit
-
-
Nikita Titov authored
* Update dataset_loader.cpp * Update gbdt.h * Update regression_objective.hpp * Update linker_topo.cpp * Update xentropy_objective.hpp * Update regression_objective.hpp * investigate inf test failure * avoid overflow in regression objective * remove `test_inf_handle` test Co-authored-by:Guolin Ke <guolin.ke@outlook.com>
-
- 30 Apr, 2022 1 commit
-
-
José Morales authored
* check number of features when retrieving number of bins * check for negative values * lint
-
- 24 Apr, 2022 1 commit
-
-
Nikita Titov authored
-
- 22 Apr, 2022 1 commit
-
-
Miguel Trejo Marrufo authored
[python-package] remove 'fobj' in favor of passing custom objective function in params (fixes #3244) (#5052) * feat: support custom metrics in params * feat: support objective in params * test: custom objective and metric * fix: imports are incorrectly sorted * feat: convert eval metrics str and set to list * feat: convert single callable eval_metric to list * test: single callable objective in params Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * feat: callable fobj in basic cv function Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: cv support objective callable Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * fix: assert in cv_res Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * docs: objective callable in params Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * recover test_boost_from_average_with_single_leaf_trees Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * linters fail Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * remove metrics helper functions Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * feat: choose objective through _choose_param_values Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: test objective through _choose_param_values Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: test objective is callabe in train Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: parametrize choose_param_value with objective aliases Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: cv booster metric is none Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * fix: if string and callable choose callable Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test train uses custom objective metrics Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: cv uses custom objective metrics Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * refactor: remove fobj parameter in train and cv Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * refactor: objective through params in sklearn API Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * custom objective function in advanced_example Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * fix whitespackes lint * objective is none not a particular case for predict method Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * replace scipy.expit with custom implementation Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * test: set num_boost_round value to 20 Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * fix: custom objective default_value is none Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * refactor: remove self._fobj Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * custom_objective default value is None Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * refactor: variables name reference dummy_obj Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * linter errors * fix: process objective parameter when calling predict Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com> * linter errors * fix: objective is None during predict call Signed-off-by:
Miguel Trejo <armando.trejo.marrufo@gmail.com>
-
- 31 Mar, 2022 1 commit
-
-
Nikita Titov authored
-
- 30 Mar, 2022 2 commits
-
-
Nikita Titov authored
* make `log_evaluation` callback pickleable * make callback tests stricter * make `record_evaluation` callback picklable
-
Nikita Titov authored
* make `log_evaluation` callback pickleable * make callback tests stricter
-
- 28 Mar, 2022 1 commit
-
-
RustingSword authored
* [python] allow to register any custom logger * allow customizable logging method name; add unit test * [python] allow to register any custom logger * allow customizable logging method name; add unit test * update tests * fix lint error * remove unused method * fix docstring style Co-authored-by:gongxudong <gongxudong@kuaishou.com>
-
- 23 Mar, 2022 1 commit
-
-
shiyu1994 authored
* new cuda framework * add histogram construction kernel * before removing multi-gpu * new cuda framework * tree learner cuda kernels * single tree framework ready * single tree training framework * remove comments * boosting with cuda * optimize for best split find * data split * move boosting into cuda * parallel synchronize best split point * merge split data kernels * before code refactor * use tasks instead of features as units for split finding * refactor cuda best split finder * fix configuration error with small leaves in data split * skip histogram construction of too small leaf * skip split finding of invalid leaves stop when no leaf to split * support row wise with CUDA * copy data for split by column * copy data from host to CPU by column for data partition * add synchronize best splits for one leaf from multiple blocks * partition dense row data * fix sync best split from task blocks * add support for sparse row wise for CUDA * remove useless code * add l2 regression objective * sparse multi value bin enabled for CUDA * fix cuda ranking objective * support for number of items <= 2048 per query * speedup histogram construction by interleaving global memory access * split optimization * add cuda tree predictor * remove comma * refactor objective and score updater * before use struct * use structure for split information * use structure for leaf splits * return CUDASplitInfo directly after finding best split * split with CUDATree directly * use cuda row data in cuda histogram constructor * clean src/treelearner/cuda * gather shared cuda device functions * put shared CUDA functions into header file * change smaller leaf from <= back to < for consistent result with CPU * add tree predictor * remove useless cuda_tree_predictor * predict on CUDA with pipeline * add global sort algorithms * add global argsort for queries with many items in ranking tasks * remove limitation of maximum number of items per query in ranking * add cuda metrics * fix CUDA AUC * remove debug code * add regression metrics * remove useless file * don't use mask in shuffle reduce * add more regression objectives * fix cuda mape loss add cuda xentropy loss * use template for different versions of BitonicArgSortDevice * add multiclass metrics * add ndcg metric * fix cross entropy objectives and metrics * fix cross entropy and ndcg metrics * add support for customized objective in CUDA * complete multiclass ova for CUDA * separate cuda tree learner * use shuffle based prefix sum * clean up cuda_algorithms.hpp * add copy subset on CUDA * add bagging for CUDA * clean up code * copy gradients from host to device * support bagging without using subset * add support of bagging with subset for CUDAColumnData * add support of bagging with subset for dense CUDARowData * refactor copy sparse subrow * use copy subset for column subset * add reset train data and reset config for CUDA tree learner add deconstructors for cuda tree learner * add USE_CUDA ifdef to cuda tree learner files * check that dataset doesn't contain CUDA tree learner * remove printf debug information * use full new cuda tree learner only when using single GPU * disable all CUDA code when using CPU version * recover main.cpp * add cpp files for multi value bins * update LightGBM.vcxproj * update LightGBM.vcxproj fix lint errors * fix lint errors * fix lint errors * update Makevars fix lint errors * fix the case with 0 feature and 0 bin fix split finding for invalid leaves create cuda column data when loaded from bin file * fix lint errors hide GetRowWiseData when cuda is not used * recover default device type to cpu * fix na_as_missing case fix cuda feature meta information * fix UpdateDataIndexToLeafIndexKernel * create CUDA trees when needed in CUDADataPartition::UpdateTrainScore * add refit by tree for cuda tree learner * fix test_refit in test_engine.py * create set of large bin partitions in CUDARowData * add histogram construction for columns with a large number of bins * add find best split for categorical features on CUDA * add bitvectors for categorical split * cuda data partition split for categorical features * fix split tree with categorical feature * fix categorical feature splits * refactor cuda_data_partition.cu with multi-level templates * refactor CUDABestSplitFinder by grouping task information into struct * pre-allocate space for vector split_find_tasks_ in CUDABestSplitFinder * fix misuse of reference * remove useless changes * add support for path smoothing * virtual destructor for LightGBM::Tree * fix overlapped cat threshold in best split infos * reset histogram pointers in data partition and spllit finder in ResetConfig * comment useless parameter * fix reverse case when na is missing and default bin is zero * fix mfb_is_na and mfb_is_zero and is_single_feature_column * remove debug log * fix cat_l2 when one-hot fix gradient copy when data subset is used * switch shared histogram size according to CUDA version * gpu_use_dp=true when cuda test * revert modification in config.h * fix setting of gpu_use_dp=true in .ci/test.sh * fix linter errors * fix linter error remove useless change * recover main.cpp * separate cuda_exp and cuda * fix ci bash scripts add description for cuda_exp * add USE_CUDA_EXP flag * switch off USE_CUDA_EXP * revert changes in python-packages * more careful separation for USE_CUDA_EXP * fix CUDARowData::DivideCUDAFeatureGroups fix set fields for cuda metadata * revert config.h * fix test settings for cuda experimental version * skip some tests due to unsupported features or differences in implementation details for CUDA Experimental version * fix lint issue by adding a blank line * fix lint errors by resorting imports * fix lint errors by resorting imports * fix lint errors by resorting imports * merge cuda.yml and cuda_exp.yml * update python version in cuda.yml * remove cuda_exp.yml * remove unrelated changes * fix compilation warnings fix cuda exp ci task name * recover task * use multi-level template in histogram construction check split only in debug mode * ignore NVCC related lines in parameter_generator.py * update job name for CUDA tests * apply review suggestions * Update .github/workflows/cuda.yml Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update .github/workflows/cuda.yml Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * update header * remove useless TODOs * remove [TODO(shiyu1994): constrain the split with min_data_in_group] and record in #5062 * #include <LightGBM/utils/log.h> for USE_CUDA_EXP only * fix include order * fix include order * remove extra space * address review comments * add warning when cuda_exp is used together with deterministic * add comment about gpu_use_dp in .ci/test.sh * revert changing order of included headers Co-authored-by:
Yu Shi <shiyu1994@qq.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 22 Mar, 2022 1 commit
-
-
James Lamb authored
* clarify no-meaningful-features warning in Dataset construction (fixes #5081) * update tests
-
- 17 Mar, 2022 1 commit
-
-
Antoni Baum authored
* Turn `early_stopping` into a Callable class * Fix * Lint * Remove print * Fix order * Revert "Lint" This reverts commit 7ca8b557572446888cf793c0082d9a7efd1e29a7. * Apply suggestion from code review * Nit * Lint * Move callable class outside the func for pickling * Move _pickle and _unpickle to tests utils * Add early stopping callback picklability test * Nit * Fix * Lint * Improve type hint * Lint * Lint * Add cloudpickle to test_windows * Update tests/python_package_test/test_engine.py * Fix * Apply suggestions from code review
-
- 15 Mar, 2022 1 commit
-
-
José Morales authored
* expose FeatureNumBin in C api * parametrize min_data_in_bin and add test with max_bin_by_feature * include feature_num_bin in R package * add suggestion from review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * update error message and lint * lint * add call method * minor improvements in tests * add suggestions from review * lint * rename argument to feature in python and r packages Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 12 Mar, 2022 1 commit
-
-
José Morales authored
[python-package] [R-package] propagate the best iteration of cvbooster into the individual boosters (#5066)
-
- 09 Mar, 2022 1 commit
-
-
shiyu1994 authored
* fix duplicate added initial scores for single-leaf trees * add test case * Fix import in Python test * commit python suggestions Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 01 Mar, 2022 1 commit
-
-
Nikita Titov authored
[tests][python] move tests that use `train()` function defined in `engine.py` from `test_basic.py` to `test_engine.py` (#5034) * Update test_basic.py * Update test_engine.py * Update test_engine.py
-
- 24 Feb, 2022 1 commit
-
-
José Morales authored
* map nullable dtypes to regular float dtypes * cast x3 to float after introducing missing values * add test for regular dtypes * use .astype and then values. update nullable_dtypes test and include test for regular numpy dtypes * more specific allowed dtypes. test no copy when single float dtype df * use np.find_common_type. set np.float128 to None when it isn't supported * set default as type(None) * move tests that use lgb.train to test_engine * include np.float32 when finding common dtype * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * add linebreak Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 23 Feb, 2022 1 commit
-
-
José Morales authored
[python-package] use 2d collections for predictions, grads and hess in multiclass custom objective (#4925) * reshape predictions, grad and hess in multiclass custom objective * add sklearn test. move custom obj to utils. docs for numpy * use num_model_per_iteration to get num_classes * update docs and dask multiclass custom objective test * move reshaping to __inner_predict. add test for feval * add missing note. remove extra line
-
- 15 Feb, 2022 1 commit
-
-
José Morales authored
* make record_evaluation compatible with cv * test multiple metrics in cv * lint * fix cv with train metric. save stdv as well * always add dataset prefix to cv_agg * remove unused function
-
- 12 Feb, 2022 1 commit
-
-
Nikita Titov authored
* Update test_dask.py * Update test_engine.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py * Update test_engine.py * Update test_sklearn.py * Update test_sklearn.py * Update test_sklearn.py
-
- 22 Jan, 2022 1 commit
-
-
Miguel Trejo Marrufo authored
* feat: refit additional kwargs for dataset and predict * test: kwargs for refit method * fix: __init__ got multiple values for argument * fix: pycodestyle E302 error * refactor: dataset_params to avoid breaking change * refactor: expose all Dataset params in refit * feat: dataset_params updates new_params * fix: remove unnecessary params to test * test: parameters input are the same * docs: address StrikeRUS changes * test: refit test changes in train dataset * test: set init_score and decay_rate to zero
-
- 17 Jan, 2022 1 commit
-
-
James Lamb authored
* add test for custom objective with regressor * add test for custom binary classification objective with classifier * isort * got tests working for multiclass * update docs * train deeper model for classifier * Apply suggestions from code review Co-authored-by:
José Morales <jmoralz92@gmail.com> * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * update multiclass tests * Apply suggestions from code review Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * fix multiclass probabilities * linting Co-authored-by:
José Morales <jmoralz92@gmail.com> Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 30 Dec, 2021 1 commit
-
-
Yaqub Alwan authored
[python] raise an informative error instead of segfaulting when custom objective produces incorrect output (#4815) * fix for bad grads causing segfault * adjust checking criteria to properly reflect reality of multi-class classifiers * fix styling * Line break before operator * Update python-package/lightgbm/basic.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * Update python-package/lightgbm/basic.py Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * add a note to the C-API docs * rearrange text s;ightly * add some tests to python package * Update include/LightGBM/c_api.h Co-authored-by:
Nikita Titov <nekit94-08@mail.ru> * PR comments * match argument is a regex and our expression has brackets .. * rework tests * isorting imports * updating test to relfect that the python APi does not take pres/labels as a fobj function Co-authored-by:
Nikita Titov <nekit94-08@mail.ru>
-
- 26 Dec, 2021 1 commit
-
-
Nikita Titov authored
-
- 23 Dec, 2021 1 commit
-
-
Nikita Titov authored
-
- 20 Dec, 2021 1 commit
-
-
José Morales authored
[tests][python-package] change boston dataset to synthetic dataset in tests that don't check score (#4895) * change boston dataset to synthetic dataset in tests that don't evaluate score * format imports
-
- 18 Dec, 2021 1 commit
-
-
Nikita Titov authored
* Update test_sklearn.py * Update python_package.yml * Update python_package.yml * Update callback.py * Update callback.py
-