v4.0.0
版本发布时间: 2023-07-14 02:43:08
microsoft/LightGBM最新发布版本:v4.5.0(2024-07-26 06:10:25)
Changes
This release contains all previously-unreleased changes since v3.3.1
over 1.5 years ago (link).
Summary of improvements:
- totally-rewritten CUDA implementation, and more operations in the CUDA implementation performed on the GPU
- quantized training can be used for greatly improved training speeds on CPU (paper link)
- support for C++17
- Python package:
- now uses
scikit-build-core
(link) as its build backend -
manylinux_2_28
Linux wheels now support GPU (OpenCL-based, not CUDA) build automatically... justpip install lightgbm
then pass{"device": "gpu"}
in params (thanks @jgiannuzzi!) - much more use of inline type hints, exported with
py.typed
so any code using LightGBM can benefit - support for Python 3.10, 3.11
- support for
pandas
nullable types - configurable threshold (
lgb.early_stopping(..., min_delta=n)
) for how much eval metrics must improve to be considered "improved" for early stopping - custom objective functions in Dask
-
scikit-learn
is no longer a required dependency - all callbacks are now pickleable (for better interoperability with e.g.
ray
, Dask) (thanks @Yard1!)
- now uses
- R package:
- efficient support for more data types in prediction, like
dgCMatrix
anddsparseMatrix
(thanks @david-cortes!) - much more idomatic interface... e.g. support for
saveRDS()
andreadRDS()
forBooster
,print()
andsummary()
methods forDataset
(thanks @david-cortes!) - various bug fixes related to multiple competing ways to provide parameters
- support for R 4.2, 4.3
- efficient support for more data types in prediction, like
Summary of breaking changes:
- Python package:
- dropped most testing, promise of support for Python 3.6 (although it should still technically be installable)
- dropped support for macOS Mojave (10.14)
- made many functions and class attributes private, including significantly reducing what is pulled in by
from lightgbm import *
- removed
setup.py
,pip install --install-optiion
supporrt - remove support for
pip install --install-option
(to work with newerpip
, see https://github.com/pypa/pip/issues/11358)- see https://github.com/microsoft/LightGBM/blob/master/python-package/README.rst for new patterns
- see https://github.com/pypa/pip/issues/11358 and #5061 for background
- dropped support for installation with
MSBUild.exe
... that now requires compilinglib_lightgbm.dll
separately and then building a wheel that bundles it
- R package:
- dropped support for Solaris
- removed most support for passing parameters through
...
- removed
lgb.unloader()
- switched to
predict(newdata, type = ...)
inpredict()
, for consistency with base R and most other machine learning projects
💡 New Features
- [python-package] add 'pandas' extra @jameslamb (#5937)
- [CUDA] Add more CUDA Regression Metrics @Xuweijia-buaa (#5924)
- [python-package] adding max_category_values parameter to create_tree_digraph method (fixes #5687) @moziada (#5818)
- [c++] support building with Ninja on Linux @jameslamb (#5910)
- add CMakeLists options to disable building CLI, installing headers @jameslamb (#5880)
- Add quantized training (CPU part) @shiyu1994 (#5800)
- [CUDA] Add quantile regression objective for new CUDA version @shiyu1994 (#5605)
- [CUDA] Add quantile metric for new CUDA version (contribute to #5163) @shiyu1994 (#5665)
- [python-package] add Booster.set_leaf_output method @jmoralez (#5712)
- feature: Add serialization of reference dataset @svotaw (#5427)
- [R-package] Accept factor labels and use their levels @david-cortes (#5341)
- [CUDA] Add binary logloss metric for new CUDA version @shiyu1994 (#5635)
- [CUDA] Add binary logloss metric for new CUDA version @shiyu1994 (#5635)
- Decouple Boosting Types (fixes #3128) @lyf-00 (#4827)
- [CUDA] Add L2 metric for new CUDA version @shiyu1994 (#5633)
- [CUDA] Add rmse metric for new CUDA version @shiyu1994 (#5611)
- Build integrated OpenCL Linux wheels @jgiannuzzi (#5252)
- [CUDA] Add Poisson regression objective for cuda_exp and refactor objective functions for cuda_exp @shiyu1994 (#5486)
- [CUDA] Add multiclass_ova objective for cuda_exp @shiyu1994 (#5491)
- [python-package] add install option to enable printing of time costs @Remy-Luciani (#5497)
- [python-package][R-package] load parameters from model file (fixes #2613) @jmoralez (#5424)
- [CUDA] Add multiclass objective for cuda_exp @shiyu1994 (#5473)
- [CUDA] Add feature interaction constraint for cuda_exp (fix #4785) @shiyu1994 (#5474)
- [CUDA] Add rank_xendcg objective for cuda_exp @shiyu1994 (#5472)
- [CUDA] Add fair regression objective for cuda_exp @shiyu1994 (#5469)
- [CUDA] Add lambdarank objective for cuda_exp @shiyu1994 (#5453)
- [CUDA] Add Huber regression objective for cuda_exp @shiyu1994 (#5462)
- [CUDA] Add L1 regression objective for cuda_exp @shiyu1994 (#5457)
- [CUDA] L2 regression objective for cuda_exp @shiyu1994 (#5452)
- [CUDA] Add binary objective for cuda_exp @shiyu1994 (#5425)
- [R-package] Add remainder of prediction funtions @david-cortes (#5312)
- [python-package] support saving and loading CVBooster (fixes #3556) @nyanp (#5160)
- feature: Add true streaming APIs to reduce client-side memory usage @svotaw (#5299)
- [python-package] highlight the path a sample takes through a tree in
plot_tree
andcreate_tree_digraph
(fixes #4784) @jmoralez (#5119) - reproducible parameter alias resolution for wrappers (fixes #5304) @jmoralez (#5338)
- [CUDA] Initial work for boosting and evaluation with CUDA @shiyu1994 (#5279)
- [python-package] add validate_features argument to refit @jmoralez (#5331)
- [python-package] check feature names in predict with dataframe (fixes #812) @jmoralez (#4909)
- [R-package] Add sparse feature contribution predictions @david-cortes (#5108)
- [python-package][R-package] allow using feature names when retrieving number of bins @jmoralez (#5116)
- [R-package] Keep row names in output from
predict
@david-cortes (#4977) - [python] make
reset_parameter
callback pickleable @StrikerRUS (#5109) - [python] make
record_evaluation
callback pickleable @StrikerRUS (#5107) - [python] make
log_evaluation
callback pickleable @StrikerRUS (#5101) - [python] allow to register any custom logger (fixes #4783) @RustingSword (#4880)
- Load initial scores with binary data files in CLI version @shiyu1994 (#4807)
- [R-package] Rename
weight
->weights
@david-cortes (#4975) - [CUDA] New CUDA version Part 1 @shiyu1994 (#4630)
- [python] make
early_stopping
callback pickleable @Yard1 (#5012) - [c-api][python-package][R-package] expose feature num bin @jmoralez (#5048)
- [python-package] [R-package] propagate the best iteration of cvbooster into the individual boosters @jmoralez (#5066)
- [python-package] add support for pandas nullable types @jmoralez (#4927)
- [R-package] Promote objective and init_score to top-level arguments in
lightgbm()
@david-cortes (#4976) - [python] Start supporting Python 3.10 @StrikerRUS (#4893)
- [python-package] support customizing Dataset creation in Booster.refit() (fixes #3038) @TremaMiguel (#4894)
- [dask] add support for custom objective functions (fixes #3934) @jameslamb (#4920)
- [R-package] added argument eval_train_metric to lgb.cv() (fixes #4911) @mayer79 (#4918)
- Add support for Visual Studio 2022 @StrikerRUS (#4889)
- Add C API function that returns all parameter names with their aliases @StrikerRUS (#4829)
- [python][sklearn] respect parameters for predictions in
init()
andset_params()
methods @StrikerRUS (#4822) - Add customized parser support @chjinche (#4782)
- [R-package] Add
print()
andsummary()
methods for Booster @david-cortes (#4686) - Add 'nrounds' as an alias for 'num_iterations' (fixes #4743) @mikemahoney218 (#4746)
- [python-package] early stopping min_delta (fixes #2526) @jmoralez (#4580)
- [python][sklearn] respect objective aliases @StrikerRUS (#4758)
- [python][sklearn] add
n_estimators_
andn_iter_
post-fit attributes @StrikerRUS (#4753)
🔨 Breaking
- [python-package] make Booster and Dataset 'handle' attributes private (fixes #5313) @jameslamb (#5947)
- [python-package] remove hard dependency on 'scikit-learn', fix minimal runtime dependencies @jameslamb (#5942)
- [python-package] [ci] switch to PEP 517 / 518 builds (remove
setup.py
) (fixes #5061) @jameslamb (#5759) - [ci] [python-package] replace 'python setup.py' with a shell script @jameslamb (#5837)
- [R-package] use C++17 in the CRAN package @jameslamb (#5690)
- [python-package] make some Booster and Dataset attributes private @jameslamb (#5723)
- [CUDA] consolidate CUDA versions @jameslamb (#5677)
- [python-package] make public API members explicit with module-level all variables @jameslamb (#5655)
- [ci] migrate CI from macOS 10.15 to 11 (fixes #5391) @StrikerRUS (#5396)
- [ci] switch to manylinux_2_28 for Linux artifacts (fixes #5514, fixes #5589) @jameslamb (#5580)
- fix: Adjust LGBM_DatasetCreateFromSampledColumn to handle distributed data @svotaw (#5344)
- [python-package] allow custom weighing in fobj for scikit-learn API (closes #5027) @jmoralez (#5211)
- [R-package] Use
type
argument to control prediction types @david-cortes (#5133) - [python-package] Use scikit-learn interpretation of negative
n_jobs
and change default to number of cores @david-cortes (#5105) - [python-package] remove Booster.set_attr() and Booster.attr() @jameslamb (#5272)
- remove support for Solaris (fixes #5216) @jameslamb (#5226)
- [R-package] stop automatically calculating eval metrics on training data in lightgbm() @jameslamb (#5209)
- [R-package] remove lgb.unloader() @jameslamb (#5204)
- [python-package] remove 'fobj' in favor of passing custom objective function in params @TremaMiguel (#5052)
- [python-package] remove is_reshape argument in Booster.predict (fixes #5115) @jmoralez (#5117)
- [R-package] Remove
reshape
argument inpredict
@david-cortes (#4971) - [R-package] Promote number of threads to top-level argument in
lightgbm()
and change default to number of cores @david-cortes (#4972) - [R-package] Rename
data
->newdata
inpredict
@david-cortes (#4973) - Build Windows artifacts in
windows-2019
image instead ofvs2017-win2016
@StrikerRUS (#5059) - [python-package] use 2d collections for predictions, grads and hess in multiclass custom objective @jmoralez (#4925)
- [R-package] prefer params to keyword argument in lgb.train() @jameslamb (#5007)
- [R-package] remove behavior where lightgbm() saves model to disk @david-cortes (#4974)
- [python-package] make record_evaluation compatible with cv (fixes #4943) @jmoralez (#4947)
- [python] remove
early_stopping_rounds
argument oftrain()
andcv()
functions @StrikerRUS (#4908) - [python] remove
evals_result
argument oftrain()
function @StrikerRUS (#4882) - [python][sklearn] do not replace empty dict with
None
forevals_result_
@StrikerRUS (#4884) - [python] Drop Python 3.6 support @StrikerRUS (#4891)
- [python] remove
verbose_eval
argument oftrain()
andcv()
functions @StrikerRUS (#4878) - [python] remove
verbose
argument ofmodel_from_string()
method of Booster class @StrikerRUS (#4877) - [python][sklearn] Remove
early_stopping_rounds
argument offit()
method @StrikerRUS (#4846) - [R-package] remove support for '...' in
slice()
@jameslamb (#4872) - [R-package] remove support for '...' in
lgb.Dataset()
@jameslamb (#4874) - [R-package] remove support for '...' in
dim.lgb.Dataset()
@jameslamb (#4873) - [R-package] remove support for '...' in lgb.train() @jameslamb (#4863)
- [R-package] remove support for '...' in
create_valid()
@jameslamb (#4865) - [R-package] remove support for 'info' in Dataset @jameslamb (#4866)
- [R-package] remove Dataset getinfo() @jameslamb (#4864)
- [R-package] remove support for '...' in lgb.cv() @jameslamb (#4860)
- [R-package] remove Dataset setinfo() @jameslamb (#4854)
- [R-package] remove support for '...' in predict() @jameslamb (#4857)
- [R-package] remove support for '...' in Booster reset_parameter() @jameslamb (#4856)
- [python][sklearn] unify values of
best_iteration
for sklearn and standard APIs @StrikerRUS (#4845) - [ci] migrate CI from macOS 10.14 to 10.15 and drop support of Mojave @StrikerRUS (#4849)
- [R-package] enable saving Booster with saveRDS() and loading it with readRDS() (fixes #4296) @david-cortes (#4685)
- [python][sklearn] remove
verbose
argument fromfit()
method @StrikerRUS (#4832) - [python] remove
learning_rates
argument oftrain()
function @StrikerRUS (#4831) - [python] remove "auto" value of
ylabel
argument ofplot_metric()
function @StrikerRUS (#4818) - [python] Remove
print_evaluation()
function @StrikerRUS (#4819) - [python] Remove
silent
argument @StrikerRUS (#4800)
🚀 Efficiency Improvement
- Add quantized training (CPU part) @shiyu1994 (#5800)
- [python-package] replace .values usage with .to_numpy() @superlaut (#5612)
- clear memory allocated for sampled data when constructing Dataset from text file @xuchuanyin (#4890)
- [python] Faster categorical column names selection @Neronuser (#4787)
- [R-package] parallelize compilation in CMake-based builds @jameslamb (#4525)
- [python-package] simplify Dataset processing of label @jameslamb (#5456)
- [python-package] make a shallow copy on dataframe rename (fixes #4596) @jmoralez (#5254)
- [python-package] make a shallow copy when replacing categorical features with codes (fixes #4596) @jmoralez (#5225)
- [R-package] reduce cost of repeated parameter alias checks @jameslamb (#5141)
- reduce duplicate computation in poisson, gamma, and tweedie objectives @lorentzenchr (#4950)
🐛 Bug Fixes
- move LightGBM-vendored json11 into a LightGBM-specific namespace (fixes #5944) @maskedcoder1337 (#5946)
- [dask] hold ports until training @jmoralez (#5890)
- update MSBuild solution to Windows SDK v10.0, add inet_pton define (fixes #5856) @jameslamb (#5884)
- Fix DEBUG-mode GPU builds @GinkoBalboa (#5778)
- cast data_index as size_t in cuda_row_data to avoid integer overflow @SiNZeRo (#5706)
- [ci] [R-package] fix clang 15 warning about unqualified calls (fixes #5661) @jameslamb (#5662)
- Check feature indexes in forced split file (fixes #5517) @btrotta (#5653)
- fix feature index in Dataset::AddFeaturesFrom (fixes #5410) @jameslamb (#5650)
- Check feature indexes in forced split file (fixes #5517) @btrotta (#5653)
- fix feature index in Dataset::AddFeaturesFrom (fixes #5410) @jameslamb (#5650)
- [ci] [python-package] fix missing import, test that lightgbm can be imported with only required dependencies (fixes #5631) @jameslamb (#5632)
- Fix OpenMP thread allocation in Linux @svotaw (#5551)
- [R-package] correctly quote paths on Windows for CMake-based builds @jameslamb (#5607)
- [ci] [python-package] correct tag on x86_64 wheels @jameslamb (#5598)
- [tests][dask] fix workers without data test (fixes #5537) @jmoralez (#5544)
- prefer 'vsnprintf' to 'vsprintf' @jameslamb (#5561)
- [ci] fix R-package CI jobs and compatibility with OpenMP 15+ (fixes #5549, #5562) @jameslamb (#5563)
- include parameters from reference dataset on subset (fixes #5402) @jmoralez (#5416)
- [python-package] ignore training set on early stopping callback (fixes #5354) @jmoralez (#5412)
- [fix] change the destructor of ScoreUpdater to virtual (fixes #5400) @shiyu1994 (#5403)
- Add default definition for GetColWiseData and GetColWiseData @shiyu1994 (#5413)
- Fix potential overflow in linear trees @StrikerRUS (#5395)
- Use double precision in threaded calculation of linear tree coefficients (fixes #5226) @btrotta (#5368)
- [R-package] raise an informative error when custom objective produces incorrect output (fixes #5323) @jmoralez (#5329)
- Clear split info buffer in cost efficient gradient boosting before every iteration (fix partially #3679) @shiyu1994 (#5164)
- [c++][fix] check nullable of bin mappers in dataset_loader.cpp (fix #5221) @shiyu1994 (#5258)
- [python] Fix training on subset constructed without params @StrikerRUS (#5213)
- Check existence of inet_pton for win32 in CMakeLists.txt (fixes #5019) @shiyu1994 (#5159)
- Fix potential overflow "Multiplication result converted to larger type" @StrikerRUS (#5189)
- [R-package] ensure that callbacks respect verbosity from params @jameslamb (#5199)
- fix precision lost in tree's ToIfElse @Grass-CLP (#5187)
- fix some wrong format specifiers @StrikerRUS (#5190)
- [R-package] allow use of categorical_features in Dataset when raw data does not have column names (fixes #4374) @jmoralez (#5184)
- [c-api] check number of features when retrieving number of bins @jmoralez (#5183)
- [CUDA] Fix integer overflow in cuda row-wise data @shiyu1994 (#5167)
- [R-package] ensure values in params override keyword arguments to predict() (fixes #4670) @jameslamb (#5122)
- check nullable of bin_mappers in DatasetLoader::CheckCategoricalFeatureNumBin (fix #5145) @shiyu1994 (#5146)
- [CUDA] Fix row-wise histogram construction with dense data matrix @shiyu1994 (#5103)
- [fix] fix duplicate added initial scores for single-leaf trees @shiyu1994 (#5050)
- [python] fixes for supporting 2d numpy arrays for predictions, grads and hess in multiclass custom objective and eval @StrikerRUS (#5030)
- CUDATreeLearner: free GPU memory in destructor if any allocated @denmoroz (#4963)
- Use
delete[]
where appropriate instead ofdelete
@david-cortes (#4984) - Pass train dataset parser config to valid dataset loading parser @chjinche (#4985)
- [R-package] Fix custom objective detection in
print.lgb.Booster()
@StrikerRUS (#4941) - gpu allocate memory overflow (fixes #4926) @jiapengwen (#4928)
- [R-package] respect 'verbose' argument in lgb.cv() (fixes #4667) @jameslamb (#4903)
- [R-package] Apply patch for R4.2 on Windows @shiyu1994 (#4923)
- [R-package] respect aliases for objective and metric and lgb.train() and lgb.cv() @jameslamb (#4913)
- [python] raise an informative error instead of segfaulting when custom objective produces incorrect output @yaxxie (#4815)
- [R-package] fix handling of duplicate parameters (fixes #4521) @jameslamb (#4914)
- [R-package] update parameter 'verbosity' based on keyword arg 'verbose' @jameslamb (#4899)
- [R-package] fix CVBooster reset_parameter() method (fixes #4900) @jameslamb (#4901)
- [python] reset storage in record evaluation callback each time before starting training @StrikerRUS (#4885)
- [python] reset storages in early stopping callback after finishing training @StrikerRUS (#4868)
- [R-package] fix
--no-build-vignettes
option forbuild-cran-package.sh
@jameslamb (#4848) - [python][docs] fix type hints for custom functions and remove vague
array-like
wording @StrikerRUS (#4816) - Always respect forced splits, even when feature_fraction < 1.0 (fixes #4601) @tongwu-msft (#4725)
- Reset OpenMP thread number if num_threads <= 0 @hzy46 (#4704)
📖 Documentation
- [docs] fix broken link to contributor GitHub account @jameslamb (#5959)
- [docs] add versionadded notes for v4.0.0 features @jameslamb (#5948)
- [docs] Add scikit-learn for intersphinx (fixes #5954) @thomasjpfan (#5956)
- [docs] more fixes for broken links @jameslamb (#5941)
- [docs] remove outdated information in Python install docs @jameslamb (#5938)
- [docs] fix broken links in docs @jameslamb (#5939)
- [docs] add quantized training paper to docs @jameslamb (#5923)
- [docs] Update Quick Start @jaceklaskowski (#5900)
- [docs] recommend a more efficient source installation of the python package @jameslamb (#5881)
- adjusted bagging_freq parameter description @moziada (#5698)
- [docs] remove unnecessary interactivity in 'docker run' instructions @jameslamb (#5692)
- [docs] [R-package] mention {bonsai} in the docs @jameslamb (#5652)
- [docs] encourage use of releases for GUI-only installations @jameslamb (#5649)
- [docs] update CPU dockerfiles (fixes #5550) @jameslamb (#5601)
- [docs] update cran-comments.md for v3.3.4 release @jameslamb (#5646)
- [docs] add postgresml to list of external repos @jameslamb (#5565)
- [docs] Improve docs: fix consistency of dots in C API and add notes about new
time-costs
Python-package build option @StrikerRUS (#5554) - [R-package] [docs] use CRAN canonical form for package links @jameslamb (#5504)
- [docs] Fix link to Optuna's LightGBMTuner example @knshnb (#5519)
- [docs]fix a typo in docs/Features.rst @JiantingFeng (#5463)
- Use ROC-AUC metric for classification model in examples @Green-16 (#5440)
- [docs] Fix links @StrikerRUS (#5451)
- [R-package] Fix docstrings for predict functions @StrikerRUS (#5444)
- [R-package] [docs] clarify shape of predictions @jameslamb (#5384)
- [python-package] Improve readme on experimental cuda usage @thomasaarholt (#5386)
- [docs] [R-package] document how to regenerate roxygen docs @jameslamb (#5382)
- [R-package] [docs] fix typo in documentation on init_model @sebffischer (#5379)
- [docs] [R-package] upgrade to roxygen2 7.2.1 @jameslamb (#5381)
- [ci] make check-docs job compatible with rstcheck 6.x @jameslamb (#5388)
- [docs][python] Fix return types in docstrings @StrikerRUS (#5326)
- [docs] set language = 'en' in Sphinx config @jameslamb (#5322)
- [R-package] [docs] document difference between lightgbm() and lgb.train() (fixes #5203) @jameslamb (#5273)
- [docs] Use https links in docs @StrikerRUS (#5284)
- [R-package] [docs] upgrade docs to roxygen2==7.2.0 @jameslamb (#5251)
- [docs] Update broken links in docs @StrikerRUS (#5265)
- [docs] add Microsoft security policy (fixes #5235) @jameslamb (#5264)
- [R-package] update roles in DESCRIPTION @StrikerRUS (#5192)
- [docs] Fix formula in path smoothing docs (fixes #5139) @samFarrellDay (#5154)
- [docs] Document behaviour of the first linear estimator @Pablo-Davila (#5132)
- [docs] use 'docker run --rm' in valgrind instructions @jameslamb (#5127)
- [docs] use 'docker run --rm' in autoconf instructions @jameslamb (#5125)
- [docs] Improve rendering of class properties in docs @StrikerRUS (#5078)
- [python-package][docs] Booster eval methods accept list of callables @TremaMiguel (#5054)
- [docs] update categorical feature description in Advanced Topics @StrikerRUS (#5044)
- Correct documentation for sparse predictions @david-cortes (#4979)
- [docs][R-package] Use direct link for the list of supported objectives @StrikerRUS (#5029)
- [Docs] Weights non-negative for train data @TremaMiguel (#5013)
- [docs] improve docs for sklearn wrapper @StrikerRUS (#5026)
- [docs] clarify that categorical features will be converted to integers internally @jmoralez (#4959)
- [docs] clarify that custom eval functions are not only used on training data @jameslamb (#5011)
- [docs] document rounding behavior of floating point numbers in categorical features @StrikerRUS (#5009)
- Change docs for feval @akshitadixit (#5002)
- [docs] document
conda-forge
channel preference overdefault
one and describe possible workaround for OpenMP conflicts in FAQ @StrikerRUS (#4994) - Add Nyoka to README @StrikerRUS (#4992)
- [docs] minor docs improvements @StrikerRUS (#4938)
- [R-package] [docs] fix calculation of R test coverage (fixes #4919) @jameslamb (#4922)
- [docs] Update link to FLAML code example @qingyun-wu (#4892)
- [R-package] [docs] add Michael Mayer to DESCRIPTION @jameslamb (#4867)
- [docs] document that
pred_early_stop
can be used only in normal and raw scores prediction @StrikerRUS (#4823) - [R-package] [docs] add intro vignette (#3946) @jameslamb (#4775)
- [docs] fix broken SynapseML link @StrikerRUS (#4795)
- [docs] [dask] Add return information to Dask fit() docs (fixes #4402) @jameslamb (#4716)
- [docs] add specific estimator names to sklearn fit() docs @jameslamb (#4774)
- [docs] [R-package] update cran-comments for v3.3.1 release @jameslamb (#4738)
- [ci] only use conda-forge when installing R packages in docs builds @jameslamb (#4767)
- [docs] improve docs about
nthreads
parameter @StrikerRUS (#4756) - [docs] update link to LightGBM Ruby @StrikerRUS (#4740)
- [docs] fix broken SynapseML link @jameslamb (#4712)
🧰 Maintenance
- [c++] virtual destructor for gradient discretizer @shiyu1994 (#5965)
- [python-package] avoid data_has_header check in predict() @jameslamb (#5970)
- [ci] [python-package] Add CI job testing compatibility with oldest possible versions @jameslamb (#5936)
- [ci] add Python 3.11 test coverage @jameslamb (#5922)
- [ci] increase valgrind timeout to 6 hours @jameslamb (#5953)
- [python-package] ignore pip cache dir in build-python.sh @jameslamb (#5945)
- [ci] remove brew update-reset again (fixes #5670) @jameslamb (#5925)
- [python-package] ensure 'build-python.sh' always reinstalls (fixes #5906) @jameslamb (#5907)
- [python-package] remove unnecessary Boost files from sdists @jameslamb (#5912)
- [ci] stop relying on cran.microsoft.com in CI jobs @jameslamb (#5909)
- [ci] use an MRAN snapshot for R 3.6 Linux jobs (fixes #5898) @jameslamb (#5903)
- [ci] [python-package] use ruff, enforce flake8-bugbear and flake8-comprehensions checks @jameslamb (#5871)
- [ci] [python-package] fix mypy errors in sklearn.py @jameslamb (#5886)
- Add SWIG byte pointers @svotaw (#5832)
- [ci] [python-package] fix mypy error in Dataset.set_categorical_feature() @jameslamb (#5883)
- [ci] fix wheel renaming in test.sh @jameslamb (#5877)
- [ci] [python-package] tell mypy 'auto' has a special meaning for feature_name and categorical_feature @jameslamb (#5874)
- [ci] [python-package] move tool configuration to pyproject.toml @jameslamb (#5872)
- [ci] use Python 3.11 in linting CI job @jameslamb (#5873)
- [ci] use lowercase library names in linker flags @characat0 (#5870)
- [ci] minor fixes to build-python.sh @jameslamb (#5869)
- [ci] [python-package] resolve remaining mypy errors in dask.py @jameslamb (#5858)
- [ci] [python-package] check distributions with pydistcheck @jameslamb (#5838)
- [ci] remove R 3.6 macOS CI jobs @jameslamb (#5859)
- [ci] [python-package] fix mypy errors about Dataset._set_init_score_by_predictor() @jameslamb (#5850)
- [python-package] [ci] fix mypy errors in Booster.__inner_predict() @jameslamb (#5852)
- [ci] [python-package] fix mypy errors in Booster.refit() @jameslamb (#5853)
- [ci] add tests on cv() with an init_model @jameslamb (#5851)
- [ci] [python-package] fix mypy error about dask._predict_part() @jameslamb (#5849)
- [ci] [python-package] fix mypy error about return_cvbooster in cv() @jameslamb (#5845)
- [python-package] move validation up earlier in cv() and train() @jameslamb (#5836)
- [python-package] remove default arguments in internal functions @jameslamb (#5834)
- [python-package] fix mypy error about used_indices in Dataset.subset() @jameslamb (#5833)
- [ci] put a temporary ceiling on pip @jameslamb (#5835)
- [ci] [dask] fix mypy errors about predict() signature @jameslamb (#5827)
- [python-package] fix mypy error in Dataset.__init_from_list_np2d() @jameslamb (#5826)
- [ci] [python-package] fix mypy errors in cv() @jameslamb (#5828)
- [python-package] [docs] complete type annotations for scikit-learn fit() methods @jameslamb (#5816)
- [ci] remove pin on tinytex in R CI jobs @jameslamb (#5821)
- [ci] moving linting into small scripts (fixes #5142) @jameslamb (#5809)
- [python-package] add more type annotations in basic.py @jameslamb (#5812)
- [python-package] add type annotations on some array methods in basic.py @jameslamb (#5813)
- [python-package] add type annotations on Booster.trees_to_dataframe() inner functions @jameslamb (#5811)
- [python-package] fix type annotations for eval result tracking @jameslamb (#5793)
- [python-package] fix mypy error in Booster.get_split_value_histogram() @jameslamb (#5794)
- [python-package] fix mypy errors about early stopping rounds @jameslamb (#5795)
- [python-package] fix mypy errors about custom eval and metric functions @jameslamb (#5790)
- [python-packages] [docs] add type hints and define 'array-like' for X, y, group in scikit-learn interface @jameslamb (#5757)
- remove unused variables from bin.cpp @jmoralez (#5801)
- [ci] fix LaTeX tools installation in R jobs (fixes #5802) @jameslamb (#5807)
- [python-package] fix mypy errors about scikit-learn properties @jameslamb (#5788)
- [python-package] add hint on dtypes in Dataset.set_field() @jameslamb (#5787)
- [python-package] replace uses of scipy.sparse.issparse() with isinstance() @jameslamb (#5784)
- [python-package] fix mypy error about cpu_count() methods @jameslamb (#5786)
- [python-package] fix mypy errors about Dataset.params @jameslamb (#5780)
- [python-package] ignore some mypy errors in _DaskLGBMModel @jameslamb (#5774)
- [python-package] fix mypy errors about ctypes pointers @jameslamb (#5779)
- [python-package] fix mypy error about dask._HostWorkers.eq() @jameslamb (#5782)
- [python-package] fix mypy errors about validation sets in sklearn.py @jameslamb (#5724)
- [python-package] fix mypy errors about missing annotations and incompatible types @IdoKendo (#5672)
- [python-package] add type hints on sklearn properties @jameslamb (#5771)
- [python-package] add type hints for functions accepting dtypes @jameslamb (#5773)
- [ci] isolate c_api_test library-loading from Python source tree @jameslamb (#5761)
- [python-package] [dask] add type annotations on dask._HostWorkers @jameslamb (#5766)
- [python-package] [dask] fix mypy errors about Dask fit() return types @jameslamb (#5756)
- [python-package] use keyword arguments in predict() calls @jameslamb (#5755)
- [python-package] add type hints on label @jameslamb (#5754)
- [python-package] add type hints on group, init_score, and weight @jameslamb (#5753)
- [python-package] add type hints on raw data passed to Dataset and Booster @jameslamb (#5752)
- [python-package] add type hints on feature_name and categorical_feature in sklearn interface @jameslamb (#5747)
- [python-package] add type hints on fit() return and callbacks in sklearn.py @jameslamb (#5748)
- [python-package] add type hints on Booster predict() methods @jameslamb (#5749)
- [python-package] add more type hints in basic.py @jameslamb (#5729)
- [python-package] fix mypy error about ctypes array creation @jameslamb (#5726)
- [python-package] add type hints on Dataset feature processing @jameslamb (#5745)
- [ci] speed up conda setup for macOS and Linux jobs @jameslamb (#5743)
- [python-package] remove default values in internal functions @jameslamb (#5730)
- [python-package] use _DatasetHandle type hint @jameslamb (#5740)
- [ci] skip Dask tests on GPU builds @jameslamb (#5741)
- [python-package] fix _LGBM_CustomMetricFunction typing @Deimos357 (#5736)
- [python-package] fix mypy errors about Dataset handle @jameslamb (#5722)
- [python-package] fix mypy errors about cv() internals @jameslamb (#5725)
- [python-package] change types in sklearn.py initializations @jameslamb (#5718)
- [python-package] [dask] fix mypy errors regarding predict_proba @IdoKendo (#5728)
- [python-package] fix mypy errors about custom eval functions in sklearn.py @jameslamb (#5721)
- [python-package] fix mypy error about log callback @jameslamb (#5720)
- [python-package] fix mypy errors around eval metrics in sklearn.py @jameslamb (#5719)
- [python-package] fix mypy errors about _InnerPredictor @jameslamb (#5714)
- [dask] fix mypy errors about padded eval_results @jameslamb (#5716)
- [python-package] fix mypy errors in compat.py and libpath.py @jameslamb (#5711)
- [python-package] add more type hints in sklearn.py @jameslamb (#5710)
- [python-package] add type hints on plotting code @jameslamb (#5708)
- [ci] [python-package] enforce 'twine check' and 'check-wheel-contents' on Python distributions @jameslamb (#5707)
- [python-package] declare the use of inline type hints @jameslamb (#5709)
- [python-package] remove some inner function definitions @jameslamb (#5704)
- [python-package] add more type hints @jameslamb (#5694)
- [ci] restore flake8 checks @jameslamb (#5703)
- [python-package] Fix mypy errors for fit() incompatible signature @IdoKendo (#5679)
- [R-package] discourage use of regex for fixed string comparisons @jameslamb (#5685)
- [ci] get clang-15 from bookworm repository (fixes #5688) @jameslamb (#5689)
- [ci] speed up conda setup for some jobs @jameslamb (#5668)
- bump development version to v3.3.5.99 @jameslamb (#5681)
- [python-package] Fix mypy errors for predict() method @IdoKendo (#5678)
- [python-package] fix mypy errors for eval_at and basic @IdoKendo (#5674)
- [ci] [python-package] enforce flake8 checks (fixes #5566) @jameslamb (#5659)
- [python-package] remove
Dataset.feature_penalty
@jameslamb (#5656) - [ci] fix brew errors in R macOS jobs (fixes #5670) @jameslamb (#5671)
- [ci] run r-package Linux jobs in containers @jameslamb (#5638)
- [ci][dask][gpu] Run Dask tests with LightGBM GPU version @jgiannuzzi (#5292)
- [python-package] prefix internal objects with '_' @jameslamb (#5654)
- [ci] speed up Windows jobs (fixes #5647) @jameslamb (#5648)
- [ci] automatically cancel GitHub Actions runs for outdated commits @jameslamb (#5651)
- [ci][dask][gpu] Run Dask tests with LightGBM GPU version @jgiannuzzi (#5292)
- [python-package] prefix internal objects with '_' @jameslamb (#5654)
- [ci] speed up Windows jobs (fixes #5647) @jameslamb (#5648)
- [ci] automatically cancel GitHub Actions runs for outdated commits @jameslamb (#5651)
- [ci] use LightGBM CI image for building aarch64 wheels (fixes #5595) @jameslamb (#5622)
- [ci] allow ubuntu-latest to float for some GitHub Actions jobs @jameslamb (#5644)
- [ci] fix locale-setting in jobs running in ubuntu container @jameslamb (#5643)
- [ci] make GitHub Actions branch protection stricter (fixes #5501) @jameslamb (#5645)
- [ci] Use Ubuntu 22.04 as
ubuntu-latest
at CI (fixes #5186) @StrikerRUS (#5288) - [tests][python-package] remove remaining tests using load_boston (fixes #4793) @jmoralez (#5581)
- [python-package] prefix c_int_array and c_float_array with _ @OmarManzoor (#5614)
- [ci] test against R 4.2.2 @jameslamb (#5621)
- [python-package] prefix basic.convert_from_sliced_object with _ @OmarManzoor (#5613)
- [ci] detect non-default dynamic symbols in check_dynamic_dependencies.py @jameslamb (#5610)
- [ci] add docs and specific error messages in check_dynamic_dependencies.py @jameslamb (#5582)
- [ci] update versions of GitHub Actions @jameslamb (#5590)
- [swig] switch to SWIG_ADD_LIBRARY() in CMakeLists.txt (fixes #5586) @shogohida (#5603)
- [ci] switch from MiKTeX to tinytex on Windows R jobs (fixes #5600) @jameslamb (#5602)
- [python-package] prefix several internal functions with _ @Madnex (#5545)
- [python-package] remove unused imports @jameslamb (#5559)
- [ci] prefer CPython in Linux and macOS test environment @StrikerRUS (#5555)
- [docs] bump development version to 3.3.3.99 @jameslamb (#5533)
- [ci] upgrade macOS_regular job to Python 3.9 (fixes #5569) @jameslamb (#5570)
- [tests] Fix cpp streaming data tests @StrikerRUS (#5481)
- [python-package] prefix is_numpy_column_array with _ @Madnex (#5531)
- renamed cur_cat => cur_cat_idx and added some comments @zyxue (#5522)
- [python-package] prefix cast_numpy_array_to_dtype with _ @Madnex (#5532)
- suppress alias warnings with verbosity<0 (fixes #4518) @jmoralez (#5253)
- renamed tmp_num_sample_values to non_na_cnt @zyxue (#5521)
- [ci] run Appveyor checks on PRs targeting release/ branches @jameslamb (#5528)
- [ci] run CI on pull requests targeting release/ branches @jameslamb (#5527)
- [python-package] prefix is_numpy_1d_array with _ @Madnex (#5520)
- replace
pandas.Series.iteritems
withpandas.Series.items
@jmoralez (#5506) - [ci] prefer CPython in Windows test environment and use safer approach for cleaning up network (fixes #5509) @jameslamb (#5510)
- [ci] test against R 4.2 for macOS and Linux CI jobs @jameslamb (#5484)
- [R-package] improve safety of index selection in plotting @jameslamb (#5485)
- [ci] [R-package] ensure that MSVC jobs fail when tests fail (fixes #5439) @jameslamb (#5448)
- [python-package] add more hints in sklearn.py @jameslamb (#5460)
- [R-package] [ci] restore R 3.6 Windows cran CI job (fixes #5036) @jameslamb (#5479)
- Remove redundant whitespaces @ch3rn0v (#5480)
- fix references to 'object function' @jameslamb (#5468)
- [python] Fix typehints in Sequence API @StrikerRUS (#5465)
- fix: Revert leftover debugging in streaming test @svotaw (#5467)
- Fix CUDA
#ifndef
guards @StrikerRUS (#5466) - [python-package] add type hints on Dataset constructors @jameslamb (#5458)
- Add streaming concurrency tests @svotaw (#5437)
- Rename Metadata num_classes to be more clear @svotaw (#5461)
- [R-package] fix function references in error messages @jameslamb (#5455)
- [python-package] fix type hints on ctypes array converters @jameslamb (#5446)
- [python-package] fix mypy errors about callbacks @jameslamb (#5450)
- [python-package] add type hints on empty initializations @jameslamb (#5445)
- [python-package] fix mypy error about type change in Dataset.feature_num_bin() @jameslamb (#5447)
- [ci][fix] Fix cuda_exp ci @shiyu1994 (#5438)
- [python] remove unused import @StrikerRUS (#5443)
- [ci] bump CUDA version from
11.7.0
to11.7.1
at CI @StrikerRUS (#5442) - [python-package] add type hints on Booster eval methods @jameslamb (#5433)
- update tree to if-else @jmoralez (#5422)
- [ci] bump CUDA version from
11.6.2
to11.7.0
at CI @StrikerRUS (#5287) - [python-package] add more type hints on Dataset @jameslamb (#5431)
- [python-package] add more type hints on Booster @jameslamb (#5432)
- [ci] increase valgrind bytes lost limit to 352 @jameslamb (#5429)
- [python] Prefix
basic.is_numeric()
with _ @ak04p (#5421) - [ci] increase valgrind timeout to 5 hours @jameslamb (#5414)
- [python-package] add more type hints in basic.py @jameslamb (#5407)
- [python-package] prefix NUMERIC_TYPES with _ to make it a internal object @thomasjpfan (#5409)
- [python-package] add type hints on Booster.save_model() @jameslamb (#5406)
- Minor CUDA cleanup @StrikerRUS (#5394)
- [ci] temporarily pin scipy version and fix Python linting error @StrikerRUS (#5398)
- [python-package] add type hints on some functions in basic.py @makquel (#5362)
- [python-package] add more type hints on Booster @jameslamb (#5360)
- [python-package] make library-loading stricter @jameslamb (#5357)
- [python-package] add type hints on Booster.update() @jameslamb (#5359)
- [python-package] add more type hints on basic.py @jameslamb (#5356)
- [python-package] add type hints on Dataset @jameslamb (#5353)
- [python-package] remove inner function _construct_dataset() in LGBMModel.fiit() @jameslamb (#5333)
- [python-package] add type hints on predict() methods @jameslamb (#5334)
- [python-package] add more type hints in basic.py @jameslamb (#5330)
- [ci][R-package] Minor refactoring for
lintr
code @StrikerRUS (#5327) - [python-package] add more type hints in engine.py @jameslamb (#5301)
- [ci] [R-package] Add string_boundary_linter @CuriousCorrelation (#5324)
- [python-package] add more type hints on Booster @jameslamb (#5309)
- [ci] [R-package] Add paste_linter @CuriousCorrelation (#5320)
- [ci] [R-package] Add duplicate_argument_linter @SaumyaBhushan (#5310)
- [ci] [R-package] Add a few more linters @CuriousCorrelation (#5311)
- [ci] [R-package] Add class_equals linter @CuriousCorrelation (#5307)
- [python][sklearn] Simplify params handling in
predict()
with_choose_param_value()
@StrikerRUS (#5308) - [ci] [R-package] Add any_is_na_linter @CuriousCorrelation (#5306)
- [python-package] add some type hints on Booster @jameslamb (#5302)
- [python] preserve None in _choose_param_value() @jameslamb (#5289)
- [ci] Install PoCL in Docker for old Ubuntu 14.04 @StrikerRUS (#5286)
- [R-package] Specify concrete linting rule that is being ignored via
nolint
mark @StrikerRUS (#5300) - [python-package] add type hints on cv() @jameslamb (#5271)
- [ci] [R-package] upgrade to lintr v3.0 (fixes #5228) @jameslamb (#5294)
- [ci] Pin lintr to <3.0 @jgiannuzzi (#5290)
- [ci] Run Linux OpenCL tests against POCL instead of the AMD App SDK @jgiannuzzi (#5282)
- [tests][python] Make test that checks original pandas data isn't modified more strict @StrikerRUS (#5267)
- [python] add more type hints in basic.py @jameslamb (#5255)
- [python] add more type hints on LGBMModel methods @jameslamb (#5239)
- [R-package] address linter warnings about portable paths @jameslamb (#5249)
- [R-package] [ci] silence more logs in tests (fixes #4862) @jameslamb (#5250)
- Remove leftovers after the drop of Solaris support @StrikerRUS (#5248)
- [python] add type hints on sklearn metric and eval wrappers @jameslamb (#5238)
- [R-package] silence logs in print(), show(), summary() tests @jameslamb (#5237)
- [R-package] standardize style for placement of braces @jameslamb (#5240)
- [R-package] remove semicolon in R code @jameslamb (#5232)
- [R-package] remove Solaris reference in test message @jameslamb (#5231)
- [R-package] silence more logs in unit tests @jameslamb (#5227)
- [ci] switch CRAN mirror to RStudio @jameslamb (#5230)
- Cleanup codeowners @StrikerRUS (#5215)
- [R-package] minor improvements on weight demo @jmoralez (#5212)
- [ci] fix R Hub token @jameslamb (#5210)
- [R-package] silence more logs in tests @jameslamb (#5208)
- [ci] Prevent Python downgrading to pypy on Windows (2) @StrikerRUS (#5198)
- [ci] Prevent Python downgrading to pypy on Windows @StrikerRUS (#5197)
- [ci] fix git checkout for comment-triggered CI jobs @jameslamb (#5169)
- [python] remove unused import from
basic.py
@StrikerRUS (#5188) - [tests] replace
fobj
withcustom objective
in test comments and make tests stricter @StrikerRUS (#5173) - [ci] Update version of Azure REST API @StrikerRUS (#5172)
- [ci] skip auto-injected tasks at Azure Pipelines @StrikerRUS (#5175)
- fix typo in CEGB method name @jameslamb (#5168)
- [ci] temporarily pin Azure Devops jobs to ubuntu 20.04 @jameslamb (#5174)
- [ci] fix git checkout for CI jobs (fixes #5151) @jameslamb (#5152)
- [ci] bump CUDA version from
11.5.1
to11.6.2
at CI @StrikerRUS (#5149) - [python] Use predefined constant in feature importance type comparison instead of raw int literal @StrikerRUS (#5148)
- [ci] update to R 4.1.3 and use macOS-latest for R jobs (fixes #4990) @jameslamb (#5137)
- [ci] have no-response bot post as github-actions user @jameslamb (#5136)
- [ci] fail R macOS CI jobs earlier when installations fail @jameslamb (#5129)
- [ci] use lee-dohm/no-response to close stale issues (fixes #5060) @jameslamb (#5120)
- [ci] Remove temp workaround for graphviz installation @StrikerRUS (#5126)
- [R-package] rename internal callback functions @mayer79 (#5123)
- [R-package] ensure boosting happens in tests on small datasets @jameslamb (#5121)
- [R-package] Add missed packages into dependencies list @StrikerRUS (#5118)
- [R-package] add assertions to test on lightgbm() weights @jameslamb (#5110)
- Log warnings for number of bins of categorical features @shiyu1994 (#4448)
- clarify no-meaningful-features warning in Dataset construction (fixes #5081) @jameslamb (#5083)
- [ci] Add text file with GitHub commit hash to nightly builds @StrikerRUS (#5082)
- [ci] remove Visual Studio 2017 CI job for R-package @StrikerRUS (#5079)
- [python-package] Better column dtype logging when column has "bad dtype" @hsorsky (#5065)
- [ci] update CODEOWNERS @jameslamb (#5063)
- [ci] fix current
master
fails with graphviz-related error @StrikerRUS (#5068) - [ci] temporarily remove R3.6 CRAN CI build @jameslamb (#5049)
- [tests][python] move tests that use
train()
function defined inengine.py
fromtest_basic.py
totest_engine.py
@StrikerRUS (#5034) - [R-package] remove internal function lgb.check.obj() @jameslamb (#5021)
- [ci] use Python 3.8 for
bdist
CI job in old Ubuntu container @StrikerRUS (#5022) - [R-package] raise informative errors directly when Booster creation fails @jameslamb (#5014)
- [ci] [docs] use miniforge for readthedocs builds (fixes #4954) @jameslamb (#4957)
- [ci] Enclose Python versions in quotes in config yml files @StrikerRUS (#5015)
- [python] enforce a floor of Python 3.6 (fixes #5004) @PyVCEchecker (#5006)
- Update versions of LightGBM dependencies @StrikerRUS (#4935)
- [tests][python] remove compatibility code for old versions in tests @StrikerRUS (#4978)
- [ci] use conda-forge in Windows CI jobs and Docker images @StrikerRUS (#4993)
- [ci] use
latest
tag again for Ubuntu 14 CI Docker @StrikerRUS (#5001) - [ci] use conda-forge in Linux and macOS CI jobs @jameslamb (#4953)
- [ci] upgrade to R 4.1.2 in CI, change approach to macOS-latest R CI builds (fixes #4988) @jameslamb (#4989)
- [ci] bump CUDA version from
11.5.0
to11.5.1
at CI @StrikerRUS (#4967) - [ci] use
-1
for exit code in case of failure @StrikerRUS (#4939) - [tests][R-package] use one
#
symbol for comments @StrikerRUS (#4940) - [ci] bump CUDA version from 11.4.2 to 11.5.0 at CI @StrikerRUS (#4937)
- [ci] Bump version for development @StrikerRUS (#4933)
- [R-package] [tests] remove uses of testthat::context() @jameslamb (#4915)
- [R-package][tests] remove uses of
testthat::expect_is()
@jameslamb (#4916) - [R-package] remove unnecessary comments and fix typos in comments @jameslamb (#4902)
- [R-package] reduce verbosity in tests using lgb.train() @jameslamb (#4896)
- [tests][python-package] change boston dataset to synthetic dataset in tests that don't check score @jmoralez (#4895)
- [R-package] reduce verbosity in some unit tests @jameslamb (#4879)
- [R-package] remove unused callback cb.reset.parameter @jameslamb (#4871)
- [python-package][dask] handle failures parsing worker host names @jameslamb (#4852)
- [python-package] [dask] fix mypy error about worker_addresses @jameslamb (#4851)
- [python] remove workaround for
UnboundLocalError
in early stopping callback for Python 2 @StrikerRUS (#4855) - [python-package] remove unused imports @jameslamb (#4850)
- [python-package] fix mypy errors in engine.py @jameslamb (#4839)
- [python-package] [dask] fix mypy errors from dask.py docstrings @jameslamb (#4844)
- [python-package] fix mypy errors in sklearn.py @jameslamb (#4837)
- [tests][dask] fix argument names in custom eval function in Dask test @StrikerRUS (#4833)
- [python-package] fix mypy errors in plotting.py @jameslamb (#4838)
- [python-package] fix mypy error about missing type hint in dask.py @jameslamb (#4840)
- [python-package] fix mypy errors in compat.py and setup.py @jameslamb (#4836)
- [docs][python] simplify mocking in docs @StrikerRUS (#4830)
- [python] add type hints to
_compare_params_for_warning()
and make it reusable @StrikerRUS (#4824) - [R-package] Move R6 to Imports @david-cortes (#4812)
- [ci] Fix CI job for R artifact @StrikerRUS (#4811)
- [ci] fix getting status of optional workflows in PRs with a lot of comments @StrikerRUS (#4806)
- [python] add type hints for custom objective and metric functions in scikit-learn interface @jameslamb (#4547)
- [c_api] Improve ANSI compatibility by avoiding <stdbool.h> @drewmiller (#4697)
- [ci] ignore CMakeLint errors related to package names @StrikerRUS (#4801)
- [ci] fix CMakeLint errors related to function naming case @StrikerRUS (#4794)
- [ci] simplify processing of
CMAKE_CUDA_FLAGS
variable inCMakeLists.txt
@StrikerRUS (#4799) - [ci] fix CMakeLint
linelength
errors @StrikerRUS (#4796) - [ci] use pure
endif()
andendfunction()
without expression inside inCMakeLists.txt
@StrikerRUS (#4798) - cmake: use object library to avoid duplicate compilation. @cyfdecyf (#4489)
- Suppress categorical warning (fixes #3379) @hzy46 (#4768)
- [ci][tests][python] remove assertion for
filename
that is no longer true with new version of graphviz @StrikerRUS (#4778) - [ci] Revert temp workaround for
freetype
version @StrikerRUS (#4776) - [ci] increase timeout for valgrind job to 240 minutes @jameslamb (#4773)
- [python] improve warning message about aliases in
cv()
function @StrikerRUS (#4766) - [ci] Temporary pin dask version at CI @StrikerRUS (#4770)
- [ci] use wch1/r-debug image in Solaris tests @jameslamb (#4765)
- [ci] upgrade actions/checkout to v2.4.0 @jameslamb (#4763)
- [docs][python] add
datatable
to the mocked modules during docs building process and sort them alphabetically @StrikerRUS (#4750) - [R-package] allow use of custom R executable when building CRAN package @jameslamb (#4754)
- [R-package] remove temporary files created in configure.win @jameslamb (#4752)
- [ci] indicate support of Monterey @StrikerRUS (#4732)
- [python] Make dummy classes constructible with any arguments @StrikerRUS (#4749)
- [ci] Temporary pin freetype version at Windows CI @StrikerRUS (#4747)
- Remove checks for label when loading dataset from binary file because label is ignored in that case @StrikerRUS (#4737)
- [tests][python] add test for non-serializable callback @StrikerRUS (#4741)
- Improve warning wordings @StrikerRUS (#4731)
- [ci] Bump version for development @StrikerRUS (#4730)
- Add some warnings when loading dataset from binary file @StrikerRUS (#4724)
1、 commit.txt 41B
2、 lib_lightgbm.dll 3.06MB
3、 lib_lightgbm.dylib 5.55MB
4、 lib_lightgbm.so 7.01MB
5、 lightgbm-4.0.0-py3-none-macosx_10_15_x86_64.macosx_11_6_x86_64.macosx_12_5_x86_64.whl 1.65MB
6、 lightgbm-4.0.0-py3-none-manylinux2014_aarch64.whl 2.88MB
7、 lightgbm-4.0.0-py3-none-manylinux_2_28_x86_64.whl 2.9MB
8、 lightgbm-4.0.0-py3-none-win_amd64.whl 1.25MB
9、 lightgbm-4.0.0-r-cran.tar.gz 1.6MB
10、 lightgbm-4.0.0.tar.gz 1.59MB
11、 LightGBM-complete_source_code_tar_gz.tar.gz 161.71MB
12、 LightGBM-complete_source_code_zip.zip 163.52MB
13、 LightGBM.4.0.0.nupkg 6.17MB
14、 lightgbm.exe 2.88MB
15、 lightgbmlib_linux.jar 2.61MB
16、 lightgbmlib_macos.jar 1.58MB
17、 lightgbmlib_win.jar 1.08MB