gitextract_uh184o35/ ├── .appveyor.yml ├── .ci/ │ ├── README.md │ ├── append-comment.sh │ ├── build-docs.sh │ ├── check-dynamic-dependencies.sh │ ├── check-omp-pragmas.sh │ ├── check-python-dists.sh │ ├── check-workflow-status.sh │ ├── conda-envs/ │ │ ├── README.md │ │ ├── ci-core-py39.txt │ │ └── ci-core.txt │ ├── create-nuget.py │ ├── download-artifacts.sh │ ├── install-opencl.ps1 │ ├── install-r-deps.R │ ├── lint-all.sh │ ├── lint-powershell.ps1 │ ├── lint-r-code.R │ ├── parameter-generator.py │ ├── pip-envs/ │ │ ├── requirements-latest.txt │ │ └── requirements-oldest.txt │ ├── rerun-workflow.sh │ ├── run-r-cmd-check.sh │ ├── set-commit-status.sh │ ├── setup.sh │ ├── test-python-latest.sh │ ├── test-python-oldest.sh │ ├── test-r-package-valgrind.sh │ ├── test-r-package-windows.ps1 │ ├── test-r-package.sh │ ├── test-windows.ps1 │ └── test.sh ├── .editorconfig ├── .git-blame-ignore-revs ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── BUG_REPORT.md │ │ └── FEATURE_REQUEST.md │ ├── dependabot.yml │ ├── release-drafter.yml │ └── workflows/ │ ├── build.yml │ ├── cpp.yml │ ├── cuda.yml │ ├── lock.yml │ ├── lychee.yml │ ├── no_response.yml │ ├── optional_checks.yml │ ├── python_package.yml │ ├── r_configure.yml │ ├── r_package.yml │ ├── r_valgrind.yml │ ├── release_drafter.yml │ ├── static_analysis.yml │ └── swig.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── .typos.toml ├── .yamllint.yml ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── MAINTAINING.md ├── R-package/ │ ├── .Rbuildignore │ ├── AUTOCONF_UBUNTU_VERSION │ ├── DESCRIPTION │ ├── LICENSE │ ├── NAMESPACE │ ├── R/ │ │ ├── aliases.R │ │ ├── callback.R │ │ ├── lgb.Booster.R │ │ ├── lgb.DataProcessor.R │ │ ├── lgb.Dataset.R │ │ ├── lgb.Predictor.R │ │ ├── lgb.convert_with_rules.R │ │ ├── lgb.cv.R │ │ ├── lgb.drop_serialized.R │ │ ├── lgb.importance.R │ │ ├── lgb.interprete.R │ │ ├── lgb.make_serializable.R │ │ ├── lgb.model.dt.tree.R │ │ ├── lgb.plot.importance.R │ │ ├── lgb.plot.interpretation.R │ │ ├── lgb.restore_handle.R │ │ ├── lgb.train.R │ │ ├── lightgbm.R │ │ ├── metrics.R │ │ ├── multithreading.R │ │ └── utils.R │ ├── README.md │ ├── cleanup │ ├── configure │ ├── configure.ac │ ├── configure.win │ ├── cran-comments.md │ ├── demo/ │ │ ├── 00Index │ │ ├── basic_walkthrough.R │ │ ├── boost_from_prediction.R │ │ ├── categorical_features_rules.R │ │ ├── cross_validation.R │ │ ├── early_stopping.R │ │ ├── efficient_many_training.R │ │ ├── leaf_stability.R │ │ ├── multiclass.R │ │ ├── multiclass_custom_objective.R │ │ └── weight_param.R │ ├── inst/ │ │ ├── Makevars │ │ └── make-r-def.R │ ├── man/ │ │ ├── agaricus.test.Rd │ │ ├── agaricus.train.Rd │ │ ├── bank.Rd │ │ ├── dim.Rd │ │ ├── dimnames.lgb.Dataset.Rd │ │ ├── getLGBMThreads.Rd │ │ ├── get_field.Rd │ │ ├── lgb.Dataset.Rd │ │ ├── lgb.Dataset.construct.Rd │ │ ├── lgb.Dataset.create.valid.Rd │ │ ├── lgb.Dataset.save.Rd │ │ ├── lgb.Dataset.set.categorical.Rd │ │ ├── lgb.Dataset.set.reference.Rd │ │ ├── lgb.configure_fast_predict.Rd │ │ ├── lgb.convert_with_rules.Rd │ │ ├── lgb.cv.Rd │ │ ├── lgb.drop_serialized.Rd │ │ ├── lgb.dump.Rd │ │ ├── lgb.get.eval.result.Rd │ │ ├── lgb.importance.Rd │ │ ├── lgb.interprete.Rd │ │ ├── lgb.load.Rd │ │ ├── lgb.make_serializable.Rd │ │ ├── lgb.model.dt.tree.Rd │ │ ├── lgb.plot.importance.Rd │ │ ├── lgb.plot.interpretation.Rd │ │ ├── lgb.restore_handle.Rd │ │ ├── lgb.save.Rd │ │ ├── lgb.slice.Dataset.Rd │ │ ├── lgb.train.Rd │ │ ├── lgb_predict_shared_params.Rd │ │ ├── lgb_shared_dataset_params.Rd │ │ ├── lgb_shared_params.Rd │ │ ├── lightgbm.Rd │ │ ├── predict.lgb.Booster.Rd │ │ ├── print.lgb.Booster.Rd │ │ ├── setLGBMThreads.Rd │ │ ├── set_field.Rd │ │ └── summary.lgb.Booster.Rd │ ├── pkgdown/ │ │ └── _pkgdown.yml │ ├── recreate-configure.sh │ ├── src/ │ │ ├── Makevars.in │ │ ├── Makevars.win.in │ │ ├── install.libs.R │ │ ├── lightgbm_R.cpp │ │ └── lightgbm_R.h │ ├── tests/ │ │ ├── testthat/ │ │ │ ├── helper.R │ │ │ ├── test_Predictor.R │ │ │ ├── test_basic.R │ │ │ ├── test_custom_objective.R │ │ │ ├── test_dataset.R │ │ │ ├── test_learning_to_rank.R │ │ │ ├── test_lgb.Booster.R │ │ │ ├── test_lgb.convert_with_rules.R │ │ │ ├── test_lgb.importance.R │ │ │ ├── test_lgb.interprete.R │ │ │ ├── test_lgb.model.dt.tree.R │ │ │ ├── test_lgb.plot.importance.R │ │ │ ├── test_lgb.plot.interpretation.R │ │ │ ├── test_metrics.R │ │ │ ├── test_multithreading.R │ │ │ ├── test_parameters.R │ │ │ ├── test_utils.R │ │ │ └── test_weighted_loss.R │ │ └── testthat.R │ └── vignettes/ │ └── basic_walkthrough.Rmd ├── README.md ├── SECURITY.md ├── VERSION.txt ├── biome.json ├── build-cran-package.sh ├── build-python.sh ├── build_r.R ├── cmake/ │ ├── IntegratedOpenCL.cmake │ ├── Sanitizer.cmake │ └── modules/ │ ├── FindLibR.cmake │ └── FindNCCL.cmake ├── docker/ │ ├── README.md │ ├── dockerfile-cli │ ├── dockerfile-python │ ├── dockerfile-r │ └── gpu/ │ ├── README.md │ ├── dockerfile-cli-only-distroless.gpu │ ├── dockerfile-cli-only.gpu │ └── dockerfile.gpu ├── docs/ │ ├── .lychee.toml │ ├── Advanced-Topics.rst │ ├── C-API.rst │ ├── Development-Guide.rst │ ├── Experiments.rst │ ├── FAQ.rst │ ├── Features.rst │ ├── GPU-Performance.rst │ ├── GPU-Targets.rst │ ├── GPU-Tutorial.rst │ ├── GPU-Windows.rst │ ├── Installation-Guide.rst │ ├── Key-Events.md │ ├── Makefile │ ├── Parallel-Learning-Guide.rst │ ├── Parameters-Tuning.rst │ ├── Parameters.rst │ ├── Python-API.rst │ ├── Python-Intro.rst │ ├── Quick-Start.rst │ ├── README.rst │ ├── _static/ │ │ └── js/ │ │ └── script.js │ ├── build-docs.sh │ ├── conf.py │ ├── env.yml │ ├── gcc-Tips.rst │ ├── index.rst │ ├── logo/ │ │ ├── LightGBM-logo-hex.cdr │ │ └── LightGBM_logo.cdr │ └── make.bat ├── examples/ │ ├── README.md │ ├── binary_classification/ │ │ ├── README.md │ │ ├── binary.test │ │ ├── binary.test.weight │ │ ├── binary.train │ │ ├── binary.train.weight │ │ ├── forced_splits.json │ │ ├── predict.conf │ │ ├── train.conf │ │ └── train_linear.conf │ ├── lambdarank/ │ │ ├── README.md │ │ ├── predict.conf │ │ ├── rank.test │ │ ├── rank.test.query │ │ ├── rank.train │ │ ├── rank.train.query │ │ └── train.conf │ ├── multiclass_classification/ │ │ ├── README.md │ │ ├── multiclass.test │ │ ├── multiclass.train │ │ ├── predict.conf │ │ └── train.conf │ ├── parallel_learning/ │ │ ├── README.md │ │ ├── binary.test │ │ ├── binary.train │ │ ├── predict.conf │ │ └── train.conf │ ├── python-guide/ │ │ ├── README.md │ │ ├── advanced_example.py │ │ ├── dask/ │ │ │ ├── README.md │ │ │ ├── binary-classification.py │ │ │ ├── multiclass-classification.py │ │ │ ├── prediction.py │ │ │ ├── ranking.py │ │ │ └── regression.py │ │ ├── dataset_from_multi_hdf5.py │ │ ├── logistic_regression.py │ │ ├── notebooks/ │ │ │ └── interactive_plot_example.ipynb │ │ ├── plot_example.py │ │ ├── simple_example.py │ │ └── sklearn_example.py │ ├── regression/ │ │ ├── README.md │ │ ├── forced_bins.json │ │ ├── forced_bins2.json │ │ ├── predict.conf │ │ ├── regression.test │ │ ├── regression.test.init │ │ ├── regression.train │ │ ├── regression.train.init │ │ └── train.conf │ └── xendcg/ │ ├── README.md │ ├── predict.conf │ ├── rank.test │ ├── rank.test.query │ ├── rank.train │ ├── rank.train.query │ └── train.conf ├── include/ │ └── LightGBM/ │ ├── application.h │ ├── arrow.h │ ├── arrow.tpp │ ├── bin.h │ ├── boosting.h │ ├── c_api.h │ ├── config.h │ ├── cuda/ │ │ ├── cuda_algorithms.hpp │ │ ├── cuda_column_data.hpp │ │ ├── cuda_metadata.hpp │ │ ├── cuda_metric.hpp │ │ ├── cuda_nccl_topology.hpp │ │ ├── cuda_objective_function.hpp │ │ ├── cuda_random.hpp │ │ ├── cuda_rocm_interop.h │ │ ├── cuda_row_data.hpp │ │ ├── cuda_split_info.hpp │ │ ├── cuda_tree.hpp │ │ ├── cuda_utils.hu │ │ └── vector_cudahost.h │ ├── dataset.h │ ├── dataset_loader.h │ ├── export.h │ ├── feature_group.h │ ├── meta.h │ ├── metric.h │ ├── network.h │ ├── objective_function.h │ ├── prediction_early_stop.h │ ├── sample_strategy.h │ ├── train_share_states.h │ ├── tree.h │ ├── tree_learner.h │ └── utils/ │ ├── array_args.h │ ├── binary_writer.h │ ├── byte_buffer.h │ ├── chunked_array.hpp │ ├── common.h │ ├── file_io.h │ ├── json11.h │ ├── log.h │ ├── openmp_wrapper.h │ ├── pipeline_reader.h │ ├── random.h │ ├── text_reader.h │ ├── threading.h │ └── yamc/ │ ├── alternate_shared_mutex.hpp │ ├── yamc_rwlock_sched.hpp │ └── yamc_shared_lock.hpp ├── python-package/ │ ├── README.rst │ ├── lightgbm/ │ │ ├── __init__.py │ │ ├── basic.py │ │ ├── callback.py │ │ ├── compat.py │ │ ├── dask.py │ │ ├── engine.py │ │ ├── libpath.py │ │ ├── plotting.py │ │ ├── py.typed │ │ └── sklearn.py │ └── pyproject.toml ├── src/ │ ├── application/ │ │ ├── application.cpp │ │ └── predictor.hpp │ ├── boosting/ │ │ ├── bagging.hpp │ │ ├── boosting.cpp │ │ ├── cuda/ │ │ │ ├── cuda_score_updater.cpp │ │ │ ├── cuda_score_updater.cu │ │ │ ├── cuda_score_updater.hpp │ │ │ ├── nccl_gbdt.cpp │ │ │ ├── nccl_gbdt.hpp │ │ │ └── nccl_gbdt_component.hpp │ │ ├── dart.hpp │ │ ├── gbdt.cpp │ │ ├── gbdt.h │ │ ├── gbdt_model_text.cpp │ │ ├── gbdt_prediction.cpp │ │ ├── goss.hpp │ │ ├── prediction_early_stop.cpp │ │ ├── rf.hpp │ │ ├── sample_strategy.cpp │ │ └── score_updater.hpp │ ├── c_api.cpp │ ├── cuda/ │ │ ├── cuda_algorithms.cu │ │ └── cuda_utils.cpp │ ├── io/ │ │ ├── bin.cpp │ │ ├── config.cpp │ │ ├── config_auto.cpp │ │ ├── cuda/ │ │ │ ├── cuda_column_data.cpp │ │ │ ├── cuda_column_data.cu │ │ │ ├── cuda_metadata.cpp │ │ │ ├── cuda_row_data.cpp │ │ │ ├── cuda_tree.cpp │ │ │ └── cuda_tree.cu │ │ ├── dataset.cpp │ │ ├── dataset_loader.cpp │ │ ├── dense_bin.hpp │ │ ├── file_io.cpp │ │ ├── json11.cpp │ │ ├── metadata.cpp │ │ ├── multi_val_dense_bin.hpp │ │ ├── multi_val_sparse_bin.hpp │ │ ├── parser.cpp │ │ ├── parser.hpp │ │ ├── sparse_bin.hpp │ │ ├── train_share_states.cpp │ │ └── tree.cpp │ ├── main.cpp │ ├── metric/ │ │ ├── binary_metric.hpp │ │ ├── cuda/ │ │ │ ├── cuda_binary_metric.cpp │ │ │ ├── cuda_binary_metric.hpp │ │ │ ├── cuda_pointwise_metric.cpp │ │ │ ├── cuda_pointwise_metric.cu │ │ │ ├── cuda_pointwise_metric.hpp │ │ │ ├── cuda_regression_metric.cpp │ │ │ └── cuda_regression_metric.hpp │ │ ├── dcg_calculator.cpp │ │ ├── map_metric.hpp │ │ ├── metric.cpp │ │ ├── multiclass_metric.hpp │ │ ├── rank_metric.hpp │ │ ├── regression_metric.hpp │ │ └── xentropy_metric.hpp │ ├── network/ │ │ ├── linker_topo.cpp │ │ ├── linkers.h │ │ ├── linkers_mpi.cpp │ │ ├── linkers_socket.cpp │ │ ├── network.cpp │ │ └── socket_wrapper.hpp │ ├── objective/ │ │ ├── binary_objective.hpp │ │ ├── cuda/ │ │ │ ├── cuda_binary_objective.cpp │ │ │ ├── cuda_binary_objective.cu │ │ │ ├── cuda_binary_objective.hpp │ │ │ ├── cuda_multiclass_objective.cpp │ │ │ ├── cuda_multiclass_objective.cu │ │ │ ├── cuda_multiclass_objective.hpp │ │ │ ├── cuda_rank_objective.cpp │ │ │ ├── cuda_rank_objective.cu │ │ │ ├── cuda_rank_objective.hpp │ │ │ ├── cuda_regression_objective.cpp │ │ │ ├── cuda_regression_objective.cu │ │ │ └── cuda_regression_objective.hpp │ │ ├── multiclass_objective.hpp │ │ ├── objective_function.cpp │ │ ├── rank_objective.hpp │ │ ├── regression_objective.hpp │ │ └── xentropy_objective.hpp │ ├── treelearner/ │ │ ├── col_sampler.hpp │ │ ├── cost_effective_gradient_boosting.hpp │ │ ├── cuda/ │ │ │ ├── cuda_best_split_finder.cpp │ │ │ ├── cuda_best_split_finder.cu │ │ │ ├── cuda_best_split_finder.hpp │ │ │ ├── cuda_data_partition.cpp │ │ │ ├── cuda_data_partition.cu │ │ │ ├── cuda_data_partition.hpp │ │ │ ├── cuda_gradient_discretizer.cu │ │ │ ├── cuda_gradient_discretizer.hpp │ │ │ ├── cuda_histogram_constructor.cpp │ │ │ ├── cuda_histogram_constructor.cu │ │ │ ├── cuda_histogram_constructor.hpp │ │ │ ├── cuda_leaf_splits.cpp │ │ │ ├── cuda_leaf_splits.cu │ │ │ ├── cuda_leaf_splits.hpp │ │ │ ├── cuda_single_gpu_tree_learner.cpp │ │ │ ├── cuda_single_gpu_tree_learner.cu │ │ │ └── cuda_single_gpu_tree_learner.hpp │ │ ├── data_parallel_tree_learner.cpp │ │ ├── data_partition.hpp │ │ ├── feature_histogram.cpp │ │ ├── feature_histogram.hpp │ │ ├── feature_parallel_tree_learner.cpp │ │ ├── gpu_tree_learner.cpp │ │ ├── gpu_tree_learner.h │ │ ├── gradient_discretizer.cpp │ │ ├── gradient_discretizer.hpp │ │ ├── leaf_splits.hpp │ │ ├── linear_tree_learner.cpp │ │ ├── linear_tree_learner.h │ │ ├── monotone_constraints.hpp │ │ ├── ocl/ │ │ │ ├── histogram16.cl │ │ │ ├── histogram256.cl │ │ │ └── histogram64.cl │ │ ├── parallel_tree_learner.h │ │ ├── serial_tree_learner.cpp │ │ ├── serial_tree_learner.h │ │ ├── split_info.hpp │ │ ├── tree_learner.cpp │ │ └── voting_parallel_tree_learner.cpp │ └── utils/ │ └── openmp_wrapper.cpp ├── swig/ │ ├── ChunkedArray_API_extensions.i │ ├── StringArray.hpp │ ├── StringArray.i │ ├── StringArray_API_extensions.i │ ├── lightgbmlib.i │ └── pointer_manipulation.i ├── tests/ │ ├── c_api_test/ │ │ └── test_.py │ ├── cpp_tests/ │ │ ├── predict.conf │ │ ├── test.py │ │ ├── test_array_args.cpp │ │ ├── test_arrow.cpp │ │ ├── test_byte_buffer.cpp │ │ ├── test_chunked_array.cpp │ │ ├── test_common.cpp │ │ ├── test_main.cpp │ │ ├── test_serialize.cpp │ │ ├── test_single_row.cpp │ │ ├── test_stream.cpp │ │ ├── testutils.cpp │ │ ├── testutils.h │ │ └── train.conf │ ├── data/ │ │ └── categorical.data │ ├── distributed/ │ │ ├── _test_distributed.py │ │ └── conftest.py │ └── python_package_test/ │ ├── __init__.py │ ├── conftest.py │ ├── test_arrow.py │ ├── test_basic.py │ ├── test_callback.py │ ├── test_consistency.py │ ├── test_dask.py │ ├── test_dual.py │ ├── test_engine.py │ ├── test_plotting.py │ ├── test_sklearn.py │ ├── test_utilities.py │ └── utils.py └── windows/ ├── LightGBM.sln ├── LightGBM.vcxproj └── LightGBM.vcxproj.filters