* [R-package] make package installable with CRAN toolchain (fixes#2960)
* Apply suggestions from code review
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* remove GPU stuff
* use wildcard to find objects to build
* use -lomp
* build configure before moving files
* using wildcard for objects
* Update .github/workflows/main.yml
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* add explicit objects back
* reduce allowed R CMD check NOTEs and catch stderr from build-cran-package on Windows
* fixing things
* pin autoconf version
* show diff
* add automake back
* run less checks
* command was in the wrong place
* fix autoconf version
* change strategy for handling configure
* fix Rbuildignore
* fix NOTEs
* fix notes about unrecognized files
* fixing extra files
* remove USE_R35
* add OpenMP check for Mac CRAN build
* run all checks
* Apply suggestions from code review
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* suggestions from code review
* undo indenting
* remove 03 from Makevars.win.in
* update language about OpenMP in configure script
* checking if configure.ac check works
* add autoconf back
* remove testing code in configure.ac
* more fixes for CI on configure script
* print git diff
* add VERSION.txt when checking configure
* fix relative paths
* remove git diff
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Add capability to get possible max and min values for a model
* Change implementation to have return value in tree.cpp, change naming to upper and lower bound, move implementation to gdbt.cpp
* Update include/LightGBM/c_api.h
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Change iteration to avoid potential overflow, add bindings to R and Python and a basic test
* Adjust test values
* Consider const correctness and multithreading protection
* Put everything possible as const
* Include shared_mutex, for now as unique_lock
* Update test values
* Put everything possible as const
* Include shared_mutex, for now as unique_lock
* Make PredictSingleRow const and share the lock with other reading threads
* Update test values
* Add test to check that model is exactly the same in all platforms
* Try to parse the model to get the expected values
* Try to parse the model to get the expected values
* Fix implementation, num_leaves can be lower than the leaf_value_ size
* Do not check for num_leaves to be smaller than actual size and get back to test with hardcoded value
* Change test order
* Add gpu_use_dp option in test
* Remove helper test method
* Remove TODO
* Add preprocessing option to compile with c++17
* Update python-package/setup.py
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
* Remove unwanted changes
* Move option
* Fix problems introduced by conflict fix
* Avoid switching to c++17 and use yamc mutex library to access shared lock functionality
* Add extra yamc include
* Change header order
* some lint fix
* change include order and remove some extra blank lines
* Further fix lint issues
* Update c_api.cpp
* Further fix lint issues
* Move yamc include files to a new yamc folder
* Use standard unique_lock
* Update windows/LightGBM.vcxproj
Co-authored-by: Guolin Ke <guolin.ke@outlook.com>
* Update windows/LightGBM.vcxproj.filters
Co-authored-by: Guolin Ke <guolin.ke@outlook.com>
* Update windows/LightGBM.vcxproj.filters
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Update windows/LightGBM.vcxproj.filters
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Update windows/LightGBM.vcxproj.filters
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Fix problems coming from merge conflict resolution
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
Co-authored-by: joanfontanals <jfontanals@ntent.com>
Co-authored-by: Guolin Ke <guolin.ke@outlook.com>
* [performance] Add Fast methods to C API for SingleRow Predictions
* Add methods to C API to make single-row predictions faster:
- LGBM_BoosterPredictForMatSingleRowFastInit (setup)
- LGBM_BoosterPredictForMatSingleRowFast (predict)
- LGBM_FastConfigFree (cleanup setup outputs)
* Code syle cleanup
* Fix lint errors
* [performance] Revert FastConfig improvement to pass data at init
This reduces optimization by 5% / 30% with this branch but makes it so it can be used for higher level wrappers in MMLSpark.
And outside it as well.
* [performance] Introduce Fast variants for SingleRow predictors.
Although this already provides performance gains by itself for any
callers, two new functions were added to Java's SWIG interfaces to
exploit that AND the GetPrimitiveArrayCritical data fetches.
* [tests/profiling] Profile Fast predict methods
Build with -DBUILD_PROFILING_TESTS=ON and copy the default
model trained on the Higgs dataset from the benchmarks repo
https://github.com/guolinke/boosting_tree_benchmarks.git
to LightGBM repo root and run the lightgbm_profile_* binaries.
The single instance used is the first row from that dataset.
* Update comment on CMakeLists.
* Fix doxygen-introduced issue (#threads)
* Fix conflicts due to new RowFunctionFromCSR signature in master
* Change FastConfig ncol to int32_t.
* Removed profiling folder
* fix doxygen typo include/LightGBM/c_api.h
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* fix doxygen typo include/LightGBM/c_api.h
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* fix doxygen typo include/LightGBM/c_api.h
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Doxygen: change new docstrings to double back-quote
Co-authored-by: alberto.ferreira <alberto.ferreira@feedzai.com>
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* Fixes a bug that prevented using multiple eval_metrics in LGBMClassifier
* Move bug-fix test to the test_metrics unit-test
* Fix test to avoid issues with existing tests
* Fix coding-style error
Co-authored-by: German I Ramirez-Espinoza <gire@home>
* [ci] [R-package] catch builds that have not updated docs
* drop reliance on .Renviron
* remove docs changes
* Update .ci/test_r_package.sh
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* make all R tasks start with r-package
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* adding sparse support to TreeSHAP in lightgbm
* updating based on comments
* updated based on comments, used fromiter instead of frombuffer
* updated based on comments
* fixed limits import order
* fix sparse feature contribs to work with more than int32 max rows
* really fixed int64 max error and build warnings
* added sparse test with >int32 max rows
* fixed python side reshape check on sparse data
* updated based on latest comments
* fixed comments
* added CSC INT32_MAX validation to test, fixed comments
* modify attribute and include stacking tests
* backwards compatibility
* check sklearn version
* move stacking import
* Number of input features (#3173)
* Number of input features (#3173)
* Number of input features (#3173)
* Number of input features (#3173)
Split number of features and stacking tests.
* Number of input features (#3173)
Modify test name.
* Number of input features (#3173)
Update stacking tests for review comments.
* Number of input features (#3173)
* Number of input features (#3173)
* Number of input features (#3173)
* Number of input features (#3173)
Modify classifier test.
* Number of input features (#3173)
* Number of input features (#3173)
Check score.
* Add interaction constraints functionality.
* Minor fixes.
* Minor fixes.
* Change lambda to function.
* Fix gpu bug, remove extra blank lines.
* Fix gpu bug.
* Fix style issues.
* Try to fix segfault on MACOS.
* Fix bug.
* Fix bug.
* Fix bugs.
* Change parameter format for R.
* Fix R style issues.
* Change string formatting code.
* Change docs to say R package not supported.
* Remove R functionality, moving to separate PR.
* Keep track of branch features in tree object.
* Only track branch features when feature interactions are enabled.
* Fix lint error.
* Update docs and simplify tests.
* [R-package] replaced gendef.exe with R code to create R.def (fixes#3064)
* fix broken things
* trying to add R4.0 docs
* changed make
* fixing make paths
* update notes on environment variables
* fix linting
* fixes to CI
* fixing build_cmd and other stuff
* fix bad substitution
* fix Azure Linux builds
* I am bad at bash
* simplifying
* only testing R
* getting better logs
* mingw32
* docs
* toolchain
* using msys
* fix visual studio condition
* toolchain test
* full CI
* fix if-elses
* bump allowed NOTEs
* search for Rscript
* updates to docs
* use processx
* fix mismatched arguments
* move CI to GitHub Actions
* minor changes
* fix workflow file
* fix templating
* fix Azure DevOps
* debugging windows builds
* dont shQuote file name
* all GitHub Actions jobs
* Apply suggestions from code review
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* minor cleanup
* remove objdump printing
* make file.remove() invisible
* Apply suggestions from code review
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>
* reduce duplicated paths in docs
Co-authored-by: Nikita Titov <nekit94-08@mail.ru>