A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
This report summarizes scanner evidence for lightgbm-org/LightGBM, a C++ project with 18,854 GitHub stars. SynthScan examined 116,610 lines of code across 356 source files, recording 713 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 6.2 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 660 finding(s).
Are imports declared and package/API names verified? 36 finding(s).
Are wrappers, guards, and repeated structures necessary? 355 finding(s).
Which changes need focused human review? 713 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 713 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .ci/parameter-generator.py | 199 | def gen_parameter_description( | CODE |
| LOW | tests/python_package_test/test_polars.py | 22 | def generate_simple_polars_frame() -> pl.DataFrame: | CODE |
| LOW | tests/python_package_test/test_polars.py | 30 | def generate_nullable_polars_frame(dtype: Any) -> pl.DataFrame: | CODE |
| LOW | tests/python_package_test/test_polars.py | 41 | def generate_dummy_polars_frame() -> pl.DataFrame: | CODE |
| LOW | tests/python_package_test/test_polars.py | 50 | def generate_random_polars_frame( | CODE |
| LOW | tests/python_package_test/test_polars.py | 68 | def generate_random_polars_series( | CODE |
| LOW | tests/python_package_test/test_polars.py | 114 | def test_dataset_construct_fuzzy(tmp_path, polars_frame_fn, dataset_params): | CODE |
| LOW | tests/python_package_test/test_polars.py | 126 | def test_dataset_construct_fuzzy_boolean(tmp_path): | CODE |
| LOW | tests/python_package_test/test_polars.py | 144 | def test_dataset_construct_fields_fuzzy(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 180 | def test_dataset_construct_labels(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 191 | def test_dataset_construct_labels_boolean(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 205 | def test_dataset_construct_weights_none(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 215 | def test_dataset_construct_weights(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 230 | def test_dataset_construct_groups(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 246 | def test_dataset_construct_position(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 258 | def test_dataset_construct_position_with_duplicates_and_out_of_order(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 275 | def test_dataset_construct_init_scores_array(polars_type): | CODE |
| LOW | tests/python_package_test/test_polars.py | 286 | def test_dataset_construct_init_scores_table(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 306 | def assert_equal_predict_polars_pandas(booster: lgb.Booster, data: pl.DataFrame): | CODE |
| LOW | tests/python_package_test/test_polars.py | 350 | def test_predict_binary_classification(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 365 | def test_predict_multiclass_classification(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 396 | def test_polars_feature_name_auto(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 408 | def test_polars_feature_name_manual(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 421 | def test_get_data_polars_frame(): | CODE |
| LOW | tests/python_package_test/test_polars.py | 435 | def test_get_data_polars_frame_subset(rng): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2479 | def test_refit_with_one_tree_regression(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2488 | def test_refit_with_one_tree_binary_classification(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2497 | def test_refit_with_one_tree_multiclass_classification(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2506 | def test_refit_dataset_params(rng): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2582 | def test_constant_features_regression(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2589 | def test_constant_features_binary(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2595 | def test_constant_features_multiclass(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 2601 | def test_constant_features_multiclassova(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 4860 | def test_train_and_cv_raise_informative_error_for_train_set_of_wrong_type(): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 4868 | def test_train_and_cv_raise_informative_error_for_impossible_num_boost_round(num_boost_round): | CODE |
| LOW⚡ | tests/python_package_test/test_engine.py | 4877 | def test_train_raises_informative_error_if_any_valid_sets_are_not_dataset_objects(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 163 | def test_weighted_percentile_inside_label_range(objective): | CODE |
| LOW | tests/python_package_test/test_engine.py | 200 | def test_missing_value_handle(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 220 | def test_missing_value_handle_more_na(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 240 | def test_missing_value_handle_na(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 271 | def test_missing_value_handle_zero(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 302 | def test_missing_value_handle_none(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 397 | def test_categorical_handle_na(use_quantized_grad): | CODE |
| LOW | tests/python_package_test/test_engine.py | 447 | def test_categorical_non_zero_inputs(use_quantized_grad): | CODE |
| LOW | tests/python_package_test/test_engine.py | 526 | def test_multiclass_prediction_early_stopping(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 696 | def test_ranking_prediction_early_stopping(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 779 | def test_ranking_with_position_information_with_file(tmp_path): | CODE |
| LOW | tests/python_package_test/test_engine.py | 830 | def test_ranking_with_position_information_with_dataset_constructor(tmp_path): | CODE |
| LOW | tests/python_package_test/test_engine.py | 933 | def test_early_stopping_ignores_training_set(use_valid): | CODE |
| LOW | tests/python_package_test/test_engine.py | 971 | def test_early_stopping_callback_can_be_reused_after_it_disabled_itself(disabling_reason): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1024 | def test_early_stopping_via_global_params(first_metric_only): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1052 | def test_early_stopping_is_not_enabled_for_non_positive_stopping_rounds(early_stopping_round): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1102 | def test_early_stopping_min_delta(first_only, single_metric, greater_is_better): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1181 | def test_early_stopping_min_delta_via_global_params(early_stopping_min_delta): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1203 | def test_early_stopping_can_be_triggered_via_custom_callback(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1206 | def _early_stop_after_seventh_iteration(env): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1251 | def test_continue_train_reused_dataset(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1283 | def test_continue_train_multiclass(): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1371 | def test_cv_works_with_init_model(tmp_path): | CODE |
| LOW | tests/python_package_test/test_engine.py | 1545 | def test_feature_name_with_non_ascii(rng, tmp_path): | CODE |
| 254 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 801 | COMMENT | |
| LOW | CMakeLists.txt | 821 | # | COMMENT |
| LOW | build_r.R | 1 | # For macOS users who have decided to use gcc | COMMENT |
| LOW | build-python.sh | 1 | #!/bin/sh | COMMENT |
| LOW | build-python.sh | 21 | # sh ./build-python.sh install --precompile | COMMENT |
| LOW | build-python.sh | 41 | # --gpu | COMMENT |
| LOW | build-cran-package.sh | 1 | #!/bin/sh | COMMENT |
| LOW | .ci/check-workflow-status.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/set-commit-status.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/append-comment.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/install-r-deps.R | 1 | # Install R dependencies, using only base R. | COMMENT |
| LOW | .ci/check-dynamic-dependencies.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/rerun-workflow.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .ci/conda-envs/ci-core.txt | 1 | # [description] | COMMENT |
| LOW | R-package/demo/basic_walkthrough.R | 81 | # Since we do not have this file with us, the following line is just for illustration | COMMENT |
| LOW | R-package/demo/categorical_features_rules.R | 1 | # Here we are going to try training a model with categorical features | COMMENT |
| LOW | R-package/demo/categorical_features_rules.R | 21 | # $ duration : int 79 220 185 199 226 141 341 151 57 313 ... | COMMENT |
| LOW | R-package/demo/categorical_features_rules.R | 41 | # $ marital : num 1 2 1 3 3 2 2 2 1 1 ... | COMMENT |
| LOW | R-package/demo/efficient_many_training.R | 1 | # Efficient training means training without giving up too much RAM | COMMENT |
| LOW | R-package/tests/testthat/helper.R | 1 | # ref for this file: | COMMENT |
| LOW | R-package/R/lgb.convert_with_rules.R | 61 | #' | COMMENT |
| LOW | R-package/R/lgb.convert_with_rules.R | 81 | #' new_iris <- lgb.convert_with_rules(data = iris) | COMMENT |
| LOW | R-package/R/lgb.convert_with_rules.R | 101 | #' | COMMENT |
| LOW | R-package/R/lgb.interpret.R | 1 | #' @name lgb.interpret | COMMENT |
| LOW | R-package/R/lgb.interpret.R | 21 | #' \dontshow{data.table::setDTthreads(1L)} | COMMENT |
| LOW | R-package/R/lgb.interpret.R | 41 | #' ) | COMMENT |
| LOW | R-package/R/utils.R | 161 | params$metric <- as.list(unique(unlist(params$metric))) | COMMENT |
| LOW | R-package/R/utils.R | 181 | # For example, "num_iterations" can also be provided to lgb.train() | COMMENT |
| LOW | R-package/R/multithreading.R | 1 | #' @name setLGBMThreads | COMMENT |
| LOW | R-package/R/multithreading.R | 21 | #' @export | COMMENT |
| LOW | R-package/R/lgb.restore_handle.R | 1 | #' @name lgb.restore_handle | COMMENT |
| LOW | R-package/R/lgb.restore_handle.R | 21 | #' \dontshow{setLGBMthreads(2L)} | COMMENT |
| LOW | R-package/R/lgb.plot.importance.R | 1 | #' @name lgb.plot.importance | COMMENT |
| LOW | R-package/R/lgb.plot.importance.R | 21 | #' \donttest{ | COMMENT |
| LOW | R-package/R/lgb.model.dt.tree.R | 1 | #' @name lgb.model.dt.tree | COMMENT |
| LOW | R-package/R/lgb.model.dt.tree.R | 21 | #' for a leaf, it simply labels it as \code{"NA"}} | COMMENT |
| LOW | R-package/R/lgb.model.dt.tree.R | 41 | #' dtrain <- lgb.Dataset(train$data, label = train$label) | COMMENT |
| LOW | R-package/R/lgb.train.R | 1 | #' @name lgb.train | COMMENT |
| LOW | R-package/R/lgb.train.R | 21 | #' train <- agaricus.train | COMMENT |
| LOW | R-package/R/lightgbm.R | 1 | #' @name lgb_shared_params | COMMENT |
| LOW | R-package/R/lightgbm.R | 21 | #' The "metric" section of the documentation} | COMMENT |
| LOW | R-package/R/lightgbm.R | 41 | #' \item{\bold{c. list}: | COMMENT |
| LOW | R-package/R/lightgbm.R | 61 | #' validation set does not improve for several consecutive iterations. | COMMENT |
| LOW | R-package/R/lightgbm.R | 81 | #' de-serialized, the underlying C++ model object gets reconstructed from these raw bytes, but will only | COMMENT |
| LOW | R-package/R/lightgbm.R | 101 | #' than \code{\link{lgb.train}}. | COMMENT |
| LOW | R-package/R/lightgbm.R | 121 | #' \code{label}). | COMMENT |
| LOW | R-package/R/lightgbm.R | 141 | #' If passing \code{NULL} (the default), will try to use the number of physical cores in the | COMMENT |
| LOW | R-package/R/lightgbm.R | 261 | what = lgb.train | COMMENT |
| LOW | R-package/R/lightgbm.R | 281 | #' https://archive.ics.uci.edu/dataset/73/mushroom | COMMENT |
| LOW | R-package/R/lightgbm.R | 301 | #' \item{\code{label}: the label for each record} | COMMENT |
| LOW | R-package/R/lightgbm.R | 321 | #' UCI Machine Learning Repository. | COMMENT |
| LOW | R-package/R/lgb.make_serializable.R | 1 | #' @name lgb.make_serializable | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 1 | #' @name lgb_shared_dataset_params | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 761 | #' @title Construct \code{lgb.Dataset} object | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 781 | #' @param categorical_feature categorical features. This can either be a character vector of feature | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 841 | #' a character representing a path to a text file (CSV, TSV, or LibSVM), | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 861 | #' | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 881 | #' , row.names = FALSE | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 921 | COMMENT | |
| LOW | R-package/R/lgb.Dataset.R | 941 | COMMENT | |
| 159 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | R-package/R/lgb.Predictor.R | 27 | # Check if model file is a booster handle already | COMMENT |
| LOW⚡ | R-package/R/lgb.Predictor.R | 74 | # Check if number of iterations is existing - if not, then set it to -1 (use all) | COMMENT |
| LOW⚡ | R-package/R/lgb.Predictor.R | 78 | # Check if start iterations is existing - if not, then set it to 0 (start from the first iteration) | COMMENT |
| LOW⚡ | R-package/R/lgb.Predictor.R | 83 | # Check if data is a file name and not a matrix | COMMENT |
| LOW | R-package/R/lgb.Predictor.R | 243 | # Check if data is a matrix | COMMENT |
| LOW | R-package/R/lgb.Predictor.R | 424 | # Check if data is a dgCMatrix (sparse matrix, column compressed format) | COMMENT |
| LOW | R-package/R/lgb.Predictor.R | 450 | # Check if number of rows is strange (not a multiple of the dataset rows) | COMMENT |
| LOW | R-package/R/lgb.model.dt.tree.R | 147 | # Check if split index is not null in leaf | COMMENT |
| LOW | R-package/R/lightgbm.R | 226 | # Set data to a temporary variable | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 162 | # Check if more categorical features were output over the feature space | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 366 | # Check if dgCMatrix (sparse matrix column compressed) | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 417 | # Check if dgCMatrix (sparse matrix column compressed) | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 466 | # Check if attribute key is in the known attribute list | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 517 | # Check if attribute key is in the known attribute list | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 1026 | # Check if invalid element list | COMMENT |
| LOW | R-package/R/lgb.Dataset.R | 1134 | # Check if dataset is not a dataset | COMMENT |
| LOW | R-package/R/lgb.importance.R | 71 | # Check if relative values are requested | COMMENT |
| LOW⚡ | R-package/R/lgb.Booster.R | 840 | # Check if there are evaluation metrics | COMMENT |
| LOW⚡ | R-package/R/lgb.Booster.R | 843 | # Check if evaluation metric is a function | COMMENT |
| LOW⚡ | R-package/R/lgb.Booster.R | 850 | # Check if data to assess is existing differently | COMMENT |
| LOW | R-package/R/lgb.Booster.R | 205 | # Check if objective is empty | COMMENT |
| LOW | R-package/R/lgb.Booster.R | 403 | # Check if evaluation was not done | COMMENT |
| LOW | R-package/R/lgb.Booster.R | 745 | # Check if current iteration was already predicted | COMMENT |
| LOW | R-package/R/lgb.Booster.R | 1544 | # Check if evaluation result is existing | COMMENT |
| LOW | R-package/R/lgb.Booster.R | 1560 | # Check if error is requested | COMMENT |
| LOW⚡ | R-package/R/callback.R | 79 | # Check if period is at least 1 or more | COMMENT |
| LOW⚡ | R-package/R/callback.R | 85 | # Check if iteration matches moduo | COMMENT |
| LOW⚡ | R-package/R/callback.R | 91 | # Check if message is existing | COMMENT |
| LOW | R-package/R/callback.R | 135 | # Check if evaluation record exists | COMMENT |
| LOW | R-package/R/callback.R | 207 | # Check if verbose or not | COMMENT |
| LOW | R-package/R/callback.R | 265 | # Check if score is better | COMMENT |
| LOW | R-package/R/callback.R | 279 | # Check if early stopping is required | COMMENT |
| LOW | R-package/src/install.libs.R | 175 | # Check if Windows installation (for gcc vs Visual Studio) | COMMENT |
| LOW | python-package/lightgbm/basic.py | 3109 | # Check if the weight contains values other than one | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/python_package_test/test_engine.py | 881 | except ImportError: | CODE |
| HIGH | tests/python_package_test/test_sklearn.py | 597 | except lgb.dask._DaskImportErrorTypes: | CODE |
| HIGH | python-package/lightgbm/__init__.py | 17 | except ImportError: | CODE |
| HIGH | python-package/lightgbm/__init__.py | 21 | except ImportError: | CODE |
| HIGH | python-package/lightgbm/__init__.py | 25 | except ImportError: | CODE |
| HIGH | python-package/lightgbm/basic.py | 1004 | except AttributeError: | CODE |
| HIGH | python-package/lightgbm/basic.py | 1817 | except AttributeError: | CODE |
| HIGH | python-package/lightgbm/basic.py | 3819 | except AttributeError: | CODE |
| HIGH | python-package/lightgbm/basic.py | 3824 | except AttributeError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .ci/parameter-generator.py | 16 | CODE | |
| LOW | .ci/parameter-generator.py | 109 | CODE | |
| LOW | .ci/parameter-generator.py | 199 | CODE | |
| LOW | .ci/parameter-generator.py | 263 | CODE | |
| LOW | tests/python_package_test/test_engine.py | 134 | CODE | |
| LOW | tests/python_package_test/test_engine.py | 723 | CODE | |
| LOW | tests/python_package_test/test_engine.py | 725 | CODE | |
| LOW | tests/python_package_test/test_basic.py | 784 | CODE | |
| LOW | tests/python_package_test/test_consistency.py | 13 | CODE | |
| LOW | tests/python_package_test/test_consistency.py | 49 | CODE | |
| LOW | tests/python_package_test/utils.py | 165 | CODE | |
| LOW | tests/python_package_test/utils.py | 178 | CODE | |
| LOW | tests/python_package_test/test_dask.py | 155 | CODE | |
| LOW | tests/python_package_test/test_dask.py | 330 | CODE | |
| LOW | tests/python_package_test/test_dask.py | 822 | CODE | |
| LOW | tests/python_package_test/test_dask.py | 1639 | CODE | |
| LOW | tests/python_package_test/test_sklearn.py | 71 | CODE | |
| LOW | tests/python_package_test/test_sklearn.py | 1746 | CODE | |
| LOW | tests/python_package_test/test_sklearn.py | 2240 | CODE | |
| LOW | python-package/lightgbm/callback.py | 325 | CODE | |
| LOW | python-package/lightgbm/callback.py | 409 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 460 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 482 | CODE | |
| LOW | python-package/lightgbm/engine.py | 108 | CODE | |
| LOW | python-package/lightgbm/engine.py | 526 | CODE | |
| LOW | python-package/lightgbm/dask.py | 193 | CODE | |
| LOW | python-package/lightgbm/dask.py | 439 | CODE | |
| LOW | python-package/lightgbm/dask.py | 922 | CODE | |
| LOW | python-package/lightgbm/basic.py | 349 | CODE | |
| LOW | python-package/lightgbm/basic.py | 467 | CODE | |
| LOW | python-package/lightgbm/basic.py | 807 | CODE | |
| LOW | python-package/lightgbm/basic.py | 1013 | CODE | |
| LOW | python-package/lightgbm/basic.py | 2023 | CODE | |
| LOW | python-package/lightgbm/basic.py | 2066 | CODE | |
| LOW | python-package/lightgbm/basic.py | 2483 | CODE | |
| LOW | python-package/lightgbm/basic.py | 2727 | CODE | |
| LOW | python-package/lightgbm/basic.py | 2918 | CODE | |
| LOW | python-package/lightgbm/basic.py | 3317 | CODE | |
| LOW | python-package/lightgbm/basic.py | 3500 | CODE | |
| LOW | python-package/lightgbm/basic.py | 3677 | CODE | |
| LOW | python-package/lightgbm/basic.py | 5331 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 719 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 825 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 1944 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python-package/lightgbm/compat.py | 153 | CODE | |
| LOW | python-package/lightgbm/compat.py | 154 | CODE | |
| LOW | python-package/lightgbm/compat.py | 155 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 11 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 11 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 11 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 11 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 11 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 12 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 12 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 12 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 12 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 12 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 13 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 13 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 13 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 16 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 16 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 16 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 16 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 20 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 20 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 20 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 20 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 20 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 24 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 24 | CODE | |
| LOW | python-package/lightgbm/__init__.py | 24 | CODE | |
| LOW | python-package/lightgbm/dask.py | 49 | CODE | |
| LOW | python-package/lightgbm/basic.py | 35 | CODE | |
| LOW | python-package/lightgbm/basic.py | 35 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 56 | CODE | |
| LOW | docs/conf.py | 119 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/python_package_test/utils.py | 41 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 37 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 176 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 294 | CODE | |
| LOW | python-package/lightgbm/plotting.py | 749 | CODE | |
| LOW | python-package/lightgbm/engine.py | 639 | CODE | |
| LOW | python-package/lightgbm/dask.py | 439 | CODE | |
| LOW | python-package/lightgbm/dask.py | 1101 | CODE | |
| LOW | python-package/lightgbm/dask.py | 1179 | CODE | |
| LOW | python-package/lightgbm/dask.py | 1353 | CODE | |
| LOW | python-package/lightgbm/dask.py | 1651 | CODE | |
| LOW | python-package/lightgbm/dask.py | 1825 | CODE | |
| LOW | python-package/lightgbm/dask.py | 2049 | CODE | |
| LOW | python-package/lightgbm/dask.py | 2223 | CODE | |
| LOW | python-package/lightgbm/basic.py | 1697 | CODE | |
| LOW | python-package/lightgbm/basic.py | 4886 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 388 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 825 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 1420 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 1598 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 1762 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 1944 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 2392 | CODE | |
| LOW | python-package/lightgbm/sklearn.py | 2557 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | docs/conf.py | 291 | sh build-cran-package.sh || exit 1 | CODE |
| HIGH⚡ | docs/conf.py | 292 | R CMD INSTALL --with-keep.source lightgbm_*.tar.gz || exit 1 | CODE |
| HIGH⚡ | docs/conf.py | 293 | Rscript .ci/build-docs.R || exit 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | R-package/demo/categorical_features_rules.R | 69 | # Creating the LightGBM dataset with categorical features | COMMENT |
| MEDIUM | R-package/R/lgb.train.R | 165 | # Create the predictor set | COMMENT |
| MEDIUM | R-package/R/lgb.cv.R | 186 | # Create the predictor set | COMMENT |
| MEDIUM | R-package/R/lgb.cv.R | 541 | # Create a vector of integers from 1:k as many times as possible without | COMMENT |
| MEDIUM | R-package/inst/make-r-def.R | 2 | # Create a definition file (.def) from a .dll file, using objdump. | COMMENT |
| MEDIUM | python-package/lightgbm/basic.py | 4029 | # Create the node record, and populate universal data members | COMMENT |
| MEDIUM | docs/conf.py | 6 | # This file is execfile()d with the current directory set to its | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | build-python.sh | 347 | # avoid trying to recompile, just use hatchling and copy in relevant files | COMMENT |
| LOW | R-package/demo/basic_walkthrough.R | 140 | # To load it in, simply call lgb.Dataset | COMMENT |
| MEDIUM | tests/python_package_test/test_sklearn.py | 1418 | # Verify that eval_metric is robust to receiving a list with None | COMMENT |
| MEDIUM | tests/python_package_test/test_sklearn.py | 362 | y = y.astype(str) # utilize label encoder at it's max power | CODE |
| MEDIUM | tests/python_package_test/test_sklearn.py | 390 | y = y.astype(str) # utilize label encoder at it's max power | CODE |
| MEDIUM | tests/python_package_test/test_sklearn.py | 420 | y = y.astype(str) # utilize label encoder at it's max power | CODE |
| LOW | python-package/lightgbm/basic.py | 2801 | # If the data is Arrow, we can just pass it to C | COMMENT |
| MEDIUM | src/io/dataset_loader.cpp | 54 | // support to get header from parser config, so could utilize following label name to id mapping logic. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | MAINTAINING.md | 66 | ### Step 1: Put up a Release PR | COMMENT |
| LOW⚡ | MAINTAINING.md | 75 | ### Step 2: Merge the Release PR | COMMENT |
| LOW⚡ | MAINTAINING.md | 81 | ### Step 3: Wait for a New CI Run on `main` | COMMENT |
| LOW⚡ | MAINTAINING.md | 87 | ### Step 4: Create a Release | COMMENT |
| LOW | MAINTAINING.md | 98 | ### Step 5: Upload Artifacts | COMMENT |
| LOW | MAINTAINING.md | 118 | ### Step 6: Complete All Other Post-merge Release Steps | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/distributed/_test_distributed.py | 77 | def _set_ports(self) -> None: | CODE |
| LOW | python-package/lightgbm/callback.py | 20 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/plotting.py | 15 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/__init__.py | 33 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/engine.py | 28 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/dask.py | 41 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/basic.py | 38 | __all__ = [ | CODE |
| LOW | python-package/lightgbm/sklearn.py | 59 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | R-package/demo/basic_walkthrough.R | 4 | # In this example, we are aiming to predict whether a mushroom is edible | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | R-package/R/lgb.Booster.R | 1122 | #' different parameters or prediction type, so make sure to check that the output is what | COMMENT |
| LOW | include/LightGBM/config.h | 1099 | // desc = **Note**: don't forget to allow this port in firewall settings before training | COMMENT |
| MEDIUM | src/treelearner/parallel_tree_learner.h | 124 | * When #data is large and #feature is large, you can use this to have better speed-up | COMMENT |