- 28 Oct, 2025 1 commit
-
-
Nikita Titov authored
* Update test_basic.py * dev * dev * dev * dev * dev * dev * Update test_basic.py * Update test_basic.py * Update test_basic.py * Update test_basic.py * Update test_basic.py * dev * dev * dev * dev * dev * dev * dev * dev * dev --------- Co-authored-by:James Lamb <jaylamb20@gmail.com>
-
- 21 Sep, 2025 1 commit
-
-
Thomas J. Fan authored
-
- 27 Jul, 2025 1 commit
-
-
James Lamb authored
[docs] [ci] skip scikit-learn 1.7.1 in docs build, make tests compatible with pandas 3.0, use new Azure DevOps pool (#6979)
-
- 14 Jul, 2025 1 commit
-
-
Nick Miller authored
* Add "PT" ruff code to pyproject.toml plus some exceptions * Extend PT011 for Exception, IndexError, TypeError * Fix PT001: Use `@pytest.fixture` over `@pytest.fixture()` * Fix PT011: pytest.raises({exception}) is too broad, set the match parameter or use a more specific exception * Fix PT012: `pytest.raises()` block should contain a single simple statement * Fix PT017: Found assertion on exception {name} in except block, use pytest.raises() instead * Fix PT018: Assertion should be broken down into multiple parts * Remove PT006 and PT007 from ignore list and fixup * Use *Exception and *Error glob to apply PT011 and ignore AssertionErrors --------- Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 21 May, 2025 1 commit
-
-
Nick Miller authored
* add error messages to test_list_to_1d_numpy * add error messages to test_training_works_if_client_not_provided_or_set_after_construction * ensure name value is captured in error message, update name for all _list_to_1d_numpy calls --------- Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 25 Apr, 2025 1 commit
-
-
Nick Miller authored
Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 26 Jan, 2025 1 commit
-
-
José Morales authored
[python-package] do not copy column-major numpy arrays when creating Dataset from list of arrays (#6773) Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 10 Dec, 2024 1 commit
-
-
José Morales authored
* do not copy column-major numpy arrays when creating Dataset * fix logic * lint * code review * update test * move dataset test to basic * increase features * assert single layout --------- Co-authored-by:Nikita Titov <nekit94-08@mail.ru>
-
- 12 Jul, 2024 1 commit
-
-
James Lamb authored
[python-package] respect 'verbose' setting when using custom objective function (fixes #6014) (#6428)
-
- 13 Jun, 2024 1 commit
-
-
James Lamb authored
[python-package] Add support for NumPy 2.0, test against nightly versions of dependencies (fixes #6454) (#6467)
-
- 05 Jun, 2024 1 commit
-
-
James Lamb authored
-
- 04 Jun, 2024 1 commit
-
-
James Lamb authored
[python-package] remove uses of deprecated NumPy random number generation APIs, require 'numpy>=1.17.0' (#6468)
-
- 23 Apr, 2024 1 commit
-
-
Yohei Kishimoto authored
-
- 21 Feb, 2024 1 commit
-
-
James Lamb authored
-
- 07 Dec, 2023 1 commit
-
-
José Morales authored
-
- 07 Nov, 2023 1 commit
-
-
James Lamb authored
[python-package] fix access to Dataset metadata in scikit-learn custom metrics and objectives (#6108)
-
- 06 Sep, 2023 1 commit
-
-
James Lamb authored
-
- 29 Jun, 2023 1 commit
-
-
James Lamb authored
-
- 16 May, 2023 1 commit
-
-
James Lamb authored
-
- 19 Apr, 2023 1 commit
-
-
James Lamb authored
-
- 15 Feb, 2023 1 commit
-
-
José Morales authored
-
- 01 Feb, 2023 1 commit
-
-
James Lamb authored
* [ci] speed up if-else, swig, and lint conda setup * add 'source activate' * python constraint * start removing cuda v1 * comment out CI * remove more references * revert some unnecessaary changes * revert a few more mistakes * revert another change that ignored params * sigh * remove CUDATreeLearner * fix tests, docs * fix quoting in setup.py * restore all CI * Apply suggestions from code review Co-authored-by:
shiyu1994 <shiyu_k1994@qq.com> * Apply suggestions from code review * completely remove cuda_exp, update docs --------- Co-authored-by:
shiyu1994 <shiyu_k1994@qq.com>
-
- 29 Dec, 2022 1 commit
-
-
James Lamb authored
-
- 04 Nov, 2022 1 commit
-
-
Madnex authored
-
- 28 Aug, 2022 1 commit
-
-
José Morales authored
* include parameters from reference dataset on copy * lint * set non-default parameters
-
- 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
-
- 19 Jun, 2022 1 commit
-
-
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>
-
- 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'
-
- 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
-
- 30 Apr, 2022 1 commit
-
-
José Morales authored
* check number of features when retrieving number of bins * check for negative values * lint
-
- 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>
-
- 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>
-
- 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>
-
- 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
-
- 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>
-
- 03 Dec, 2021 1 commit
-
-
Nikita Titov authored
* add C API function that returns all param names with aliases * add C API function that returns all param names with aliases * add R code * test R code * remove debug CI * fix R lint * refactor * run CI * fix R * fix * revert CI checks * revert changes in docs * Try to make function `const` Co-authored-by:
James Lamb <jaylamb20@gmail.com> * add `const` in cpp file * address review comments and sync with `master` Co-authored-by:
James Lamb <jaylamb20@gmail.com>
-