From 574a62980722ac1ec0b225492a0073400716a208 Mon Sep 17 00:00:00 2001 From: SUKI Date: Tue, 9 Jul 2024 10:09:56 -0400 Subject: [PATCH] Rename the pkg to "treeple" (#292) * WIP: rename pkg to treeple --------- Co-authored-by: Adam Li Authored-by: Itsuki Ogihara --- .circleci/config.yml | 10 +- .flake8 | 2 +- .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/label-globs.yml | 24 +- .github/workflows/build_wheels.yml | 4 +- .github/workflows/circle_artifacts.yml | 2 +- .github/workflows/main.yml | 16 +- .github/workflows/pr_checks.yml | 4 +- .github/workflows/pull_request_labeler.yml | 2 +- .gitignore | 2 +- .gitmodules | 4 +- .pre-commit-config.yaml | 8 +- .spin/cmds.py | 32 +- .yamllint.yml | 2 +- CITATION.cff | 6 +- CONTRIBUTING.md | 60 +-- DEVELOPING.md | 30 +- Makefile | 16 +- README.md | 30 +- asv.conf.json | 8 +- benchmarks/__init__.py | 2 +- benchmarks/ensemble_supervised.py | 2 +- benchmarks_nonasv/README.md | 2 +- benchmarks_nonasv/bench_forestht.py | 2 +- benchmarks_nonasv/bench_mnist.py | 2 +- benchmarks_nonasv/bench_morf.py | 2 +- benchmarks_nonasv/bench_oblique_tree.py | 8 +- benchmarks_nonasv/bench_plot_urf.py | 2 +- .../cancer/bench_multiview_hyppo.ipynb | 12 +- .../cancer/bench_multiview_pvalue_hyppo.ipynb | 8 +- .../cancer/plot_pvalue_cancer.ipynb | 4 +- .../cancer/validate_cancer_data.ipynb | 12 +- ...mpare_coleman_and_permutation_forest.ipynb | 458 +++++++++--------- .../forest_ht_independent_data.ipynb | 34 +- doc/_static/versions.json | 18 +- doc/_templates/layout.html | 2 +- doc/api.rst | 30 +- doc/conf.py | 54 +-- doc/index.rst | 8 +- doc/install.rst | 20 +- doc/modules/ensemble.rst | 4 +- doc/modules/supervised_tree.rst | 4 +- doc/use.rst | 4 +- doc/whats_new.rst | 4 +- doc/whats_new/v0.1.rst | 2 +- doc/whats_new/v0.2.rst | 2 +- doc/whats_new/v0.3.rst | 2 +- doc/whats_new/v0.4.rst | 6 +- doc/whats_new/v0.5.rst | 12 +- doc/whats_new/v0.6.rst | 22 +- doc/whats_new/v0.7.rst | 14 +- doc/whats_new/v0.8.rst | 10 +- doc/whats_new/v0.9.rst | 14 +- examples/README.txt | 2 +- .../calibration/plot_overlapping_gaussians.py | 2 +- examples/multiview/plot_multiview_dtc.py | 4 +- .../plot_extended_isolation_forest.py | 4 +- .../plot_quantile_interpolation_with_RF.py | 2 +- ...lot_quantile_vs_standard_oblique_forest.py | 2 +- examples/sklearn_vs_sktree/README.txt | 6 - examples/sklearn_vs_treeple/README.txt | 6 + .../plot_iris_dtc.py | 4 +- .../plot_extra_oblique_random_forest.py | 2 +- .../plot_extra_orf_sample_size.py | 2 +- ...ique_axis_aligned_forests_sparse_parity.py | 2 +- .../plot_oblique_forests_iris.py | 2 +- .../plot_oblique_random_forest.py | 2 +- .../plot_multiview_axis_aligned_splitter.py | 12 +- .../splitters/plot_projection_matrices.py | 8 +- .../plot_sparse_projection_matrix.py | 8 +- examples/treeple/treeple_tutorial_0_GMM.py | 2 +- .../treeple/treeple_tutorial_1_1a_SA98.py | 6 +- examples/treeple/treeple_tutorial_1_1b_MI.py | 6 +- .../treeple/treeple_tutorial_1_1c_pAUC.py | 6 +- examples/treeple/treeple_tutorial_1_1d_HD.py | 6 +- .../treeple/treeple_tutorial_1_2_pvalue.py | 6 +- .../treeple_tutorial_2_1a_SA98_multiview.py | 8 +- examples/treeple/treeple_tutorial_2_1b_CMI.py | 8 +- .../treeple_tutorial_2_2_pvalue_multiview.py | 8 +- experiments/plotting_cmi_analysis.ipynb | 14 +- meson.build | 14 +- pyproject.toml | 34 +- {sktree => treeple}/__init__.py | 16 +- .../_build_utils/gcc_build_bitness.py | 0 {sktree => treeple}/_lib/__init__.py | 0 {sktree => treeple}/_lib/meson.build | 10 +- {sktree => treeple}/_lib/sklearn_fork | 0 {sktree => treeple}/conftest.py | 0 {sktree => treeple}/datasets/__init__.py | 0 {sktree => treeple}/datasets/hyppo.py | 2 +- {sktree => treeple}/datasets/meson.build | 2 +- {sktree => treeple}/datasets/multiview.py | 2 +- .../datasets/tests/__init__.py | 0 .../datasets/tests/meson.build | 2 +- .../datasets/tests/test_hyppo.py | 4 +- .../datasets/tests/test_multiview.py | 2 +- {sktree => treeple}/ensemble/__init__.py | 0 {sktree => treeple}/ensemble/_eiforest.py | 4 +- {sktree => treeple}/ensemble/_extensions.py | 0 .../ensemble/_honest_forest.py | 6 +- {sktree => treeple}/ensemble/_multiview.py | 4 +- .../ensemble/_supervised_forest.py | 30 +- .../ensemble/_unsupervised_forest.py | 0 {sktree => treeple}/ensemble/meson.build | 2 +- {sktree => treeple}/experimental/__init__.py | 0 .../experimental/distributions.py | 0 {sktree => treeple}/experimental/meson.build | 2 +- .../experimental/monte_carlo.py | 0 .../experimental/mutual_info.py | 8 +- {sktree => treeple}/experimental/sdf.py | 0 {sktree => treeple}/experimental/simulate.py | 0 .../experimental/tests/__init__.py | 0 .../experimental/tests/meson.build | 2 +- .../experimental/tests/test_monte_carlo.py | 2 +- .../experimental/tests/test_mutual_info.py | 0 .../experimental/tests/test_sdf.py | 2 +- .../experimental/tests/test_simulate.py | 2 +- {sktree => treeple}/meson.build | 6 +- {sktree => treeple}/neighbors.py | 2 +- {sktree => treeple}/stats/__init__.py | 0 {sktree => treeple}/stats/forestht.py | 0 {sktree => treeple}/stats/meson.build | 2 +- {sktree => treeple}/stats/monte_carlo.py | 0 {sktree => treeple}/stats/permuteforest.py | 8 +- {sktree => treeple}/stats/tests/__init__.py | 0 {sktree => treeple}/stats/tests/meson.build | 2 +- .../stats/tests/test_coleman.py | 0 .../stats/tests/test_forestht.py | 6 +- .../stats/tests/test_permuteforest.py | 2 +- {sktree => treeple}/stats/tests/test_utils.py | 4 +- {sktree => treeple}/stats/utils.py | 2 +- {sktree => treeple}/tests/__init__.py | 0 {sktree => treeple}/tests/meson.build | 2 +- {sktree => treeple}/tests/test_eiforest.py | 4 +- {sktree => treeple}/tests/test_extensions.py | 2 +- .../tests/test_honest_forest.py | 16 +- .../tests/test_multiview_forest.py | 4 +- {sktree => treeple}/tests/test_neighbors.py | 4 +- .../tests/test_supervised_forest.py | 2 +- .../tests/test_unsupervised_forest.py | 2 +- {sktree => treeple}/tree/__init__.py | 0 {sktree => treeple}/tree/_classes.py | 6 +- {sktree => treeple}/tree/_honest_tree.py | 2 +- {sktree => treeple}/tree/_marginal.pxd | 0 {sktree => treeple}/tree/_marginal.pyx | 2 +- {sktree => treeple}/tree/_marginalize.py | 4 +- {sktree => treeple}/tree/_multiview.py | 0 {sktree => treeple}/tree/_neighbors.py | 2 +- .../tree/_oblique_splitter.pxd | 0 .../tree/_oblique_splitter.pyx | 0 {sktree => treeple}/tree/_oblique_tree.pxd | 0 {sktree => treeple}/tree/_oblique_tree.pyx | 0 .../tree/_sklearn_splitter.pxd | 0 .../tree/_sklearn_splitter.pyx | 0 {sktree => treeple}/tree/_utils.pxd | 0 {sktree => treeple}/tree/_utils.pyx | 0 {sktree => treeple}/tree/kernels.py | 0 {sktree => treeple}/tree/manifold/__init__.py | 0 .../tree/manifold/_morf_splitter.pxd | 0 .../tree/manifold/_morf_splitter.pyx | 0 {sktree => treeple}/tree/manifold/meson.build | 4 +- {sktree => treeple}/tree/meson.build | 4 +- {sktree => treeple}/tree/tests/__init__.py | 0 {sktree => treeple}/tree/tests/meson.build | 2 +- .../tree/tests/test_all_trees.py | 4 +- .../tree/tests/test_honest_tree.py | 4 +- .../tree/tests/test_marginal.py | 8 +- .../tree/tests/test_multiview.py | 2 +- {sktree => treeple}/tree/tests/test_tree.py | 10 +- .../tree/tests/test_unsupervised_tree.py | 2 +- {sktree => treeple}/tree/tests/test_utils.py | 4 +- .../tree/unsupervised/__init__.py | 0 .../tree/unsupervised/_unsup_criterion.pxd | 0 .../tree/unsupervised/_unsup_criterion.pyx | 0 .../unsupervised/_unsup_oblique_splitter.pxd | 0 .../unsupervised/_unsup_oblique_splitter.pyx | 0 .../tree/unsupervised/_unsup_oblique_tree.pxd | 0 .../tree/unsupervised/_unsup_oblique_tree.pyx | 0 .../tree/unsupervised/_unsup_splitter.pxd | 0 .../tree/unsupervised/_unsup_splitter.pyx | 0 .../tree/unsupervised/_unsup_tree.pxd | 0 .../tree/unsupervised/_unsup_tree.pyx | 0 .../tree/unsupervised/meson.build | 4 +- 183 files changed, 728 insertions(+), 744 deletions(-) delete mode 100644 examples/sklearn_vs_sktree/README.txt create mode 100644 examples/sklearn_vs_treeple/README.txt rename examples/{sklearn_vs_sktree => sklearn_vs_treeple}/plot_iris_dtc.py (95%) rename {sktree => treeple}/__init__.py (86%) rename {sktree => treeple}/_build_utils/gcc_build_bitness.py (100%) rename {sktree => treeple}/_lib/__init__.py (100%) rename {sktree => treeple}/_lib/meson.build (89%) rename {sktree => treeple}/_lib/sklearn_fork (100%) rename {sktree => treeple}/conftest.py (100%) rename {sktree => treeple}/datasets/__init__.py (100%) rename {sktree => treeple}/datasets/hyppo.py (99%) rename {sktree => treeple}/datasets/meson.build (83%) rename {sktree => treeple}/datasets/multiview.py (99%) rename {sktree => treeple}/datasets/tests/__init__.py (100%) rename {sktree => treeple}/datasets/tests/meson.build (79%) rename {sktree => treeple}/datasets/tests/test_hyppo.py (98%) rename {sktree => treeple}/datasets/tests/test_multiview.py (98%) rename {sktree => treeple}/ensemble/__init__.py (100%) rename {sktree => treeple}/ensemble/_eiforest.py (98%) rename {sktree => treeple}/ensemble/_extensions.py (100%) rename {sktree => treeple}/ensemble/_honest_forest.py (99%) rename {sktree => treeple}/ensemble/_multiview.py (98%) rename {sktree => treeple}/ensemble/_supervised_forest.py (98%) rename {sktree => treeple}/ensemble/_unsupervised_forest.py (100%) rename {sktree => treeple}/ensemble/meson.build (88%) rename {sktree => treeple}/experimental/__init__.py (100%) rename {sktree => treeple}/experimental/distributions.py (100%) rename {sktree => treeple}/experimental/meson.build (84%) rename {sktree => treeple}/experimental/monte_carlo.py (100%) rename {sktree => treeple}/experimental/mutual_info.py (97%) rename {sktree => treeple}/experimental/sdf.py (100%) rename {sktree => treeple}/experimental/simulate.py (100%) rename {sktree => treeple}/experimental/tests/__init__.py (100%) rename {sktree => treeple}/experimental/tests/meson.build (82%) rename {sktree => treeple}/experimental/tests/test_monte_carlo.py (99%) rename {sktree => treeple}/experimental/tests/test_mutual_info.py (100%) rename {sktree => treeple}/experimental/tests/test_sdf.py (98%) rename {sktree => treeple}/experimental/tests/test_simulate.py (95%) rename {sktree => treeple}/meson.build (96%) rename {sktree => treeple}/neighbors.py (98%) rename {sktree => treeple}/stats/__init__.py (100%) rename {sktree => treeple}/stats/forestht.py (100%) rename {sktree => treeple}/stats/meson.build (87%) rename {sktree => treeple}/stats/monte_carlo.py (100%) rename {sktree => treeple}/stats/permuteforest.py (98%) rename {sktree => treeple}/stats/tests/__init__.py (100%) rename {sktree => treeple}/stats/tests/meson.build (85%) rename {sktree => treeple}/stats/tests/test_coleman.py (100%) rename {sktree => treeple}/stats/tests/test_forestht.py (99%) rename {sktree => treeple}/stats/tests/test_permuteforest.py (97%) rename {sktree => treeple}/stats/tests/test_utils.py (91%) rename {sktree => treeple}/stats/utils.py (99%) rename {sktree => treeple}/tests/__init__.py (100%) rename {sktree => treeple}/tests/meson.build (91%) rename {sktree => treeple}/tests/test_eiforest.py (98%) rename {sktree => treeple}/tests/test_extensions.py (99%) rename {sktree => treeple}/tests/test_honest_forest.py (97%) rename {sktree => treeple}/tests/test_multiview_forest.py (97%) rename {sktree => treeple}/tests/test_neighbors.py (96%) rename {sktree => treeple}/tests/test_supervised_forest.py (99%) rename {sktree => treeple}/tests/test_unsupervised_forest.py (97%) rename {sktree => treeple}/tree/__init__.py (100%) rename {sktree => treeple}/tree/_classes.py (99%) rename {sktree => treeple}/tree/_honest_tree.py (99%) rename {sktree => treeple}/tree/_marginal.pxd (100%) rename {sktree => treeple}/tree/_marginal.pyx (99%) rename {sktree => treeple}/tree/_marginalize.py (98%) rename {sktree => treeple}/tree/_multiview.py (100%) rename {sktree => treeple}/tree/_neighbors.py (97%) rename {sktree => treeple}/tree/_oblique_splitter.pxd (100%) rename {sktree => treeple}/tree/_oblique_splitter.pyx (100%) rename {sktree => treeple}/tree/_oblique_tree.pxd (100%) rename {sktree => treeple}/tree/_oblique_tree.pyx (100%) rename {sktree => treeple}/tree/_sklearn_splitter.pxd (100%) rename {sktree => treeple}/tree/_sklearn_splitter.pyx (100%) rename {sktree => treeple}/tree/_utils.pxd (100%) rename {sktree => treeple}/tree/_utils.pyx (100%) rename {sktree => treeple}/tree/kernels.py (100%) rename {sktree => treeple}/tree/manifold/__init__.py (100%) rename {sktree => treeple}/tree/manifold/_morf_splitter.pxd (100%) rename {sktree => treeple}/tree/manifold/_morf_splitter.pyx (100%) rename {sktree => treeple}/tree/manifold/meson.build (79%) rename {sktree => treeple}/tree/meson.build (92%) rename {sktree => treeple}/tree/tests/__init__.py (100%) rename {sktree => treeple}/tree/tests/meson.build (89%) rename {sktree => treeple}/tree/tests/test_all_trees.py (98%) rename {sktree => treeple}/tree/tests/test_honest_tree.py (98%) rename {sktree => treeple}/tree/tests/test_marginal.py (96%) rename {sktree => treeple}/tree/tests/test_multiview.py (99%) rename {sktree => treeple}/tree/tests/test_tree.py (98%) rename {sktree => treeple}/tree/tests/test_unsupervised_tree.py (98%) rename {sktree => treeple}/tree/tests/test_utils.py (98%) rename {sktree => treeple}/tree/unsupervised/__init__.py (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_criterion.pxd (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_criterion.pyx (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_oblique_splitter.pxd (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_oblique_splitter.pyx (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_oblique_tree.pxd (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_oblique_tree.pyx (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_splitter.pxd (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_splitter.pyx (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_tree.pxd (100%) rename {sktree => treeple}/tree/unsupervised/_unsup_tree.pyx (100%) rename {sktree => treeple}/tree/unsupervised/meson.build (88%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7943c45ab..910c2867e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ commands: - run: name: Check-skip command: | - if [ ! -d "sktree" ]; then + if [ ! -d "treeple" ]; then echo "Build was not run due to skip, exiting job ${CIRCLE_JOB} for PR ${CIRCLE_PULL_REQUEST}." circleci-agent step halt; fi @@ -61,7 +61,7 @@ commands: fi jobs: - # Build scikit-tree from source + # Build treeple from source build_scikit_tree: docker: # CircleCI maintains a library of pre-built images @@ -86,7 +86,7 @@ jobs: pip install .[build,doc] - run: - name: build scikit-tree + name: build treeple command: | spin build -j2 @@ -162,7 +162,7 @@ jobs: name: Install and configure dependencies command: | npm install --global gh-pages@3.0 - git config --global user.email "circle@scikit-tree.com" + git config --global user.email "circle@treeple.com" git config --global user.name "Circle Ci" - add_ssh_keys: @@ -184,7 +184,7 @@ jobs: - save_cache: key: website-cache paths: - - ~/sktree + - ~/treeple workflows: build-docs: diff --git a/.flake8 b/.flake8 index cc82edf26..de09c5925 100644 --- a/.flake8 +++ b/.flake8 @@ -25,7 +25,7 @@ exclude = build build-install dist - sktree/_lib/ + treeple/_lib/ .asv env diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index aa63cda74..90adf719b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -23,7 +23,7 @@ Please be aware that we are a loose team of volunteers so patience is necessary; assistance handling other issues is very welcome. We value all user contributions, no matter how minor they are. -See https://github.com/neurodata/scikit-tree/blob/main/CONTRIBUTING.md for more +See https://github.com/neurodata/treeple/blob/main/CONTRIBUTING.md for more information on contributing. Thanks for contributing! diff --git a/.github/label-globs.yml b/.github/label-globs.yml index 8abf02e8a..a2ae17cac 100644 --- a/.github/label-globs.yml +++ b/.github/label-globs.yml @@ -1,15 +1,15 @@ Cython: - - sktree/**/*.pyx.* - - sktree/**/*.pxd.* - - sktree/**/*.pxi.* + - treeple/**/*.pyx.* + - treeple/**/*.pxd.* + - treeple/**/*.pxi.* C/C++: - - sktree/**/*.c - - sktree/**/*.c.in - - sktree/**/*.c.old - - sktree/**/*.h - - sktree/**/*.h.in - - sktree/**/*.cpp - - sktree/**/*.cc - - sktree/**/*.cxx - - sktree/**/*.hpp + - treeple/**/*.c + - treeple/**/*.c.in + - treeple/**/*.c.old + - treeple/**/*.h + - treeple/**/*.h.in + - treeple/**/*.cpp + - treeple/**/*.cc + - treeple/**/*.cxx + - treeple/**/*.hpp diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index de4084eaa..cb5ed0889 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -46,7 +46,7 @@ jobs: IS_32_BIT: ${{ matrix.os[2] == 'x86' }} steps: - - name: Checkout scikit-tree + - name: Checkout treeple uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -136,7 +136,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout scikit-tree + - name: Checkout treeple uses: actions/checkout@v4 - name: Setup Python diff --git a/.github/workflows/circle_artifacts.yml b/.github/workflows/circle_artifacts.yml index d837d89b3..1250d53d5 100644 --- a/.github/workflows/circle_artifacts.yml +++ b/.github/workflows/circle_artifacts.yml @@ -9,7 +9,7 @@ permissions: read-all jobs: circleci_artifacts_redirector_job: runs-on: ubuntu-20.04 - if: "github.repository == 'neurodata/scikit-tree' && github.event.context == 'ci/circleci: build_docs'" + if: "github.repository == 'neurodata/treeple' && github.event.context == 'ci/circleci: build_docs'" permissions: statuses: write name: Run CircleCI artifacts redirector diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 18c4e8f9e..e363b70a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: restore-keys: | ${{ github.workflow }}-${{ matrix.python-version }}-ccache-linux- - - name: Setup build and install scikit-tree + - name: Setup build and install treeple run: | ./spin build -j 2 --forcesubmodule ./spin install @@ -125,7 +125,7 @@ jobs: - name: Run unit tests and coverage run: | - pytest ./sktree + pytest ./treeple - name: debug run: | @@ -137,7 +137,7 @@ jobs: - name: Save build uses: actions/upload-artifact@v4 with: - name: sktree-build + name: treeple-build path: $PWD/build build_and_test_slow: @@ -210,7 +210,7 @@ jobs: restore-keys: | ${{ github.workflow }}-${{ matrix.python-version }}-ccache-linux- - - name: Setup build and install scikit-tree + - name: Setup build and install treeple run: | ./spin build -j4 --forcesubmodule ./spin install @@ -245,7 +245,7 @@ jobs: - name: Save build uses: actions/upload-artifact@v4 with: - name: sktree-build + name: treeple-build path: $PWD/build build-windows: @@ -290,9 +290,9 @@ jobs: # Necessary because GitHub Actions checks out the repo to D:\ while OpenBLAS # got installed to C:\ higher up. The copying with `--win-cp-openblas` fails # when things are split over drives. - # cp C:\opt\64\bin\*.dll $pwd\build-install\Lib\site-packages\scikit-tree\.libs\ - # python tools\openblas_support.py --write-init $PWD\build-install\Lib\site-packages\scikit-tree\ + # cp C:\opt\64\bin\*.dll $pwd\build-install\Lib\site-packages\treeple\.libs\ + # python tools\openblas_support.py --write-init $PWD\build-install\Lib\site-packages\treeple\ - name: test run: | - pytest ./sktree + pytest ./treeple diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml index c41040164..a63f66c40 100644 --- a/.github/workflows/pr_checks.yml +++ b/.github/workflows/pr_checks.yml @@ -9,7 +9,7 @@ on: branches: - main paths: - - "sktree/**" + - "treeple/**" jobs: changelog: @@ -60,7 +60,7 @@ jobs: echo "" echo "Please add an entry to the changelog at 'doc/whats_new/v*.rst'" echo "to document your change assuming that the PR will be merged" - echo "in time for the next release of scikit-tree." + echo "in time for the next release of treeple." echo "" echo "Look at other entries in that file for inspiration and please" echo "reference this pull request using the ':pr:' directive and" diff --git a/.github/workflows/pull_request_labeler.yml b/.github/workflows/pull_request_labeler.yml index 07b530727..36cb05a4d 100644 --- a/.github/workflows/pull_request_labeler.yml +++ b/.github/workflows/pull_request_labeler.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: thomasjpfan/labeler@v2.5.1 continue-on-error: true - if: github.repository == 'neurodata/scikit-tree' + if: github.repository == 'neurodata/treeple' with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration-path: ".github/label-globs.yml" diff --git a/.gitignore b/.gitignore index 82fad109f..f48bdcdb2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ coverage .coverage.* commit.txt -sktree/_lib/sklearn/ +treeple/_lib/sklearn/ *.png _data diff --git a/.gitmodules b/.gitmodules index 450844195..0c3670415 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -[submodule "sktree/_lib/sklearn"] - path = sktree/_lib/sklearn_fork +[submodule "treeple/_lib/sklearn"] + path = treeple/_lib/sklearn_fork url = https://github.com/neurodata/scikit-learn branch = submodulev3 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d378f05a3..e6ca67983 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,14 +20,14 @@ repos: - id: cython-lint - id: double-quote-cython-strings - # Ruff sktree + # Ruff treeple - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.4.10 hooks: - id: ruff - name: ruff sktree + name: ruff treeple args: ["--fix"] - files: ^sktree/ + files: ^treeple/ # Ruff tutorials and examples - repo: https://github.com/astral-sh/ruff-pre-commit @@ -47,7 +47,7 @@ repos: - id: codespell additional_dependencies: - tomli - files: ^sktree/|^doc/|^examples/|^tutorials/ + files: ^treeple/|^doc/|^examples/|^tutorials/ types_or: [python, bib, rst, inc] # yamllint diff --git a/.spin/cmds.py b/.spin/cmds.py index 4607f663a..7a80393d0 100644 --- a/.spin/cmds.py +++ b/.spin/cmds.py @@ -20,8 +20,8 @@ def coverage(ctx, slowtest=True): pytest_args = ( "-o", "python_functions=test_*", - "sktree", - "--cov=sktree", + "treeple", + "--cov=treeple", "--cov-report=xml", "--cov-config=pyproject.toml", "-k .", @@ -30,8 +30,8 @@ def coverage(ctx, slowtest=True): pytest_args = ( "-o", "python_functions=test_*", - "sktree", - "--cov=sktree", + "treeple", + "--cov=treeple", "--cov-report=xml", "--cov-config=pyproject.toml", ) @@ -46,9 +46,9 @@ def coverage(ctx, slowtest=True): @click.command() @click.option("--forcesubmodule", is_flag=False, help="Force submodule pull.") def setup_submodule(forcesubmodule=False): - """Build scikit-tree using submodules. + """Build treeple using submodules. - git submodule set-branch -b submodulev3 sktree/_lib/sklearn + git submodule set-branch -b submodulev3 treeple/_lib/sklearn git submodule update --recursive --remote @@ -61,13 +61,13 @@ def setup_submodule(forcesubmodule=False): This will update the submodule, which then must be commited so that git knows the submodule needs to be at a certain commit hash. """ - commit_fpath = "./sktree/_lib/commit.txt" - submodule = "./sktree/_lib/sklearn_fork" + commit_fpath = "./treeple/_lib/commit.txt" + submodule = "./treeple/_lib/sklearn_fork" commit = "" current_hash = "" # if the forked folder does not exist, we will need to force update the submodule - if not os.path.exists("./sktree/_lib/sklearn/") or forcesubmodule: + if not os.path.exists("./treeple/_lib/sklearn/") or forcesubmodule: # update git submodule util.run(["git", "submodule", "update", "--init", "--force"]) else: @@ -100,7 +100,7 @@ def setup_submodule(forcesubmodule=False): [ "mkdir", "-p", - "./sktree/_lib/sklearn/", + "./treeple/_lib/sklearn/", ], ) util.run( @@ -117,17 +117,17 @@ def setup_submodule(forcesubmodule=False): [ "rm", "-rf", - "sktree/_lib/sklearn", + "treeple/_lib/sklearn", ] ) - if os.path.exists("sktree/_lib/sklearn_fork/sklearn") and (commit != current_hash): + if os.path.exists("treeple/_lib/sklearn_fork/sklearn") and (commit != current_hash): util.run( [ "cp", "-r", - "sktree/_lib/sklearn_fork/sklearn", - "sktree/_lib/sklearn", + "treeple/_lib/sklearn_fork/sklearn", + "treeple/_lib/sklearn", ] ) @@ -155,7 +155,7 @@ def build( gcov=False, forcesubmodule=False, ): - """Build scikit-tree using submodules. + """Build treeple using submodules. git submodule update --recursive --remote @@ -195,7 +195,7 @@ def asv(asv_args): """ site_path = meson._get_site_packages() if site_path is None: - print("No built scikit-tree found; run `spin build` first.") + print("No built treeple found; run `spin build` first.") sys.exit(1) os.environ["ASV_ENV_DIR"] = "/Users/adam2392/miniforge3" diff --git a/.yamllint.yml b/.yamllint.yml index 2225f6a51..670a643f9 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -1,7 +1,7 @@ extends: default ignore: | - sktree/_lib/ + treeple/_lib/ .asv/ rules: diff --git a/CITATION.cff b/CITATION.cff index e3bf96722..60aaa5a45 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,8 +2,8 @@ --- # Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/) cff-version: 1.2.0 -title: "Scikit-tree: Modern decision-trees compatible with scikit-learn in Python." -abstract: "scikit-tree is a scikit-learn compatible API for building state-of-the-art decision trees. These include unsupervised trees, oblique trees, uncertainty trees, quantile trees and causal trees." +title: "treeple: Modern decision-trees compatible with scikit-learn in Python." +abstract: "treeple is a scikit-learn compatible API for building state-of-the-art decision trees. These include unsupervised trees, oblique trees, uncertainty trees, quantile trees and causal trees." authors: - given-names: Adam family-names: Li @@ -18,7 +18,7 @@ authors: affiliation: "Department of Biomedical Engineering, Johns Hopkins University, Baltimore, MD, USA" orcid: "https://orcid.org/0000-0001-8235-4950" type: software -repository-code: "https://github.com/neurodata/scikit-tree" +repository-code: "https://github.com/neurodata/treeple" license: 'BSD-3-Clause' keywords: - random forest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 73c6c70d5..684b430fc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,22 +3,22 @@ Thanks for considering contributing! Please read this document to learn the various ways you can contribute to this project and how to go about doing it. **Submodule dependency on a fork of scikit-learn** -Due to the current state of scikit-learn's internal Cython code for trees, we have to instead leverage a maintained fork of scikit-learn at , where specifically, the `submodulev3` branch is used to build and install this repo. We keep that fork well-maintained and up-to-date with respect to the main sklearn repo. The only difference is the refactoring of the `tree/` submodule. This fork is used internally under the namespace ``sktree._lib.sklearn``. It is necessary to use this fork for anything related to: +Due to the current state of scikit-learn's internal Cython code for trees, we have to instead leverage a maintained fork of scikit-learn at , where specifically, the `submodulev3` branch is used to build and install this repo. We keep that fork well-maintained and up-to-date with respect to the main sklearn repo. The only difference is the refactoring of the `tree/` submodule. This fork is used internally under the namespace ``treeple._lib.sklearn``. It is necessary to use this fork for anything related to: - `RandomForest*` - `ExtraTrees*` - or any importable items from the `tree/` submodule, whether it is a Cython or Python object -If you are developing for scikit-tree, we will always depend on the most up-to-date commit of `https://github.com/neurodata/scikit-learn/submodulev3` as a submodule within scikit-tee. This branch is consistently maintained for changes upstream that occur in the scikit-learn tree submodule. This ensures that our fork maintains consistency and robustness due to bug fixes and improvements upstream +If you are developing for treeple, we will always depend on the most up-to-date commit of `https://github.com/neurodata/scikit-learn/submodulev3` as a submodule within scikit-tee. This branch is consistently maintained for changes upstream that occur in the scikit-learn tree submodule. This ensures that our fork maintains consistency and robustness due to bug fixes and improvements upstream ## Bug reports and feature requests ### Did you find a bug? -First, do [a quick search](https://github.com/neurodata/scikit-tree/issues) to see whether your issue has already been reported. +First, do [a quick search](https://github.com/neurodata/treeple/issues) to see whether your issue has already been reported. If your issue has already been reported, please comment on the existing issue. -Otherwise, open [a new GitHub issue](https://github.com/neurodata/scikit-tree/issues). Be sure to include a clear title +Otherwise, open [a new GitHub issue](https://github.com/neurodata/treeple/issues). Be sure to include a clear title and description. The description should include as much relevant information as possible. The description should explain how to reproduce the erroneous behavior as well as the behavior you expect to see. Ideally you would include a code sample or an executable test case demonstrating the expected behavior. @@ -30,7 +30,7 @@ We use GitHub issues to track feature requests. Before you create an feature req - Make sure you have a clear idea of the enhancement you would like. If you have a vague idea, consider discussing it first on a GitHub issue. - Check the documentation to make sure your feature does not already exist. -- Do [a quick search](https://github.com/neurodata/scikit-tree/issues) to see whether your feature has already been suggested. +- Do [a quick search](https://github.com/neurodata/treeple/issues) to see whether your feature has already been suggested. When creating your request, please: @@ -50,33 +50,33 @@ When you're ready to contribute code to address an open issue, please follow the Then clone your fork locally with - git clone https://github.com/USERNAME/scikit-tree.git + git clone https://github.com/USERNAME/treeple.git or - git clone git@github.com:USERNAME/scikit-tree.git + git clone git@github.com:USERNAME/treeple.git - At this point the local clone of your fork only knows that it came from *your* repo, github.com/USERNAME/scikit-tree.git, but doesn't know anything the *main* repo, [https://github.com/neurodata/scikit-tree.git](https://github.com/neurodata/scikit-tree). You can see this by running + At this point the local clone of your fork only knows that it came from *your* repo, github.com/USERNAME/treeple.git, but doesn't know anything the *main* repo, [https://github.com/neurodata/treeple.git](https://github.com/neurodata/treeple). You can see this by running - # Note you should be in the "scikit-tree" directory. If you're not - # run "cd ./scikit-tree" to change directory into the repo + # Note you should be in the "treeple" directory. If you're not + # run "cd ./treeple" to change directory into the repo git remote -v which will output something like this: - origin https://github.com/USERNAME/scikit-tree.git (fetch) - origin https://github.com/USERNAME/scikit-tree.git (push) + origin https://github.com/USERNAME/treeple.git (fetch) + origin https://github.com/USERNAME/treeple.git (push) - This means that your local clone can only track changes from your fork, but not from the main repo, and so you won't be able to keep your fork up-to-date with the main repo over time. Therefore you'll need to add another "remote" to your clone that points to [https://github.com/neurodata/scikit-tree.git](https://github.com/neurodata/scikit-tree). To do this, run the following: + This means that your local clone can only track changes from your fork, but not from the main repo, and so you won't be able to keep your fork up-to-date with the main repo over time. Therefore you'll need to add another "remote" to your clone that points to [https://github.com/neurodata/treeple.git](https://github.com/neurodata/treeple). To do this, run the following: - git remote add upstream https://github.com/neurodata/scikit-tree.git + git remote add upstream https://github.com/neurodata/treeple.git Now if you do `git remote -v` again, you'll see - origin https://github.com/USERNAME/scikit-tree.git (fetch) - origin https://github.com/USERNAME/scikit-tree.git (push) - upstream https://github.com/neurodata/scikit-tree.git (fetch) - upstream https://github.com/neurodata/scikit-tree.git (push) + origin https://github.com/USERNAME/treeple.git (fetch) + origin https://github.com/USERNAME/treeple.git (push) + upstream https://github.com/neurodata/treeple.git (fetch) + upstream https://github.com/neurodata/treeple.git (push) Finally, you'll need to create a Python 3 virtual environment suitable for working on this project. There a number of tools out there that making working with virtual environments easier. The most direct way is with the [`venv` module](https://docs.python.org/3.7/library/venv.html) in the standard library, but if you're new to Python or you don't already have a recent Python 3 version installed on your machine, @@ -88,8 +88,8 @@ When you're ready to contribute code to address an open issue, please follow the Then you can create and activate a new Python environment by running: - conda create -n scikit-tree python=3.9 - conda activate scikit-tree + conda create -n treeple python=3.9 + conda activate treeple Once your virtual environment is activated, you can install your local clone in "editable mode" with @@ -104,7 +104,7 @@ When you're ready to contribute code to address an open issue, please follow the
Expand details 👇
- Once you've added an "upstream" remote pointing to [https://github.com/allenai/python-package-temlate.git](https://github.com/neurodata/scikit-tree), keeping your fork up-to-date is easy: + Once you've added an "upstream" remote pointing to [https://github.com/allenai/python-package-temlate.git](https://github.com/neurodata/treeple), keeping your fork up-to-date is easy: git checkout main # if not already on main git pull --rebase upstream main @@ -130,11 +130,11 @@ When you're ready to contribute code to address an open issue, please follow the
Expand details 👇
- Our continuous integration (CI) testing runs [a number of checks](https://github.com/neurodata/scikit-tree/actions) for each pull request on [GitHub Actions](https://github.com/features/actions). You can run most of these tests locally, which is something you should do *before* opening a PR to help speed up the review process and make it easier for us. Please see our [development guide](https://github.com/neurodata/scikit-tree/blob/main/DEVELOPING.md) for a comprehensive overview of useful commands. This will cover aspects of code style checking, unit testing, integration testing, and building the documentation. + Our continuous integration (CI) testing runs [a number of checks](https://github.com/neurodata/treeple/actions) for each pull request on [GitHub Actions](https://github.com/features/actions). You can run most of these tests locally, which is something you should do *before* opening a PR to help speed up the review process and make it easier for us. Please see our [development guide](https://github.com/neurodata/treeple/blob/main/DEVELOPING.md) for a comprehensive overview of useful commands. This will cover aspects of code style checking, unit testing, integration testing, and building the documentation. - And finally, please update the [CHANGELOG](https://github.com/neurodata/scikit-tree/docs/whats_new.rst) with notes on your contribution in the "Unreleased" section at the top. + And finally, please update the [CHANGELOG](https://github.com/neurodata/treeple/docs/whats_new.rst) with notes on your contribution in the "Unreleased" section at the top. - After all of the above checks have passed, you can now open [a new GitHub pull request](https://github.com/neurodata/scikit-tree/pulls). + After all of the above checks have passed, you can now open [a new GitHub pull request](https://github.com/neurodata/treeple/pulls). Make sure you have a clear description of the problem and the solution, and include a link to relevant issues. We look forward to reviewing your PR! @@ -146,10 +146,10 @@ When you're ready to contribute code to address an open issue, please follow the Meson is a modern build system with a lot of nice features, which is why we use it for our build system to compile the Cython/C++ code. However, there are some intricacies that might be new to a pure Python developer. -In general, the steps to build scikit-tree are: +In general, the steps to build treeple are: - install scikit-learn fork (the wheels are released on pypi, so it should be ideally trivial). -- build and install scikit-tree locally using `spin` +- build and install treeple locally using `spin` Example would be: @@ -168,8 +168,8 @@ The most common errors come from the following: 1. clashing sklearn: if they have scikit-learn main installed for another project in the same virtual env, then they should start with a clean virtual env. There is unfortunately no easy way around this rn. Maybe if we vendor the scikit-learn-fork changes, we can get around this in the future. 2. not all necessary compile-time packages installed: e.g. cython, compilers, etc. See scikit-learn documentation on building and installing from source. -3. not using spin CLI: scikit-tree uses Meson for its build because that’s what numpy/scipy uses and it’s actually quite robust. However, it has a few limitations. We use spin CLI to run commands such as testing, shell that has sktree installed, etc. This is because the Python PATH cannot differentiate between sktree/ in your repo directory vs the sktree/ it sees installed. So if you really want to run something in your teminal that is not using spin, then you have to change directories. -4. Not having certain computer packages installed, such as gcc, etc.: Scikit-tree requires compiling Cython and C++ code. Therefore, if you have outdated C/C++ compilers, prolly can be the issue. +3. not using spin CLI: treeple uses Meson for its build because that’s what numpy/scipy uses and it’s actually quite robust. However, it has a few limitations. We use spin CLI to run commands such as testing, shell that has treeple installed, etc. This is because the Python PATH cannot differentiate between treeple/ in your repo directory vs the treeple/ it sees installed. So if you really want to run something in your teminal that is not using spin, then you have to change directories. +4. Not having certain computer packages installed, such as gcc, etc.: treeple requires compiling Cython and C++ code. Therefore, if you have outdated C/C++ compilers, prolly can be the issue. The CI files for github actions shows how to build and install for each OS. @@ -197,7 +197,7 @@ If you need to build the documentation locally and check for doc errors: ## Developing a new Tree model -Here, we define some high-level procedures for how to best approach implementing a new decision-tree model that is not supported yet in scikit-tree. +Here, we define some high-level procedures for how to best approach implementing a new decision-tree model that is not supported yet in treeple. 1. First-pass on implementation: @@ -209,7 +209,7 @@ Here, we define some high-level procedures for how to best approach implementing 3. Third-pass on implementation: - This is the most complex implementation and should in theory be rarely used. This involves both designing a change in the scikit-learn fork submodule as well as relevant changes in scikit-tree itself. Extend the scikit-learn fork API. This requires maintaining some degree of backwards-compatability and testing the proposed changes wrt whatever changes you then make in scikit-tree. + This is the most complex implementation and should in theory be rarely used. This involves both designing a change in the scikit-learn fork submodule as well as relevant changes in treeple itself. Extend the scikit-learn fork API. This requires maintaining some degree of backwards-compatability and testing the proposed changes wrt whatever changes you then make in treeple. --- diff --git a/DEVELOPING.md b/DEVELOPING.md index 5ef88e0ee..608cf8cd3 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -25,8 +25,8 @@ We recommend using miniconda, as python virtual environments may not setup prope - conda create -n sktree - conda activate sktree + conda create -n treeple + conda activate treeple **Make sure you specify a Python version if your system defaults to anything less than Python 3.9.** @@ -35,7 +35,7 @@ Next, install necessary build dependencies. For more information, see . pip install --no-build-isolation --editable . -**Note: editable installs for scikit-tree REQUIRE you to have built the project using meson already.** This will now link the meson build to your Python runtime. Now if you run +**Note: editable installs for treeple REQUIRE you to have built the project using meson already.** This will now link the meson build to your Python runtime. Now if you run - pytest ./sktree + pytest ./treeple the unit-tests should run. @@ -90,12 +90,12 @@ This leverage pre-commit to run a series of precommit checks. # (Advanced) Updating submodules -Scikit-tree relies on a submodule of a forked-version of scikit-learn for certain Python and Cython code that extends the ``DecisionTree*`` models. Usually, if a developer is making changes, they should go over to the ``submodulev3`` branch on ``https://github.com/neurodata/scikit-learn`` and +treeple relies on a submodule of a forked-version of scikit-learn for certain Python and Cython code that extends the ``DecisionTree*`` models. Usually, if a developer is making changes, they should go over to the ``submodulev3`` branch on ``https://github.com/neurodata/scikit-learn`` and submit a PR to make changes to the submodule. -This should **ALWAYS** be supported by some use-case in scikit-tree. We want the minimal amount of code-change in our forked version of scikit-learn to make it very easy to merge in upstream changes, bug fixes and features for tree-based code. +This should **ALWAYS** be supported by some use-case in treeple. We want the minimal amount of code-change in our forked version of scikit-learn to make it very easy to merge in upstream changes, bug fixes and features for tree-based code. -Once a PR is submitted and merged, the developer can update the submodule here in scikit-tree, so that we leverage the new commit. You **must** update the submodule commit ID and also commit this change, so that way the build leverages the new submodule commit ID. +Once a PR is submitted and merged, the developer can update the submodule here in treeple, so that we leverage the new commit. You **must** update the submodule commit ID and also commit this change, so that way the build leverages the new submodule commit ID. git submodule update --init --recursive --remote git add -A @@ -107,17 +107,17 @@ Now, you can re-build the project using the latest submodule changes. # Cython and C++ -The general design of scikit-tree follows that of the tree-models inside scikit-learn, where tree-based models are inherently Cythonized, or written with C++. Then the actual forest (e.g. RandomForest, or ExtraForest) is just a Python API wrapper that creates an ensemble of the trees. +The general design of treeple follows that of the tree-models inside scikit-learn, where tree-based models are inherently Cythonized, or written with C++. Then the actual forest (e.g. RandomForest, or ExtraForest) is just a Python API wrapper that creates an ensemble of the trees. In order to develop new tree models, generally Cython and C++ code will need to be written in order to optimize the tree building process, otherwise fitting a single forest model would take very long. # Making a Release -Scikit-tree is in-line with scikit-learn and thus relies on each new version released there. Moreover, scikit-tree relies on compiled code, so releases are a bit more complex than the typical Python package. +treeple is in-line with scikit-learn and thus relies on each new version released there. Moreover, treeple relies on compiled code, so releases are a bit more complex than the typical Python package. 1. Download wheels from GH Actions and put all wheels into a ``dist/`` folder - will have all the wheels for common OSes built for each Python version. + will have all the wheels for common OSes built for each Python version. 2. Upload wheels to test PyPi @@ -135,8 +135,8 @@ twine upload dist/* or if you have two-factor authentication enabled: - twine upload dist/* --repository scikit-tree + twine upload dist/* --repository treeple 4. Update version number on ``meson.build`` and ``pyproject.toml`` to the relevant version. -See https://github.com/neurodata/scikit-tree/pull/160 as an example. +See https://github.com/neurodata/treeple/pull/160 as an example. diff --git a/Makefile b/Makefile index 381530f23..5e4d831f0 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,8 @@ PYTHON ?= python PYTESTS ?= pytest CTAGS ?= ctags -CODESPELL_SKIPS ?= "*.fif,*.eve,*.gz,*.tgz,*.zip,*.mat,*.stc,*.label,*.w,*.bz2,*.annot,*.sulc,*.log,*.local-copy,*.orig_avg,*.inflated_avg,*.gii,*.pyc,*.doctree,*.pickle,*.inv,*.png,*.edf,*.touch,*.thickness,*.nofix,*.volume,*.defect_borders,*.mgh,lh.*,rh.*,COR-*,FreeSurferColorLUT.txt,*.examples,.xdebug_mris_calc,bad.segments,BadChannels,*.hist,empty_file,*.orig,*.js,*.map,*.ipynb,searchindex.dat,plot_*.rst,*.rst.txt,*.html,gdf_encodes.txt,sktree/_lib/*,doc/auto_examples/*" -CODESPELL_DIRS ?= sktree/ doc/ examples/ benchmarks/ +CODESPELL_SKIPS ?= "*.fif,*.eve,*.gz,*.tgz,*.zip,*.mat,*.stc,*.label,*.w,*.bz2,*.annot,*.sulc,*.log,*.local-copy,*.orig_avg,*.inflated_avg,*.gii,*.pyc,*.doctree,*.pickle,*.inv,*.png,*.edf,*.touch,*.thickness,*.nofix,*.volume,*.defect_borders,*.mgh,lh.*,rh.*,COR-*,FreeSurferColorLUT.txt,*.examples,.xdebug_mris_calc,bad.segments,BadChannels,*.hist,empty_file,*.orig,*.js,*.map,*.ipynb,searchindex.dat,plot_*.rst,*.rst.txt,*.html,gdf_encodes.txt,treeple/_lib/*,doc/auto_examples/*" +CODESPELL_DIRS ?= treeple/ doc/ examples/ benchmarks/ all: clean inplace test test-doc clean-pyc: @@ -25,7 +25,7 @@ pytest: test test: in rm -f .coverage - $(PYTESTS) sktree + $(PYTESTS) treeple test-doc: sample_data testing_data $(PYTESTS) --doctest-modules --doctest-ignore-import-errors --doctest-glob='*.rst' ./doc/ @@ -33,7 +33,7 @@ test-doc: sample_data testing_data flake: @if command -v flake8 > /dev/null; then \ echo "Running flake8"; \ - flake8 --count sktree examples; \ + flake8 --count treeple examples; \ else \ echo "flake8 not found, please install it!"; \ exit 1; \ @@ -43,7 +43,7 @@ flake: black: @if command -v black > /dev/null; then \ echo "Running black"; \ - black sktree examples; \ + black treeple examples; \ else \ echo "black not found, please install it!"; \ exit 1; \ @@ -53,7 +53,7 @@ black: isort: @if command -v isort > /dev/null; then \ echo "Running isort"; \ - isort sktree examples doc; \ + isort treeple examples doc; \ else \ echo "isort not found, please install it!"; \ exit 1; \ @@ -86,9 +86,9 @@ build-doc-noplot: run-checks: isort --check . - black --check sktree examples + black --check treeple examples flake8 . - mypy ./sktree + mypy ./treeple @$(MAKE) pydocstyle @$(MAKE) codespell-error ruff . diff --git a/README.md b/README.md index e8c767478..c81016343 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,25 @@ [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) -[![CircleCI](https://circleci.com/gh/neurodata/scikit-tree/tree/main.svg?style=svg)](https://circleci.com/gh/neurodata/scikit-tree/tree/main) -[![Main](https://github.com/neurodata/scikit-tree/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/neurodata/scikit-tree/actions/workflows/main.yml) +[![CircleCI](https://circleci.com/gh/neurodata/treeple/tree/main.svg?style=svg)](https://circleci.com/gh/neurodata/treeple/tree/main) +[![Main](https://github.com/neurodata/treeple/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/neurodata/treeple/actions/workflows/main.yml) [![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/) -[![codecov](https://codecov.io/gh/neurodata/scikit-tree/branch/main/graph/badge.svg?token=H1reh7Qwf4)](https://codecov.io/gh/neurodata/scikit-tree) -[![PyPI Download count](https://img.shields.io/pypi/dm/scikit-tree.svg)](https://pypistats.org/packages/scikit-tree) -[![Latest PyPI release](https://img.shields.io/pypi/v/scikit-tree.svg)](https://pypi.org/project/scikit-tree/) +[![codecov](https://codecov.io/gh/neurodata/treeple/branch/main/graph/badge.svg?token=H1reh7Qwf4)](https://codecov.io/gh/neurodata/treeple) +[![PyPI Download count](https://img.shields.io/pypi/dm/treeple.svg)](https://pypistats.org/packages/treeple) +[![Latest PyPI release](https://img.shields.io/pypi/v/treeple.svg)](https://pypi.org/project/treeple/) [![DOI](https://zenodo.org/badge/491260497.svg)](https://zenodo.org/doi/10.5281/zenodo.8412279) -scikit-tree -=========== +treeple +======= -scikit-tree is a scikit-learn compatible API for building state-of-the-art decision trees. These include unsupervised trees, oblique trees, uncertainty trees, quantile trees and causal trees. +treeple is a scikit-learn compatible API for building state-of-the-art decision trees. These include unsupervised trees, oblique trees, uncertainty trees, quantile trees and causal trees. Tree-models have withstood the test of time, and are consistently used for modern-day data science and machine learning applications. They especially perform well when there are limited samples for a problem and are flexible learners that can be applied to a wide variety of different settings, such as tabular, images, time-series, genomics, EEG data and more. +Note that this package was originally named ``scikit-tree`` but was renamed to ``treeple`` after version 0.8.0. version <0.8.0 is still available at . + Documentation ============= -See here for the documentation for our dev version: +See here for the documentation for our dev version: Why oblique trees and why trees beyond those in scikit-learn? ============================================================= @@ -39,12 +41,12 @@ We minimally require: * scipy * scikit-learn >= 1.3 -Installation with Pip () +Installation with Pip () ------------------------------------------------------------- Installing with pip on a conda environment is the recommended route. - pip install scikit-tree + pip install treeple Building locally with Meson (For developers) -------------------------------------------- @@ -77,7 +79,7 @@ We use the ``spin`` CLI to abstract away build details: export PYTHONPATH=${PWD}/build-install/usr/lib/python3.9/site-packages # run specific unit tests - ./spin test -- sktree/tree/tests/test_tree.py + ./spin test -- treeple/tree/tests/test_tree.py # you can bring up the CLI menu ./spin --help @@ -90,14 +92,14 @@ You can also do the same thing using Meson/Ninja itself. Run the following to bu # compile ninja -C build - # install scikit-tree package + # install treeple package meson install -C build export PYTHONPATH=${PWD}/build/lib/python3.9/site-packages # to check installation, you need to be in a different directory cd docs; - python -c "from sktree import tree" + python -c "from treeple import tree" python -c "import sklearn; print(sklearn.__version__);" After building locally, you can use editable installs (warning: this only registers Python changes locally) diff --git a/asv.conf.json b/asv.conf.json index 2dad0808a..c5f36c900 100644 --- a/asv.conf.json +++ b/asv.conf.json @@ -4,10 +4,10 @@ "version": 1, // The name of the project being benchmarked - "project": "scikit-tree", + "project": "treeple", // The project's homepage - "project_url": "https://docs.neurodata.io/scikit-tree/", + "project_url": "https://docs.neurodata.io/treeple/", // The URL or local path of the source code repository for the // project being benchmarked @@ -57,11 +57,11 @@ //"install_timeout": 600, // the base URL to show a commit for the project. - "show_commit_url": "https://github.com/neurodata/scikit-tree/commit/", + "show_commit_url": "https://github.com/neurodata/treeple/commit/", // The Pythons you'd like to test against. If not provided, defaults // to the current version of Python used to run `asv`. - // "pythons": ["/Users/adam2392/miniforge3/envs/sktree/bin/python"], + // "pythons": ["/Users/adam2392/miniforge3/envs/treeple/bin/python"], // The list of conda channel names to be searched for benchmark // dependency packages in the specified order diff --git a/benchmarks/__init__.py b/benchmarks/__init__.py index be81f6c14..46d9913bb 100644 --- a/benchmarks/__init__.py +++ b/benchmarks/__init__.py @@ -1 +1 @@ -"""Benchmark suite for scikit-tree using ASV""" +"""Benchmark suite for treeple using ASV""" diff --git a/benchmarks/ensemble_supervised.py b/benchmarks/ensemble_supervised.py index cba1e8189..a22667a7c 100644 --- a/benchmarks/ensemble_supervised.py +++ b/benchmarks/ensemble_supervised.py @@ -1,4 +1,4 @@ -from sktree.ensemble import ObliqueRandomForestClassifier +from treeple.ensemble import ObliqueRandomForestClassifier from .common import Benchmark, Estimator, Predictor from .datasets import ( diff --git a/benchmarks_nonasv/README.md b/benchmarks_nonasv/README.md index e735c0741..a629f8933 100644 --- a/benchmarks_nonasv/README.md +++ b/benchmarks_nonasv/README.md @@ -1,2 +1,2 @@ -A set of scripts that can be run to analyze runtime and performance of scikit-tree +A set of scripts that can be run to analyze runtime and performance of treeple estimators. diff --git a/benchmarks_nonasv/bench_forestht.py b/benchmarks_nonasv/bench_forestht.py index 59e4dff9b..69733f218 100644 --- a/benchmarks_nonasv/bench_forestht.py +++ b/benchmarks_nonasv/bench_forestht.py @@ -13,7 +13,7 @@ import seaborn as sns from scipy.special import expit -from sktree.stats import PermutationForestClassifier, PermutationForestRegressor +from treeple.stats import PermutationForestClassifier, PermutationForestRegressor seed = 12345 diff --git a/benchmarks_nonasv/bench_mnist.py b/benchmarks_nonasv/bench_mnist.py index 0e9adec99..271d9c175 100644 --- a/benchmarks_nonasv/bench_mnist.py +++ b/benchmarks_nonasv/bench_mnist.py @@ -37,7 +37,7 @@ from sklearn.metrics import zero_one_loss from sklearn.utils import check_array -from sktree import ObliqueRandomForestClassifier, PatchObliqueRandomForestClassifier +from treeple import ObliqueRandomForestClassifier, PatchObliqueRandomForestClassifier # Memoize the data extraction and memory map the resulting # train / test splits in readonly mode diff --git a/benchmarks_nonasv/bench_morf.py b/benchmarks_nonasv/bench_morf.py index 62463b711..6bcf18342 100644 --- a/benchmarks_nonasv/bench_morf.py +++ b/benchmarks_nonasv/bench_morf.py @@ -30,7 +30,7 @@ import numpy as np from sklearn.datasets import make_classification, make_low_rank_matrix, make_regression -from sktree import PatchObliqueRandomForestClassifier, PatchObliqueRandomForestRegressor +from treeple import PatchObliqueRandomForestClassifier, PatchObliqueRandomForestRegressor def make_poisson_data(n_samples, n_features=50, random_state=0, has_missing=False): diff --git a/benchmarks_nonasv/bench_oblique_tree.py b/benchmarks_nonasv/bench_oblique_tree.py index c19f4977c..29ddb6e37 100644 --- a/benchmarks_nonasv/bench_oblique_tree.py +++ b/benchmarks_nonasv/bench_oblique_tree.py @@ -2,7 +2,7 @@ To run this, you'll need to have installed. * scikit-learn - * scikit-tree + * treeple Does two benchmarks @@ -67,7 +67,7 @@ def bench_scikitlearn_tree_regressor(X, Y): def bench_oblique_tree_classifier(X, Y): """Benchmark with scikit-learn decision tree classifier""" - from sktree.tree import ObliqueDecisionTreeClassifier + from treeple.tree import ObliqueDecisionTreeClassifier gc.collect() @@ -84,7 +84,7 @@ def bench_oblique_tree_classifier(X, Y): def bench_oblique_tree_regressor(X, Y): """Benchmark with scikit-learn decision tree regressor""" - from sktree.tree import ObliqueDecisionTreeRegressor + from treeple.tree import ObliqueDecisionTreeRegressor gc.collect() @@ -122,7 +122,7 @@ def bench_oblique_tree_regressor(X, Y): bench_scikitlearn_tree_regressor(X, Y) xx = range(0, n * step, step) - plt.figure("scikit-tree oblique tree benchmark results") + plt.figure("treeple oblique tree benchmark results") plt.subplot(211) plt.title("Learning with varying number of samples") plt.plot(xx, scikit_classifier_results, "g-", label="classification") diff --git a/benchmarks_nonasv/bench_plot_urf.py b/benchmarks_nonasv/bench_plot_urf.py index d66511233..a213eff71 100644 --- a/benchmarks_nonasv/bench_plot_urf.py +++ b/benchmarks_nonasv/bench_plot_urf.py @@ -4,7 +4,7 @@ import numpy as np from numpy import random as nr -from sktree import UnsupervisedObliqueRandomForest, UnsupervisedRandomForest +from treeple import UnsupervisedObliqueRandomForest, UnsupervisedRandomForest def compute_bench(samples_range, features_range): diff --git a/benchmarks_nonasv/cancer/bench_multiview_hyppo.ipynb b/benchmarks_nonasv/cancer/bench_multiview_hyppo.ipynb index d93196874..5179709b0 100644 --- a/benchmarks_nonasv/cancer/bench_multiview_hyppo.ipynb +++ b/benchmarks_nonasv/cancer/bench_multiview_hyppo.ipynb @@ -43,14 +43,14 @@ " make_spd_matrix,\n", ")\n", "\n", - "from sktree import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", - "from sktree.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", - "from sktree.stats import (\n", + "from treeple import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", + "from treeple.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", + "from treeple.stats import (\n", " FeatureImportanceForestClassifier,\n", " FeatureImportanceForestRegressor,\n", " PermutationForestRegressor,\n", ")\n", - "from sktree.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", + "from treeple.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", "\n", "seed = 12345\n", "rng = np.random.default_rng(seed)" @@ -5774,9 +5774,9 @@ ], "metadata": { "kernelspec": { - "display_name": "sktree", + "display_name": "treeple", "language": "python", - "name": "sktree" + "name": "treeple" }, "language_info": { "codemirror_mode": { diff --git a/benchmarks_nonasv/cancer/bench_multiview_pvalue_hyppo.ipynb b/benchmarks_nonasv/cancer/bench_multiview_pvalue_hyppo.ipynb index 702e303c3..8071b12b2 100644 --- a/benchmarks_nonasv/cancer/bench_multiview_pvalue_hyppo.ipynb +++ b/benchmarks_nonasv/cancer/bench_multiview_pvalue_hyppo.ipynb @@ -43,14 +43,14 @@ ")\n", "from sklearn.tree import DecisionTreeClassifier as skDecisionTreeClassifier\n", "\n", - "from sktree import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", - "from sktree.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", - "from sktree.stats import (\n", + "from treeple import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", + "from treeple.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", + "from treeple.stats import (\n", " FeatureImportanceForestClassifier,\n", " FeatureImportanceForestRegressor,\n", " PermutationForestRegressor,\n", ")\n", - "from sktree.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", + "from treepleeeeeeee.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", "\n", "seed = 12345\n", "rng = np.random.default_rng(seed)" diff --git a/benchmarks_nonasv/cancer/plot_pvalue_cancer.ipynb b/benchmarks_nonasv/cancer/plot_pvalue_cancer.ipynb index 60493fcf6..4b552032c 100644 --- a/benchmarks_nonasv/cancer/plot_pvalue_cancer.ipynb +++ b/benchmarks_nonasv/cancer/plot_pvalue_cancer.ipynb @@ -1124,9 +1124,9 @@ ], "metadata": { "kernelspec": { - "display_name": "sktree", + "display_name": "treeple", "language": "python", - "name": "sktree" + "name": "treeple" }, "language_info": { "codemirror_mode": { diff --git a/benchmarks_nonasv/cancer/validate_cancer_data.ipynb b/benchmarks_nonasv/cancer/validate_cancer_data.ipynb index ba601ef7c..c4f0740d9 100644 --- a/benchmarks_nonasv/cancer/validate_cancer_data.ipynb +++ b/benchmarks_nonasv/cancer/validate_cancer_data.ipynb @@ -31,14 +31,14 @@ " make_spd_matrix,\n", ")\n", "\n", - "from sktree import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", - "from sktree.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", - "from sktree.stats import (\n", + "from treeple import HonestForestClassifier, RandomForestClassifier, RandomForestRegressor\n", + "from treeple.datasets.multiview import make_gaussian_mixture, make_joint_factor_model\n", + "from treeple.stats import (\n", " FeatureImportanceForestClassifier,\n", " FeatureImportanceForestRegressor,\n", " PermutationForestRegressor,\n", ")\n", - "from sktree.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", + "from treeple.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier\n", "\n", "seed = 12345\n", "rng = np.random.default_rng(seed)" @@ -716,9 +716,9 @@ ], "metadata": { "kernelspec": { - "display_name": "sktree", + "display_name": "", "language": "python", - "name": "sktree" + "name": "" }, "language_info": { "codemirror_mode": { diff --git a/benchmarks_nonasv/notebooks/compare_coleman_and_permutation_forest.ipynb b/benchmarks_nonasv/notebooks/compare_coleman_and_permutation_forest.ipynb index b1118f376..59f690963 100644 --- a/benchmarks_nonasv/notebooks/compare_coleman_and_permutation_forest.ipynb +++ b/benchmarks_nonasv/notebooks/compare_coleman_and_permutation_forest.ipynb @@ -15,8 +15,8 @@ "import seaborn as sns\n", "from scipy.special import expit\n", "\n", - "from sktree import RandomForestClassifier, RandomForestRegressor\n", - "from sktree.stats import (\n", + "from treeple import RandomForestClassifier, RandomForestRegressor\n", + "from treeple.stats import (\n", " FeatureImportanceForestClassifier,\n", " FeatureImportanceForestRegressor,\n", " PermutationForestRegressor,\n", @@ -249,9 +249,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -266,7 +266,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -281,7 +281,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -296,7 +296,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -311,9 +311,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -328,7 +328,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -343,7 +343,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -358,7 +358,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -373,9 +373,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -390,7 +390,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -405,7 +405,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -420,7 +420,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -435,9 +435,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -452,7 +452,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -467,7 +467,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -482,7 +482,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -497,9 +497,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -514,7 +514,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -529,7 +529,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -544,7 +544,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -559,9 +559,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -576,7 +576,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -591,7 +591,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -606,7 +606,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -621,9 +621,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -638,7 +638,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -653,7 +653,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -668,7 +668,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -683,9 +683,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -700,7 +700,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -715,7 +715,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -730,7 +730,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -745,9 +745,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -762,7 +762,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -777,7 +777,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -792,7 +792,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -807,9 +807,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -824,7 +824,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -839,7 +839,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -854,7 +854,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -869,9 +869,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -886,7 +886,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -901,7 +901,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -916,7 +916,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -931,9 +931,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -948,7 +948,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -963,7 +963,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -978,7 +978,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -993,9 +993,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1010,7 +1010,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1025,7 +1025,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1040,7 +1040,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1055,9 +1055,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1072,7 +1072,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1087,7 +1087,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1102,7 +1102,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1117,9 +1117,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1134,7 +1134,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1149,7 +1149,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1164,7 +1164,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1179,9 +1179,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1196,7 +1196,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1211,7 +1211,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1226,7 +1226,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1241,9 +1241,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1258,7 +1258,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1273,7 +1273,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1288,7 +1288,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1303,9 +1303,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1320,7 +1320,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1335,7 +1335,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1350,7 +1350,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1365,9 +1365,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1382,7 +1382,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1397,7 +1397,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1412,7 +1412,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1427,9 +1427,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1444,7 +1444,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1459,7 +1459,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1474,7 +1474,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1489,9 +1489,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1506,7 +1506,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1521,7 +1521,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1536,7 +1536,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1551,9 +1551,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1568,7 +1568,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1583,7 +1583,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1598,7 +1598,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1613,9 +1613,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1630,7 +1630,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1645,7 +1645,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1660,7 +1660,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1675,9 +1675,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1692,7 +1692,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1707,7 +1707,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1722,7 +1722,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1737,9 +1737,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1754,7 +1754,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1769,7 +1769,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1784,7 +1784,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1799,9 +1799,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1816,7 +1816,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1831,7 +1831,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1846,7 +1846,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1861,9 +1861,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1878,7 +1878,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1893,7 +1893,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1908,7 +1908,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1923,9 +1923,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1940,7 +1940,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1955,7 +1955,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1970,7 +1970,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -1985,9 +1985,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2002,7 +2002,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2017,7 +2017,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2032,7 +2032,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2047,9 +2047,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2064,7 +2064,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2079,7 +2079,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2094,7 +2094,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2109,9 +2109,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2126,7 +2126,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2141,7 +2141,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2156,7 +2156,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2171,9 +2171,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2188,7 +2188,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2203,7 +2203,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2218,7 +2218,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2233,9 +2233,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2250,7 +2250,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2265,7 +2265,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2280,7 +2280,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2295,9 +2295,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2312,7 +2312,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2327,7 +2327,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2342,7 +2342,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2357,9 +2357,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2374,7 +2374,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2389,7 +2389,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2404,7 +2404,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2419,9 +2419,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2436,7 +2436,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2451,7 +2451,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2466,7 +2466,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2481,9 +2481,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2498,7 +2498,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2513,7 +2513,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2528,7 +2528,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2543,9 +2543,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2560,7 +2560,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2575,7 +2575,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2590,7 +2590,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2605,9 +2605,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2622,7 +2622,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2637,7 +2637,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2652,7 +2652,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2667,9 +2667,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2684,7 +2684,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2699,7 +2699,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2714,7 +2714,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2729,9 +2729,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2746,7 +2746,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2761,7 +2761,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2776,7 +2776,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2791,9 +2791,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2808,7 +2808,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2823,7 +2823,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2838,7 +2838,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2853,9 +2853,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2870,7 +2870,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2885,7 +2885,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2900,7 +2900,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2915,9 +2915,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2932,7 +2932,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2947,7 +2947,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2962,7 +2962,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2977,9 +2977,9 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n", - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -2994,7 +2994,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -3009,7 +3009,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -3024,7 +3024,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/Users/adam2392/miniforge3/envs/sktree/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + "/Users/adam2392/miniforge3/envs/treeple/lib/python3.9/site-packages/sklearn/base.py:1151: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", " return fit_method(estimator, *args, **kwargs)\n" ] }, @@ -4616,9 +4616,9 @@ ], "metadata": { "kernelspec": { - "display_name": "sktree", + "display_name": "treeple", "language": "python", - "name": "sktree" + "name": "treeple" }, "language_info": { "codemirror_mode": { diff --git a/benchmarks_nonasv/notebooks/forest_ht_independent_data.ipynb b/benchmarks_nonasv/notebooks/forest_ht_independent_data.ipynb index adb08dfe3..aa4ac286d 100644 --- a/benchmarks_nonasv/notebooks/forest_ht_independent_data.ipynb +++ b/benchmarks_nonasv/notebooks/forest_ht_independent_data.ipynb @@ -24,8 +24,8 @@ "import seaborn as sns\n", "from scipy.special import expit\n", "\n", - "from sktree import RandomForestClassifier, RandomForestRegressor\n", - "from sktree.stats import (\n", + "from treepleeeeeeee import RandomForestClassifier, RandomForestRegressor\n", + "from treepleeeeeee.stats import (\n", " FeatureImportanceForestClassifier,\n", " FeatureImportanceForestRegressor,\n", " PermutationForestRegressor,\n", @@ -340,36 +340,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "2beb63bf-77e3-43bc-8259-f6e8a149825d", "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'FeatureImportanceForestClassifier' object has no attribute '_perm_seeds'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mEmpty\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/site-packages/joblib/parallel.py:1423\u001b[0m, in \u001b[0;36mParallel.dispatch_one_batch\u001b[0;34m(self, iterator)\u001b[0m\n\u001b[1;32m 1422\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1423\u001b[0m tasks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_ready_batches\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[43mblock\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 1424\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m queue\u001b[38;5;241m.\u001b[39mEmpty:\n\u001b[1;32m 1425\u001b[0m \u001b[38;5;66;03m# slice the iterator n_jobs * batchsize items at a time. If the\u001b[39;00m\n\u001b[1;32m 1426\u001b[0m \u001b[38;5;66;03m# slice returns less than that, then the current batchsize puts\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1429\u001b[0m \u001b[38;5;66;03m# accordingly to distribute evenly the last items between all\u001b[39;00m\n\u001b[1;32m 1430\u001b[0m \u001b[38;5;66;03m# workers.\u001b[39;00m\n", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/queue.py:168\u001b[0m, in \u001b[0;36mQueue.get\u001b[0;34m(self, block, timeout)\u001b[0m\n\u001b[1;32m 167\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_qsize():\n\u001b[0;32m--> 168\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m Empty\n\u001b[1;32m 169\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m timeout \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "\u001b[0;31mEmpty\u001b[0m: ", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[15], line 7\u001b[0m\n\u001b[1;32m 5\u001b[0m X \u001b[38;5;241m=\u001b[39m rng\u001b[38;5;241m.\u001b[39mstandard_normal(size\u001b[38;5;241m=\u001b[39m(n_samples, n_features))\n\u001b[1;32m 6\u001b[0m y \u001b[38;5;241m=\u001b[39m rng\u001b[38;5;241m.\u001b[39mbinomial(\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m0.5\u001b[39m, size\u001b[38;5;241m=\u001b[39mn_samples) \u001b[38;5;66;03m# .reshape(-1, 1)\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m stat, pvalue \u001b[38;5;241m=\u001b[39m \u001b[43mest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcovariate_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmetric\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmi\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m est\u001b[38;5;241m.\u001b[39mreset()\n\u001b[1;32m 10\u001b[0m stats\u001b[38;5;241m.\u001b[39mappend(stat)\n", - "File \u001b[0;32m~/Documents/scikit-tree/sktree/stats/forestht.py:450\u001b[0m, in \u001b[0;36mBaseForestHT.test\u001b[0;34m(self, X, y, covariate_index, metric, n_repeats, return_posteriors, **metric_kwargs)\u001b[0m\n\u001b[1;32m 446\u001b[0m X, y, covariate_index \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_input(X, y, covariate_index)\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_is_fitted:\n\u001b[1;32m 449\u001b[0m \u001b[38;5;66;03m# first compute the test statistic on the un-permuted data\u001b[39;00m\n\u001b[0;32m--> 450\u001b[0m observe_stat, observe_posteriors, observe_samples \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstatistic\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 451\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 452\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 453\u001b[0m \u001b[43m \u001b[49m\u001b[43mcovariate_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 454\u001b[0m \u001b[43m \u001b[49m\u001b[43mmetric\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmetric\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 455\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_posteriors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_posteriors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 456\u001b[0m \u001b[43m \u001b[49m\u001b[43mcheck_input\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 457\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmetric_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 458\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 460\u001b[0m observe_samples \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mobserve_samples_\n", - "File \u001b[0;32m~/Documents/scikit-tree/sktree/stats/forestht.py:390\u001b[0m, in \u001b[0;36mBaseForestHT.statistic\u001b[0;34m(self, X, y, covariate_index, metric, return_posteriors, check_input, **metric_kwargs)\u001b[0m\n\u001b[1;32m 387\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m estimator\u001b[38;5;241m.\u001b[39mn_outputs_ \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m metric \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mauc\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 388\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAUC metric is not supported for multi-output\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 390\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_statistic\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 391\u001b[0m \u001b[43m \u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 392\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 393\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 394\u001b[0m \u001b[43m \u001b[49m\u001b[43mcovariate_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcovariate_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 395\u001b[0m \u001b[43m \u001b[49m\u001b[43mmetric\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmetric\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 396\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_posteriors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_posteriors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 397\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mmetric_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 398\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/Documents/scikit-tree/sktree/stats/forestht.py:928\u001b[0m, in \u001b[0;36mFeatureImportanceForestClassifier._statistic\u001b[0;34m(self, estimator, X, y, covariate_index, metric, return_posteriors, **metric_kwargs)\u001b[0m\n\u001b[1;32m 925\u001b[0m \u001b[38;5;66;03m# both sampling dataset per tree or permuting per tree requires us to bypass the\u001b[39;00m\n\u001b[1;32m 926\u001b[0m \u001b[38;5;66;03m# sklearn API to fit each tree individually\u001b[39;00m\n\u001b[1;32m 927\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msample_dataset_per_tree \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpermute_per_tree:\n\u001b[0;32m--> 928\u001b[0m \u001b[43mParallel\u001b[49m\u001b[43m(\u001b[49m\u001b[43mn_jobs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mestimator\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mn_jobs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mverbose\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mverbose\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprefer\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mthreads\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 929\u001b[0m \u001b[43m \u001b[49m\u001b[43mdelayed\u001b[49m\u001b[43m(\u001b[49m\u001b[43m_parallel_build_trees_and_compute_posteriors\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 930\u001b[0m \u001b[43m \u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 931\u001b[0m \u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 932\u001b[0m \u001b[43m \u001b[49m\u001b[43mindices_train\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 933\u001b[0m \u001b[43m \u001b[49m\u001b[43mindices_test\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 934\u001b[0m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 935\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 936\u001b[0m \u001b[43m \u001b[49m\u001b[43mcovariate_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 937\u001b[0m \u001b[43m \u001b[49m\u001b[43mposterior_arr\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 938\u001b[0m \u001b[43m \u001b[49m\u001b[43mpredict_posteriors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 939\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpermute_per_tree\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 940\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_type_of_target_\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 941\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 942\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43midx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mindices_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindices_test\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43menumerate\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_estimators_indices\u001b[49m\u001b[43m(\u001b[49m\u001b[43msample_separate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 943\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 944\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 945\u001b[0m \u001b[38;5;66;03m# fitting a forest will only get one unique train/test split\u001b[39;00m\n\u001b[1;32m 946\u001b[0m indices_train, indices_test \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrain_test_samples_[\u001b[38;5;241m0\u001b[39m]\n", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/site-packages/joblib/parallel.py:1950\u001b[0m, in \u001b[0;36mParallel.__call__\u001b[0;34m(self, iterable)\u001b[0m\n\u001b[1;32m 1944\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_call_ref \u001b[38;5;241m=\u001b[39m weakref\u001b[38;5;241m.\u001b[39mref(output)\n\u001b[1;32m 1946\u001b[0m \u001b[38;5;66;03m# The first item from the output is blank, but it makes the interpreter\u001b[39;00m\n\u001b[1;32m 1947\u001b[0m \u001b[38;5;66;03m# progress until it enters the Try/Except block of the generator and\u001b[39;00m\n\u001b[1;32m 1948\u001b[0m \u001b[38;5;66;03m# reach the first `yield` statement. This starts the aynchronous\u001b[39;00m\n\u001b[1;32m 1949\u001b[0m \u001b[38;5;66;03m# dispatch of the tasks to the workers.\u001b[39;00m\n\u001b[0;32m-> 1950\u001b[0m \u001b[38;5;28;43mnext\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1952\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m output \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreturn_generator \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(output)\n", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/site-packages/joblib/parallel.py:1588\u001b[0m, in \u001b[0;36mParallel._get_outputs\u001b[0;34m(self, iterator, pre_dispatch)\u001b[0m\n\u001b[1;32m 1586\u001b[0m detach_generator_exit \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m 1587\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1588\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_start\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpre_dispatch\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1589\u001b[0m \u001b[38;5;66;03m# first yield returns None, for internal use only. This ensures\u001b[39;00m\n\u001b[1;32m 1590\u001b[0m \u001b[38;5;66;03m# that we enter the try/except block and start dispatching the\u001b[39;00m\n\u001b[1;32m 1591\u001b[0m \u001b[38;5;66;03m# tasks.\u001b[39;00m\n\u001b[1;32m 1592\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m\n", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/site-packages/joblib/parallel.py:1571\u001b[0m, in \u001b[0;36mParallel._start\u001b[0;34m(self, iterator, pre_dispatch)\u001b[0m\n\u001b[1;32m 1562\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_start\u001b[39m(\u001b[38;5;28mself\u001b[39m, iterator, pre_dispatch):\n\u001b[1;32m 1563\u001b[0m \u001b[38;5;66;03m# Only set self._iterating to True if at least a batch\u001b[39;00m\n\u001b[1;32m 1564\u001b[0m \u001b[38;5;66;03m# was dispatched. In particular this covers the edge\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1568\u001b[0m \u001b[38;5;66;03m# was very quick and its callback already dispatched all the\u001b[39;00m\n\u001b[1;32m 1569\u001b[0m \u001b[38;5;66;03m# remaining jobs.\u001b[39;00m\n\u001b[1;32m 1570\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iterating \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m-> 1571\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdispatch_one_batch\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m 1572\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_iterating \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_original_iterator \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1574\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdispatch_one_batch(iterator):\n", - "File \u001b[0;32m~/miniforge3/envs/sktree/lib/python3.9/site-packages/joblib/parallel.py:1434\u001b[0m, in \u001b[0;36mParallel.dispatch_one_batch\u001b[0;34m(self, iterator)\u001b[0m\n\u001b[1;32m 1431\u001b[0m n_jobs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_cached_effective_n_jobs\n\u001b[1;32m 1432\u001b[0m big_batch_size \u001b[38;5;241m=\u001b[39m batch_size \u001b[38;5;241m*\u001b[39m n_jobs\n\u001b[0;32m-> 1434\u001b[0m islice \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mlist\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mitertools\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mislice\u001b[49m\u001b[43m(\u001b[49m\u001b[43miterator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbig_batch_size\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1435\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(islice) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 1436\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m\n", - "File \u001b[0;32m~/Documents/scikit-tree/sktree/stats/forestht.py:928\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 925\u001b[0m \u001b[38;5;66;03m# both sampling dataset per tree or permuting per tree requires us to bypass the\u001b[39;00m\n\u001b[1;32m 926\u001b[0m \u001b[38;5;66;03m# sklearn API to fit each tree individually\u001b[39;00m\n\u001b[1;32m 927\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msample_dataset_per_tree \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpermute_per_tree:\n\u001b[0;32m--> 928\u001b[0m Parallel(n_jobs\u001b[38;5;241m=\u001b[39mestimator\u001b[38;5;241m.\u001b[39mn_jobs, verbose\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverbose, prefer\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mthreads\u001b[39m\u001b[38;5;124m\"\u001b[39m)(\n\u001b[1;32m 929\u001b[0m delayed(_parallel_build_trees_and_compute_posteriors)(\n\u001b[1;32m 930\u001b[0m estimator,\n\u001b[1;32m 931\u001b[0m idx,\n\u001b[1;32m 932\u001b[0m indices_train,\n\u001b[1;32m 933\u001b[0m indices_test,\n\u001b[1;32m 934\u001b[0m X,\n\u001b[1;32m 935\u001b[0m y,\n\u001b[1;32m 936\u001b[0m covariate_index,\n\u001b[1;32m 937\u001b[0m posterior_arr,\n\u001b[1;32m 938\u001b[0m predict_posteriors,\n\u001b[1;32m 939\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpermute_per_tree,\n\u001b[1;32m 940\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_type_of_target_,\n\u001b[1;32m 941\u001b[0m )\n\u001b[1;32m 942\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m idx, (indices_train, indices_test) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_estimators_indices(sample_separate\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m))\n\u001b[1;32m 943\u001b[0m )\n\u001b[1;32m 944\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 945\u001b[0m \u001b[38;5;66;03m# fitting a forest will only get one unique train/test split\u001b[39;00m\n\u001b[1;32m 946\u001b[0m indices_train, indices_test \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtrain_test_samples_[\u001b[38;5;241m0\u001b[39m]\n", - "File \u001b[0;32m~/Documents/scikit-tree/sktree/stats/forestht.py:181\u001b[0m, in \u001b[0;36mBaseForestHT._get_estimators_indices\u001b[0;34m(self, sample_separate)\u001b[0m\n\u001b[1;32m 178\u001b[0m seeds \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_seeds\n\u001b[1;32m 180\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m sample_separate:\n\u001b[0;32m--> 181\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_perm_seeds\u001b[49m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 182\u001b[0m new_rng \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mrandom\u001b[38;5;241m.\u001b[39mdefault_rng(np\u001b[38;5;241m.\u001b[39mrandom\u001b[38;5;241m.\u001b[39muniform(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m1e6\u001b[39m))\n\u001b[1;32m 183\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_perm_seeds \u001b[38;5;241m=\u001b[39m new_rng\u001b[38;5;241m.\u001b[39mintegers(low\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m, high\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39miinfo(np\u001b[38;5;241m.\u001b[39mint32)\u001b[38;5;241m.\u001b[39mmax, size\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mestimator_\u001b[38;5;241m.\u001b[39mestimators_))\n", - "\u001b[0;31mAttributeError\u001b[0m: 'FeatureImportanceForestClassifier' object has no attribute '_perm_seeds'" - ] - } - ], + "outputs": [], "source": [ "stats = []\n", "pvalues = []\n", diff --git a/doc/_static/versions.json b/doc/_static/versions.json index 0fda152a2..50b26d277 100644 --- a/doc/_static/versions.json +++ b/doc/_static/versions.json @@ -2,46 +2,46 @@ { "name": "0.9 (devel)", "version": "dev", - "url": "https://docs.neurodata.io/scikit-tree/dev/" + "url": "https://docs.neurodata.io/treeple/dev/" }, { "name": "0.8", "version": "dev", - "url": "https://docs.neurodata.io/scikit-tree/stable/" + "url": "https://docs.neurodata.io/treeple/stable/" }, { "name": "0.7", "version": "0.7", - "url": "https://docs.neurodata.io/scikit-tree/v0.7/" + "url": "https://docs.neurodata.io/treeple/v0.7/" }, { "name": "0.6", "version": "0.6", - "url": "https://docs.neurodata.io/scikit-tree/v0.6/" + "url": "https://docs.neurodata.io/treeple/v0.6/" }, { "name": "0.5", "version": "0.5", - "url": "https://docs.neurodata.io/scikit-tree/v0.5/" + "url": "https://docs.neurodata.io/treeple/v0.5/" }, { "name": "0.4", "version": "0.4", - "url": "https://docs.neurodata.io/scikit-tree/v0.4/" + "url": "https://docs.neurodata.io/treeple/v0.4/" }, { "name": "0.3", "version": "0.3", - "url": "https://docs.neurodata.io/scikit-tree/v0.3/" + "url": "https://docs.neurodata.io/treeple/v0.3/" }, { "name": "0.2", "version": "0.2", - "url": "https://docs.neurodata.io/scikit-tree/v0.2/" + "url": "https://docs.neurodata.io/treeple/v0.2/" }, { "name": "0.1", "version": "0.1", - "url": "https://docs.neurodata.io/scikit-tree/v0.1/" + "url": "https://docs.neurodata.io/treeple/v0.1/" } ] diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 47c16712b..059367ab9 100755 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -12,7 +12,7 @@ {% endblock %} {% block extrahead %} - + {{ super() }} diff --git a/doc/api.rst b/doc/api.rst index 0c112b384..09f322f1a 100644 --- a/doc/api.rst +++ b/doc/api.rst @@ -4,9 +4,9 @@ API Documentation ================= -:py:mod:`sktree`: +:py:mod:`treeple`: -.. automodule:: sktree +.. automodule:: treeple :no-members: :no-inherited-members: @@ -21,11 +21,11 @@ significantly for high-dimensional and high-sample size data. Use at your own risk! We have not tested these estimators extensively, compared to the scikit-learn estimators. -.. automodule:: sktree._lib.sklearn.ensemble +.. automodule:: treeple._lib.sklearn.ensemble :members: :show-inheritance: -.. currentmodule:: sktree +.. currentmodule:: treeple .. autosummary:: :toctree: generated/ @@ -34,7 +34,7 @@ to the scikit-learn estimators. ExtraTreesClassifier ExtraTreesRegressor -.. currentmodule:: sktree.tree +.. currentmodule:: treeple.tree .. autosummary:: :toctree: generated/ @@ -56,7 +56,7 @@ sample feature indices in a manifold-aware fashion. This class of models general the splitting function in the trees, while everything else is consistent with how scikit-learn builds trees. -.. currentmodule:: sktree +.. currentmodule:: treeple .. autosummary:: :toctree: generated/ @@ -67,7 +67,7 @@ how scikit-learn builds trees. HonestForestClassifier MultiViewRandomForestClassifier -.. currentmodule:: sktree.tree +.. currentmodule:: treeple.tree .. autosummary:: :toctree: generated/ @@ -86,7 +86,7 @@ The :class:`~sklearn.ensemble.RandomTreesEmbedding` is an example of unsupervise tree model. We implement other state-of-the-art models that explicitly split based on unsupervised criterion such as variance and BIC. -.. currentmodule:: sktree +.. currentmodule:: treeple .. autosummary:: :toctree: generated/ @@ -119,7 +119,7 @@ Trees inherently produce a "distance-like" metric. We provide an API for extracting pairwise distances from the trees that include a correction that turns the "tree-distance" into a proper distance metric. -.. currentmodule:: sktree.tree +.. currentmodule:: treeple.tree .. autosummary:: :toctree: generated/ @@ -130,7 +130,7 @@ provide a natural way to compute neighbors based on the splits. We provide an API for extracting the nearest neighbors from a tree-model. This provides an API-like interface similar to :class:`~sklearn.neighbors.NearestNeighbors`. -.. currentmodule:: sktree +.. currentmodule:: treeple .. autosummary:: :toctree: generated/ @@ -141,7 +141,7 @@ Statistical Hypothesis Testing We provide an API for performing statistical hypothesis testing using Decision tree models. -.. currentmodule:: sktree.stats +.. currentmodule:: treeple.stats .. autosummary:: :toctree: generated/ @@ -156,7 +156,7 @@ Datasets We provide some convenience functions for simulating datasets beyond those offered in scikit-learn. -.. currentmodule:: sktree.datasets +.. currentmodule:: treeple.datasets .. autosummary:: :toctree: generated/ @@ -174,7 +174,7 @@ Experimental Functionality -------------------------- We also include experimental functionality that is works in progress. -.. currentmodule:: sktree.experimental +.. currentmodule:: treeple.experimental .. autosummary:: :toctree: generated/ @@ -186,7 +186,7 @@ and conditional mutual information (CMI) estimators. Specifically, functions tha help simulate multivariate gaussian data and compute the analytical solutions for the entropy, MI and CMI of the Gaussian distributions. -.. currentmodule:: sktree.experimental.simulate +.. currentmodule:: treeple.experimental.simulate .. autosummary:: :toctree: generated/ @@ -194,7 +194,7 @@ for the entropy, MI and CMI of the Gaussian distributions. simulate_helix simulate_sphere -.. currentmodule:: sktree.experimental.mutual_info +.. currentmodule:: treeple.experimental.mutual_info .. autosummary:: :toctree: generated/ diff --git a/doc/conf.py b/doc/conf.py index 89cc3d732..66af7cf8f 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -17,34 +17,34 @@ os.path.abspath(os.path.join(curdir, "../build-install/usr/lib/python3.9/site-packages/")) ) sys.path.insert(0, os.path.abspath("sphinxext")) -import sktree -from sktree._lib.sklearn.ensemble._forest import ExtraTreesClassifier # noqa -from sktree._lib.sklearn.ensemble._forest import ExtraTreesRegressor # noqa -from sktree._lib.sklearn.ensemble._forest import RandomForestClassifier # noqa -from sktree._lib.sklearn.ensemble._forest import RandomForestRegressor # noqa +import treeple +from treeple._lib.sklearn.ensemble._forest import ExtraTreesClassifier # noqa +from treeple._lib.sklearn.ensemble._forest import ExtraTreesRegressor # noqa +from treeple._lib.sklearn.ensemble._forest import RandomForestClassifier # noqa +from treeple._lib.sklearn.ensemble._forest import RandomForestRegressor # noqa -sys.path.append(os.path.abspath(os.path.join(curdir, "..", "sktree"))) -sys.path.append(os.path.abspath(os.path.join(curdir, "..", "sktree/_lib"))) +sys.path.append(os.path.abspath(os.path.join(curdir, "..", "treeple"))) +sys.path.append(os.path.abspath(os.path.join(curdir, "..", "treeple/_lib"))) # -- project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information # General information about the project. -project = "scikit-tree" +project = "treeple" author = "Adam Li " td = date.today() -copyright = f"2022-{td.year}, scikit-tree Developers. Last updated on {td.isoformat()}" +copyright = f"2022-{td.year}, treeple Developers. Last updated on {td.isoformat()}" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = sktree.__version__ +version = treeple.__version__ # The full version, including alpha/beta/rc tags. release = version -gh_url = "https://github.com/neurodata/scikit-tree" +gh_url = "https://github.com/neurodata/treeple" # -- general configuration ------------------------------------------------ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration @@ -86,8 +86,8 @@ # TODO: figure out why these are raising an error? nitpick_ignore = [ - ("py:mod", "sktree.tree"), - ("py:mod", "sktree.stats"), + ("py:mod", "treeple.tree"), + ("py:mod", "treeple.stats"), ("py:class", "sklearn.utils.metadata_routing.MetadataRequest"), ("py:obj", "MetadataRouter"), ] @@ -129,7 +129,7 @@ "show_toc_level": 1, "navbar_end": ["theme-switcher", "version-switcher", "navbar-icon-links"], "switcher": { - "json_url": "https://raw.githubusercontent.com/neurodata/scikit-tree/main/doc/_static/versions.json", # noqa: E501 + "json_url": "https://raw.githubusercontent.com/neurodata/treeple/main/doc/_static/versions.json", # noqa: E501 "version_match": switcher_version_match, }, } @@ -169,13 +169,13 @@ # Python "Path": "pathlib.Path", "bool": ":class:`python:bool`", - "UnsupervisedDecisionTree": "sktree.tree.UnsupervisedDecisionTree", - "ObliqueDecisionTreeClassifier": "sktree.tree.ObliqueDecisionTreeClassifier", - "PatchObliqueDecisionTreeClassifier": "sktree.tree.PatchObliqueDecisionTreeClassifier", - "ObliqueDecisionTreeRegressor": "sktree.tree.ObliqueDecisionTreeRegressor", - "PatchObliqueDecisionTreeRegressor": "sktree.tree.PatchObliqueDecisionTreeRegressor", - "UnsupervisedObliqueRandomForest": "sktree.ensemble.UnsupervisedObliqueRandomForest", - "ExtraObliqueDecisionTreeRegressor": "sktree.tree.ExtraObliqueDecisionTreeRegressor", + "UnsupervisedDecisionTree": "treeple.tree.UnsupervisedDecisionTree", + "ObliqueDecisionTreeClassifier": "treeple.tree.ObliqueDecisionTreeClassifier", + "PatchObliqueDecisionTreeClassifier": "treeple.tree.PatchObliqueDecisionTreeClassifier", + "ObliqueDecisionTreeRegressor": "treeple.tree.ObliqueDecisionTreeRegressor", + "PatchObliqueDecisionTreeRegressor": "treeple.tree.PatchObliqueDecisionTreeRegressor", + "UnsupervisedObliqueRandomForest": "treeple.ensemble.UnsupervisedObliqueRandomForest", + "ExtraObliqueDecisionTreeRegressor": "treeple.tree.ExtraObliqueDecisionTreeRegressor", "DecisionTreeClassifier": "sklearn.tree.DecisionTreeClassifier", "DecisionTreeRegressor": "sklearn.tree.DecisionTreeRegressor", "ExtraTreeRegressor": "sklearn.tree.ExtraTreeRegressor", @@ -297,7 +297,7 @@ intersphinx_timeout = 5 # -- sphinx-gallery ---------------------------------------------------------- -os.environ["_sktree_BUILDING_DOC"] = "true" +os.environ["_treeple_BUILDING_DOC"] = "true" scrapers = ("matplotlib",) compress_images = ("images", "thumbnails") @@ -310,9 +310,9 @@ compress_images = () sphinx_gallery_conf = { - "doc_module": ("sktree",), + "doc_module": ("treeple",), "reference_url": { - "sktree": None, + "treeple": None, }, "examples_dirs": ["../examples"], "gallery_dirs": ["auto_examples"], @@ -339,7 +339,7 @@ bibtex_footbibliography_header = "" # -- Sphinx-issues ----------------------------------------------------------- -issues_github_path = "neurodata/scikit-tree" +issues_github_path = "neurodata/treeple" # -- sphinx.ext.linkcode ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/extensions/linkcode.html @@ -383,8 +383,8 @@ # branch = "main" # else: # return None # alternatively, link to a maint/version branch -# fname = fname.split("/scikit-tree/")[1] -# url = f"{gh_url}/blob/{branch}/scikit-tree/{fname}#{lines}" +# fname = fname.split("/treeple/")[1] +# url = f"{gh_url}/blob/{branch}/treeple/{fname}#{lines}" # return url diff --git a/doc/index.rst b/doc/index.rst index 1214aaa7e..4f75c94de 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,6 +1,6 @@ -**scikit-tree** +**treeple** =================== -Scikit-tree is a package for modern tree-based algorithms for supervised and unsupervised +treeple is a package for modern tree-based algorithms for supervised and unsupervised learning problems. It extends the robust API of `scikit-learn `_ for tree algorithms that achieve strong performance in benchmark tasks. @@ -12,9 +12,9 @@ and stream decision forests [Xu2022]_. We encourage you to use the package for your research and also build on top with relevant Pull Requests. See our examples for walk-throughs of how to use the package. -Also, see our `contributing guide `_. +Also, see our `contributing guide `_. -We are licensed under BSD-3 (see `License `_). +We are licensed under BSD-3 (see `License `_). .. topic:: References diff --git a/doc/install.rst b/doc/install.rst index 67edeeb23..812ab358f 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -12,26 +12,26 @@ Dependencies * ``joblib`` (>=1.0.0) * ``matplotlib`` (optional) -**scikit-tree** supports Python >= 3.9. +**treeple** supports Python >= 3.9. Installing with ``pip`` ----------------------- -**scikit-tree** is available on `PyPI `_. Just run +**treeple** is available on `PyPI `_. Just run .. code-block:: bash - pip install sktree + pip install treeple Installing from source with Meson --------------------------------- -To install **scikit-tree** from source, first clone the `repository `_: +To install **treeple** from source, first clone the `repository `_: .. code-block:: bash - git clone https://github.com/neurodata/scikit-tree.git - cd scikit-tree + git clone https://github.com/neurodata/treeple.git + cd treeple # ideally, you should always start within a virtual environment conda create -n sklearn-dev python=3.9 @@ -61,7 +61,7 @@ via pip, you will be able to install in editable mode (pending Meson-Python supp .. code-block:: bash - pip install --user -U https://api.github.com/repos/neurodata/scikit-tree/zipball/master + pip install --user -U https://api.github.com/repos/neurodata/treeple/zipball/master Conda (Recommended) ------------------- @@ -74,7 +74,7 @@ First, create a virtual environment using Conda. conda activate sklearn-dev conda install -c conda-forge numpy scipy cython joblib threadpoolctl pytest compilers llvm-openmp -Next, `sktree` from source: +Next, `treeple` from source: pip install .[build] @@ -85,10 +85,10 @@ To install the package from github, clone the repository and then `cd` into the ./spin build - # if you would like an editable install of scikit-tree for dev purposes + # if you would like an editable install of treeple for dev purposes pip install --verbose --no-build-isolation --editable . - pip install https://api.github.com/repos/neurodata/scikit-tree/zipball/main + pip install https://api.github.com/repos/neurodata/treeple/zipball/main pip install https://api.github.com/repos/neurodata/scikit-learn/zipball/obliquepr diff --git a/doc/modules/ensemble.rst b/doc/modules/ensemble.rst index 38685efad..465d8b3ff 100644 --- a/doc/modules/ensemble.rst +++ b/doc/modules/ensemble.rst @@ -3,7 +3,7 @@ Oblique Random Forests ---------------------- -In oblique random forests (see :class:`~sktree.ObliqueRandomForestClassifier` and +In oblique random forests (see :class:`~treeple.ObliqueRandomForestClassifier` and `ObliqueRandomForestRegressor` classes), each tree in the ensemble is built from a sample drawn with replacement (i.e., a bootstrap sample) from the training set. The oblique random forest is the same as that of a random forest, @@ -40,7 +40,7 @@ respect to the predictability of the target variable. Features used at the top of the tree contribute to the final prediction decision of a larger fraction of the input samples. The **expected fraction of the samples** they contribute to can thus be used as an estimate of the -**relative importance of the features**. In scikit-tree, the fraction of +**relative importance of the features**. In treeple, the fraction of samples a feature contributes to is combined with the decrease in impurity from splitting them to create a normalized estimate of the predictive power of that feature. This is essentially exactly the same it is done in scikit-learn. diff --git a/doc/modules/supervised_tree.rst b/doc/modules/supervised_tree.rst index 1aa0a602a..342c96c59 100644 --- a/doc/modules/supervised_tree.rst +++ b/doc/modules/supervised_tree.rst @@ -35,13 +35,13 @@ along oblique curves. Using the Iris dataset, we can similarly construct an OT as follows: >>> from sklearn.datasets import load_iris - >>> from sktree import tree + >>> from treeple import tree >>> iris = load_iris() >>> X, y = iris.data, iris.target >>> clf = tree.ObliqueDecisionTreeClassifier() >>> clf = clf.fit(X, y) -.. figure:: ../auto_examples/sklearn_vs_sktree/images/sphx_glr_plot_iris_dtc_002.png +.. figure:: ../auto_examples/sklearn_vs_treeple/images/sphx_glr_plot_iris_dtc_002.png :target: ../auto_examples/plot_iris_dtc.html :align: center diff --git a/doc/use.rst b/doc/use.rst index 790161900..b0e9c1d58 100644 --- a/doc/use.rst +++ b/doc/use.rst @@ -1,9 +1,9 @@ :orphan: -Examples using scikit-tree +Examples using treeple ========================== -To be able to effectively use scikit-tree, look at some of the examples here +To be able to effectively use treeple, look at some of the examples here to learn everything you need! .. rstcheck: ignore-next-code-block diff --git a/doc/whats_new.rst b/doc/whats_new.rst index 391f1a14b..390383211 100644 --- a/doc/whats_new.rst +++ b/doc/whats_new.rst @@ -7,9 +7,9 @@ Release History =============== -Release notes for all scikit-tree releases are linked in this page. +Release notes for all treeple releases are linked in this page. -**Tip:** `Subscribe to scikit-tree releases `__ +**Tip:** `Subscribe to treeple releases `__ on libraries.io to be notified when new versions are released. .. toctree:: diff --git a/doc/whats_new/v0.1.rst b/doc/whats_new/v0.1.rst index 8b7ff02f8..eb1c70863 100644 --- a/doc/whats_new/v0.1.rst +++ b/doc/whats_new/v0.1.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_1: diff --git a/doc/whats_new/v0.2.rst b/doc/whats_new/v0.2.rst index 8e41979ee..193dd186d 100644 --- a/doc/whats_new/v0.2.rst +++ b/doc/whats_new/v0.2.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_2: diff --git a/doc/whats_new/v0.3.rst b/doc/whats_new/v0.3.rst index 242425375..04ceba0fe 100644 --- a/doc/whats_new/v0.3.rst +++ b/doc/whats_new/v0.3.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_3: diff --git a/doc/whats_new/v0.4.rst b/doc/whats_new/v0.4.rst index 2aeaff9a9..f6eca0d8c 100644 --- a/doc/whats_new/v0.4.rst +++ b/doc/whats_new/v0.4.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_4: @@ -18,9 +18,9 @@ Changelog - |API| ``FeatureImportanceForest*`` now has a hyperparameter to control the number of permutations is done per forest ``permute_per_forest_fraction``, by `Adam Li`_ (:pr:`145`) - |Enhancement| Add dataset generators for regression and classification and hypothesis testing, by `Adam Li`_ (:pr:`169`) - |Fix| Fixes a bug where ``FeatureImportanceForest*`` was unable to be run when calling ``statistic`` with ``covariate_index`` defined for MI, AUC metrics, by `Adam Li`_ (:pr:`164`) -- |Enhancement| Add :func:`sktree.experimental.conditional_resample`, which allows conditional resampling of rows based on nearest-neighbors defined via a feature set, by `Adam Li`_ (:pr:`170`) +- |Enhancement| Add :func:`treeple.experimental.conditional_resample`, which allows conditional resampling of rows based on nearest-neighbors defined via a feature set, by `Adam Li`_ (:pr:`170`) - |Enhancement| Multi-view trees now are able to scale the sampling of split candidates at the same rate per feature-set now, which means 'sqrt' would sample split candidates equal to the square root of each feature-set size, by `Adam Li`_ (:pr:`152`) -- |FIX| Fixes bug in :class:`sktree.tree.MultiViewDecisionTreeClassifier` where the max_features argument applied over +- |FIX| Fixes bug in :class:`treeple.tree.MultiViewDecisionTreeClassifier` where the max_features argument applied over more than two views with ``apply_max_features_per_set`` set to ``True`` results in an incorrect and oversampled number of max_features in the views after the first two, by `Adam Li`_ (:pr:`172`) diff --git a/doc/whats_new/v0.5.rst b/doc/whats_new/v0.5.rst index c30e50086..7021822e6 100644 --- a/doc/whats_new/v0.5.rst +++ b/doc/whats_new/v0.5.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_5: @@ -9,24 +9,24 @@ Version 0.5 =========== This release includes a number of enhancements and bug fixes, mainly -to the :class:`sktree.tree.MultiViewDecisionTreeClassifier`. Most notably, +to the :class:`treeple.tree.MultiViewDecisionTreeClassifier`. Most notably, the ``max_features`` argument now supports an array of values, which applies a different ``max_features`` argument per feature view. Changelog --------- -- |Enhancement| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now +- |Enhancement| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now rounds up the number of features to split on to the nearest integer when applying ``max_features`` to each feature view, by `Adam Li`_ (:pr:`#183`). -- |Feature| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now +- |Feature| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now supports an array passed in for ``max_features``, which applies a different max_features argument per view, by `Adam Li`_ (:pr:`#183`). -- |Fix| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now correctly +- |Fix| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now correctly handles the case where there is one feature view that is exhausted, and another that is not for ``apply_max_features_per_feature_set = False``, by `Adam Li`_ (:pr:`#183`). -- |Fix| ``sktree.stats.FeatureImportanceForestClassifier`` now correctly passes +- |Fix| ``treeple.stats.FeatureImportanceForestClassifier`` now correctly passes metric kwargs to the null distribution function, by `Adam Li`_ (:pr:`#183`). Code and Documentation Contributors diff --git a/doc/whats_new/v0.6.rst b/doc/whats_new/v0.6.rst index 79e3a5369..857766309 100644 --- a/doc/whats_new/v0.6.rst +++ b/doc/whats_new/v0.6.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_6: @@ -14,28 +14,28 @@ and HonestForestClassifier, and a new generative model for the make_trunk_classi Changelog --------- -- |Enhancement| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now +- |Enhancement| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now rounds up the number of features to split on to the nearest integer when applying ``max_features`` to each feature view, by `Adam Li`_ (:pr:`#183`). -- |Feature| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now +- |Feature| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now supports an array passed in for ``max_features``, which applies a different max_features argument per view, by `Adam Li`_ (:pr:`#183`). -- |Fix| :class:`sktree.tree.MultiViewDecisionTreeClassifier` now correctly +- |Fix| :class:`treeple.tree.MultiViewDecisionTreeClassifier` now correctly handles the case where there is one feature view that is exhausted, and another that is not for ``apply_max_features_per_feature_set = False``, by `Adam Li`_ (:pr:`#183`). -- |Fix| ``sktree.stats.FeatureImportanceForestClassifier`` now correctly passes +- |Fix| ``treeple.stats.FeatureImportanceForestClassifier`` now correctly passes metric kwargs to the null distribution function, by `Adam Li`_ (:pr:`#183`). -- |Enhancement| :func:`sktree.datasets.make_trunk_classification` now - has a generative model based on Trunk and banded covariance, :func:`sktree.datasets.approximate_clf_mutual_information` and - :func:`sktree.datasets.approximate_clf_mutual_information_with_monte_carlo` to +- |Enhancement| :func:`treeple.datasets.make_trunk_classification` now + has a generative model based on Trunk and banded covariance, :func:`treeple.datasets.approximate_clf_mutual_information` and + :func:`treeple.datasets.approximate_clf_mutual_information_with_monte_carlo` to approximate mutual information either numerically or via Monte-Carlo, by `Adam Li`_ and `Haoyin Xu`_ (:pr:`#199`). -- |Enhancement| :class:`sktree.HonestForestClassifier` now has a fitted +- |Enhancement| :class:`treeple.HonestForestClassifier` now has a fitted property ``oob_samples_``, which reproduces the sample indices per tree that is out of bag, by `Adam Li`_ (:pr:`#200`). -- |Enhancement| :class:`sktree.HonestForestClassifier` will allow one to bootstrap sample higher +- |Enhancement| :class:`treeple.HonestForestClassifier` will allow one to bootstrap sample higher than the number of samples, controlled by the ``max_samples`` keyword argument by `Adam Li`_ (:pr:`#206`). -- |Feature| :class:`sktree.HonestForestClassifier` now allows one to specify +- |Feature| :class:`treeple.HonestForestClassifier` now allows one to specify the number of sub-samples to use for the honest trees without having to bootstrap sample. This is specified by the ``max_samples`` parameter. By `Adam Li`_ (:pr:`#210`) diff --git a/doc/whats_new/v0.7.rst b/doc/whats_new/v0.7.rst index ff2fd01d4..ce19e4132 100644 --- a/doc/whats_new/v0.7.rst +++ b/doc/whats_new/v0.7.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_7: @@ -19,7 +19,7 @@ Changelog --------- - |Feature| Introduce a new light-weight class for fitting honest forests while - permuting the covariate index :class:`sktree.stats.PermutationHonestForestClassifier`, + permuting the covariate index :class:`treeple.stats.PermutationHonestForestClassifier`, by `Adam Li`_ (:pr:`#211`) - |Feature| Introduce a new class method ``predict_proba_per_tree`` for all Forest classifiers, which will predict the probability per tree and keep the @@ -30,12 +30,12 @@ Changelog by `Adam Li`_ (:pr:`#211`) - |Feature| Introduce a new set of simulations based on Marron and Wand 1992. by `Sambit Panda`_ (:pr:`#203`) -- |Feature| :func:`sktree.stats.build_coleman_forest` and :func:`sktree.stats.build_permutation_forest` +- |Feature| :func:`treeple.stats.build_coleman_forest` and :func:`treeple.stats.build_permutation_forest` are added to compute p-values given an estimator and permutation-estimator, `Adam Li`_ (:pr:`#222`) -- |API| :func:`sktree.datasets.make_trunk_classification` for generating trunk mixture and Marron-Wand - simulations are separated out into :func:`sktree.datasets.make_marron_wand_classification` and - :func:`sktree.datasets.make_trunk_mixture_classification`, `Adam Li`_ (:pr:`#227`) -- |API| :class:`sktree.HonestForestClassifier` and :class:`sktree.tree.HonestTreeClassifier` +- |API| :func:`treeple.datasets.make_trunk_classification` for generating trunk mixture and Marron-Wand + simulations are separated out into :func:`treeple.datasets.make_marron_wand_classification` and + :func:`treeple.datasets.make_trunk_mixture_classification`, `Adam Li`_ (:pr:`#227`) +- |API| :class:`treeple.HonestForestClassifier` and :class:`treeple.tree.HonestTreeClassifier` now overwrite all parameters set by the underlying ``tree_estimator`` and allow you to directly pass any extra parameters that ``tree_estimator`` has compared to the original :class:`~sklearn.tree.DecisionTreeClassifier`, `Adam Li`_ (:pr:`#228`) diff --git a/doc/whats_new/v0.8.rst b/doc/whats_new/v0.8.rst index a0949489d..b0403460c 100644 --- a/doc/whats_new/v0.8.rst +++ b/doc/whats_new/v0.8.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _v0_9: @@ -16,19 +16,19 @@ and improvements to the codebase. Changelog --------- -- |Fix| Previously missing-values in ``X`` input array for sktree estimators +- |Fix| Previously missing-values in ``X`` input array for treeple estimators did not raise an error, and silently ran, assuming the missing-values were encoded as infinity value. This is now fixed, and the estimators will raise an ValueError if missing-values are encountered in ``X`` input array. By `Adam Li`_ (:pr:`#264`) -- |Feature| Simulations in ``sktree.datasets.hyppo`` now throw a warning instead +- |Feature| Simulations in ``treeple.datasets.hyppo`` now throw a warning instead of an error when the number of samples is less than the number of dimensions. By `Sambit Panda`_ (:pr:`#279`) -- |API| :class:`sktree.HonestForestClassifier` now has ``bootstrap=True`` as the default +- |API| :class:`treeple.HonestForestClassifier` now has ``bootstrap=True`` as the default argument. By `Adam Li`_ (:pr:`#274`) - |API| Removed all instances of ``FeatureImportanceForestClassifier`` and outdated MIGHT code. By `Adam Li`_ (:pr:`#274`) -- |Fix| Fixed a bug in the ``sktree.HonestForestClassifier`` where posteriors +- |Fix| Fixed a bug in the ``treeple.HonestForestClassifier`` where posteriors estimated on oob samples were biased when there was a low number of samples due to imbalance in the classes when ``bootstrap=True``. By `Adam Li`_ (:pr:`#283`) diff --git a/doc/whats_new/v0.9.rst b/doc/whats_new/v0.9.rst index 9c5ffb3b2..937f94350 100644 --- a/doc/whats_new/v0.9.rst +++ b/doc/whats_new/v0.9.rst @@ -1,7 +1,7 @@ :orphan: .. include:: _contributors.rst -.. currentmodule:: sktree +.. currentmodule:: treeple .. _current: @@ -10,10 +10,18 @@ Version 0.9 **In Development** +This release include a rename of the package to from ``scikit-learn`` to ``treeple`` +The users can replace the previous usage as follows: +``import sktree`` to ``import treeple`` +``from sktree import tree`` to ``from treeple import tree`` +``from sktree import ...`` to ``from treeple import ...`` + + Changelog --------- -- +- |API| Rename the package to ``treeple``. By `SUKI-O`_ (:pr:`#292`) + Code and Documentation Contributors ----------------------------------- @@ -22,4 +30,4 @@ Thanks to everyone who has contributed to the maintenance and improvement of the project since version inception, including: * `Adam Li`_ - +* `SUKI-O`_ diff --git a/examples/README.txt b/examples/README.txt index e13d3e890..bdee5fb69 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -1,4 +1,4 @@ Examples ======== -Examples demonstrating how to use scikit-tree algorithms. +Examples demonstrating how to use treeple algorithms. diff --git a/examples/calibration/plot_overlapping_gaussians.py b/examples/calibration/plot_overlapping_gaussians.py index 79616c4c6..2da37fdaf 100644 --- a/examples/calibration/plot_overlapping_gaussians.py +++ b/examples/calibration/plot_overlapping_gaussians.py @@ -34,7 +34,7 @@ from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split -from sktree.ensemble import HonestForestClassifier +from treeple.ensemble import HonestForestClassifier # %% # Define the classifiers and generate the data diff --git a/examples/multiview/plot_multiview_dtc.py b/examples/multiview/plot_multiview_dtc.py index 65c69e870..000617e03 100644 --- a/examples/multiview/plot_multiview_dtc.py +++ b/examples/multiview/plot_multiview_dtc.py @@ -3,7 +3,7 @@ Analyze a multi-view dataset with a multi-view random forest ============================================================ -An example using :class:`~sktree.MultiViewRandomForestClassifier` for high-dimensional +An example using :class:`~treeple.MultiViewRandomForestClassifier` for high-dimensional classification when there are multiple feature sets that are correlated with the target variable, ``y``. The multi-view random forest is a variant of the random forest that samples from each feature set uniformly, instead of sampling from all features @@ -28,7 +28,7 @@ from sklearn.datasets import make_blobs from sklearn.model_selection import cross_val_score -from sktree import MultiViewRandomForestClassifier, RandomForestClassifier +from treeple import MultiViewRandomForestClassifier, RandomForestClassifier seed = 12345 rng = np.random.default_rng(seed) diff --git a/examples/outlier_detection/plot_extended_isolation_forest.py b/examples/outlier_detection/plot_extended_isolation_forest.py index 8d6e8ad9f..308551f2d 100644 --- a/examples/outlier_detection/plot_extended_isolation_forest.py +++ b/examples/outlier_detection/plot_extended_isolation_forest.py @@ -3,7 +3,7 @@ ExtendedIsolationForest example =============================== -An example using :class:`~sktree.ExtendedIsolationForest` for anomaly +An example using :class:`~treeple.ExtendedIsolationForest` for anomaly detection, which compares to the :class:`~sklearn.ensemble.IsolationForest` based on the algorithm in :footcite:`hariri2019extended`. @@ -34,7 +34,7 @@ from sklearn.inspection import DecisionBoundaryDisplay from sklearn.model_selection import train_test_split -from sktree import ExtendedIsolationForest +from treeple import ExtendedIsolationForest n_samples, n_outliers = 120, 40 rng = np.random.RandomState(0) diff --git a/examples/quantile_predictions/plot_quantile_interpolation_with_RF.py b/examples/quantile_predictions/plot_quantile_interpolation_with_RF.py index 6b49d5ad1..7721965ff 100644 --- a/examples/quantile_predictions/plot_quantile_interpolation_with_RF.py +++ b/examples/quantile_predictions/plot_quantile_interpolation_with_RF.py @@ -30,7 +30,7 @@ # ------------------------- # The following interpolation methods demonstrated here are: # To interpolate between the data points, i and j (``i <= j``), -# linear, lower, higher, midpoint, or nearest. For more details, see `sktree.RandomForestRegressor`. +# linear, lower, higher, midpoint, or nearest. For more details, see `treeple.RandomForestRegressor`. # The difference between the methods can be illustrated with the following example: interpolations = ["linear", "lower", "higher", "midpoint", "nearest"] diff --git a/examples/quantile_predictions/plot_quantile_vs_standard_oblique_forest.py b/examples/quantile_predictions/plot_quantile_vs_standard_oblique_forest.py index 002bf5078..495ad8816 100644 --- a/examples/quantile_predictions/plot_quantile_vs_standard_oblique_forest.py +++ b/examples/quantile_predictions/plot_quantile_vs_standard_oblique_forest.py @@ -18,7 +18,7 @@ from sklearn.model_selection import train_test_split from sklearn.utils.validation import check_random_state -from sktree.ensemble import ObliqueRandomForestRegressor +from treeple.ensemble import ObliqueRandomForestRegressor rng = check_random_state(0) diff --git a/examples/sklearn_vs_sktree/README.txt b/examples/sklearn_vs_sktree/README.txt deleted file mode 100644 index d942d71f8..000000000 --- a/examples/sklearn_vs_sktree/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -.. _sklearn_examples: - -Comparing sklearn and sktree decision trees -------------------------------------------- - -Examples demonstrating the difference between sklearn and sktree decision trees. diff --git a/examples/sklearn_vs_treeple/README.txt b/examples/sklearn_vs_treeple/README.txt new file mode 100644 index 000000000..7794faad7 --- /dev/null +++ b/examples/sklearn_vs_treeple/README.txt @@ -0,0 +1,6 @@ +.. _sklearn_examples: + +Comparing sklearn and treeple decision trees +-------------------------------------------- + +Examples demonstrating the difference between sklearn and treeple decision trees. diff --git a/examples/sklearn_vs_sktree/plot_iris_dtc.py b/examples/sklearn_vs_treeple/plot_iris_dtc.py similarity index 95% rename from examples/sklearn_vs_sktree/plot_iris_dtc.py rename to examples/sklearn_vs_treeple/plot_iris_dtc.py index 454809a43..746cfc7a1 100644 --- a/examples/sklearn_vs_sktree/plot_iris_dtc.py +++ b/examples/sklearn_vs_treeple/plot_iris_dtc.py @@ -22,8 +22,8 @@ from sklearn.datasets import load_iris from sklearn.inspection import DecisionBoundaryDisplay -from sktree._lib.sklearn.tree import DecisionTreeClassifier, plot_tree -from sktree.tree import ObliqueDecisionTreeClassifier +from treeple._lib.sklearn.tree import DecisionTreeClassifier, plot_tree +from treeple.tree import ObliqueDecisionTreeClassifier # %% # First load the copy of the Iris dataset shipped with scikit-learn: diff --git a/examples/sparse_oblique_trees/plot_extra_oblique_random_forest.py b/examples/sparse_oblique_trees/plot_extra_oblique_random_forest.py index fd920cc16..f7351fcc8 100644 --- a/examples/sparse_oblique_trees/plot_extra_oblique_random_forest.py +++ b/examples/sparse_oblique_trees/plot_extra_oblique_random_forest.py @@ -75,7 +75,7 @@ from sklearn.datasets import fetch_openml from sklearn.model_selection import RepeatedKFold, cross_validate -from sktree import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier +from treeple import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier # Model parameters max_depth = 3 diff --git a/examples/sparse_oblique_trees/plot_extra_orf_sample_size.py b/examples/sparse_oblique_trees/plot_extra_orf_sample_size.py index 5651d27ec..dc7c1477c 100644 --- a/examples/sparse_oblique_trees/plot_extra_orf_sample_size.py +++ b/examples/sparse_oblique_trees/plot_extra_orf_sample_size.py @@ -48,7 +48,7 @@ from sklearn.datasets import fetch_openml from sklearn.model_selection import RepeatedKFold, cross_validate -from sktree import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier +from treeple import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier # Model Parameters max_depth = 3 diff --git a/examples/sparse_oblique_trees/plot_oblique_axis_aligned_forests_sparse_parity.py b/examples/sparse_oblique_trees/plot_oblique_axis_aligned_forests_sparse_parity.py index 466cf6a89..7dfbd79ae 100644 --- a/examples/sparse_oblique_trees/plot_oblique_axis_aligned_forests_sparse_parity.py +++ b/examples/sparse_oblique_trees/plot_oblique_axis_aligned_forests_sparse_parity.py @@ -25,7 +25,7 @@ from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import RepeatedKFold, cross_validate -from sktree import ObliqueRandomForestClassifier +from treeple import ObliqueRandomForestClassifier random_state = 123456 t0 = datetime.now() diff --git a/examples/sparse_oblique_trees/plot_oblique_forests_iris.py b/examples/sparse_oblique_trees/plot_oblique_forests_iris.py index 5a3e0ed2b..bf2ad33dd 100644 --- a/examples/sparse_oblique_trees/plot_oblique_forests_iris.py +++ b/examples/sparse_oblique_trees/plot_oblique_forests_iris.py @@ -23,7 +23,7 @@ from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier -from sktree import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier +from treeple import ExtraObliqueRandomForestClassifier, ObliqueRandomForestClassifier # Parameters n_classes = 3 diff --git a/examples/sparse_oblique_trees/plot_oblique_random_forest.py b/examples/sparse_oblique_trees/plot_oblique_random_forest.py index dca3f19da..67841f28e 100644 --- a/examples/sparse_oblique_trees/plot_oblique_random_forest.py +++ b/examples/sparse_oblique_trees/plot_oblique_random_forest.py @@ -30,7 +30,7 @@ from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import RepeatedKFold, cross_validate -from sktree import ObliqueRandomForestClassifier +from treeple import ObliqueRandomForestClassifier random_state = 123456 t0 = datetime.now() diff --git a/examples/splitters/plot_multiview_axis_aligned_splitter.py b/examples/splitters/plot_multiview_axis_aligned_splitter.py index 064000153..0e349fb04 100644 --- a/examples/splitters/plot_multiview_axis_aligned_splitter.py +++ b/examples/splitters/plot_multiview_axis_aligned_splitter.py @@ -4,14 +4,14 @@ ================================================================================= This example shows how multi-view projection matrices are generated for a decision tree, -specifically the :class:`sktree.tree.MultiViewDecisionTreeClassifier`. +specifically the :class:`treeple.tree.MultiViewDecisionTreeClassifier`. Multi-view projection matrices operate under the assumption that the input ``X`` array consists of multiple feature-sets that are groups of features important for predicting ``y``. For details on how to use the hyperparameters related to the multi-view, see -:class:`sktree.tree.MultiViewDecisionTreeClassifier`. +:class:`treeple.tree.MultiViewDecisionTreeClassifier`. """ # import modules @@ -27,8 +27,8 @@ from matplotlib.cm import ScalarMappable from matplotlib.colors import ListedColormap -from sktree._lib.sklearn.tree._criterion import Gini -from sktree.tree._oblique_splitter import MultiViewSplitterTester +from treeple._lib.sklearn.tree._criterion import Gini +from treeple.tree._oblique_splitter import MultiViewSplitterTester criterion = Gini(1, np.array((0, 1))) max_features = 5 @@ -56,7 +56,7 @@ # Initialize the multi-view splitter # ---------------------------------- # The multi-view splitter is a Cython class that is initialized internally -# in scikit-tree. However, we expose a Python tester object to demonstrate +# in treeple. However, we expose a Python tester object to demonstrate # how the splitter works in practice. # # .. warning:: Do not use this interface directly in practice. @@ -129,7 +129,7 @@ # and the second feature set once. # # .. note:: In practice, this is controlled by the ``apply_max_features_per_feature_set`` parameter -# in :class:`sktree.tree.MultiViewDecisionTreeClassifier`. +# in :class:`treeple.tree.MultiViewDecisionTreeClassifier`. max_features_per_set_ = np.array([1, 2, 3], dtype=int) max_features = np.sum(max_features_per_set_) diff --git a/examples/splitters/plot_projection_matrices.py b/examples/splitters/plot_projection_matrices.py index 9e1cbaef1..972c450d2 100644 --- a/examples/splitters/plot_projection_matrices.py +++ b/examples/splitters/plot_projection_matrices.py @@ -4,7 +4,7 @@ =================================================================================== This example shows how projection matrices are generated for an oblique tree, -specifically the :class:`sktree.tree.PatchObliqueDecisionTreeClassifier`. +specifically the :class:`treeple.tree.PatchObliqueDecisionTreeClassifier`. For a tree, one can specify the structure of the data that it will be trained on (i.e. ``(X, y)``). This is done by specifying the ``data_dims`` parameter. For @@ -29,7 +29,7 @@ We also allow each dimension to be arbitrarily discontiguous. For details on how to use the hyperparameters related to the patches, see -:class:`sktree.tree.PatchObliqueDecisionTreeClassifier`. +:class:`treeple.tree.PatchObliqueDecisionTreeClassifier`. """ import matplotlib.pyplot as plt @@ -43,8 +43,8 @@ # relevant tree/forests class. import numpy as np -from sktree._lib.sklearn.tree._criterion import Gini -from sktree.tree.manifold._morf_splitter import BestPatchSplitterTester +from treeple._lib.sklearn.tree._criterion import Gini +from treeple.tree.manifold._morf_splitter import BestPatchSplitterTester # %% # Initialize patch splitter diff --git a/examples/splitters/plot_sparse_projection_matrix.py b/examples/splitters/plot_sparse_projection_matrix.py index 51b8ee9d5..daab4057b 100644 --- a/examples/splitters/plot_sparse_projection_matrix.py +++ b/examples/splitters/plot_sparse_projection_matrix.py @@ -4,7 +4,7 @@ ====================================================== This example shows how projection matrices are generated for an oblique tree, -specifically the :class:`sktree.tree.ObliqueDecisionTreeClassifier`. +specifically the :class:`treeple.tree.ObliqueDecisionTreeClassifier`. The projection matrix here samples a subset of features from the input ``X`` controlled by the parameter ``feature_combinations``. The projection matrix @@ -13,7 +13,7 @@ from the input ``X`` and linearly combined to form candidate split dimensions. For details on how to use the hyperparameters related to the patches, see -:class:`sktree.tree.ObliqueDecisionTreeClassifier`. +:class:`treeple.tree.ObliqueDecisionTreeClassifier`. """ import matplotlib.pyplot as plt @@ -29,8 +29,8 @@ from matplotlib.cm import ScalarMappable from matplotlib.colors import ListedColormap -from sktree._lib.sklearn.tree._criterion import Gini -from sktree.tree._oblique_splitter import BestObliqueSplitterTester +from treeple._lib.sklearn.tree._criterion import Gini +from treeple.tree._oblique_splitter import BestObliqueSplitterTester # %% # Initialize patch splitter diff --git a/examples/treeple/treeple_tutorial_0_GMM.py b/examples/treeple/treeple_tutorial_0_GMM.py index 0861bfbae..5f8d60326 100644 --- a/examples/treeple/treeple_tutorial_0_GMM.py +++ b/examples/treeple/treeple_tutorial_0_GMM.py @@ -12,7 +12,7 @@ from scipy.stats import entropy, multivariate_normal from sklearn.metrics import roc_auc_score, roc_curve -from sktree.datasets import make_trunk_mixture_classification +from treeple.datasets import make_trunk_mixture_classification sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_1_1a_SA98.py b/examples/treeple/treeple_tutorial_1_1a_SA98.py index 6d53adde3..2e3c99aae 100644 --- a/examples/treeple/treeple_tutorial_1_1a_SA98.py +++ b/examples/treeple/treeple_tutorial_1_1a_SA98.py @@ -9,9 +9,9 @@ import seaborn as sns from sklearn.metrics import roc_curve -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_1_1b_MI.py b/examples/treeple/treeple_tutorial_1_1b_MI.py index 36ba00091..5b1208e61 100644 --- a/examples/treeple/treeple_tutorial_1_1b_MI.py +++ b/examples/treeple/treeple_tutorial_1_1b_MI.py @@ -9,9 +9,9 @@ import seaborn as sns from scipy.stats import entropy -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_1_1c_pAUC.py b/examples/treeple/treeple_tutorial_1_1c_pAUC.py index 708ce19ae..7b9158ea0 100644 --- a/examples/treeple/treeple_tutorial_1_1c_pAUC.py +++ b/examples/treeple/treeple_tutorial_1_1c_pAUC.py @@ -9,9 +9,9 @@ import seaborn as sns from sklearn.metrics import roc_auc_score, roc_curve -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_1_1d_HD.py b/examples/treeple/treeple_tutorial_1_1d_HD.py index 03f2ff24b..7c6b7714b 100644 --- a/examples/treeple/treeple_tutorial_1_1d_HD.py +++ b/examples/treeple/treeple_tutorial_1_1d_HD.py @@ -8,9 +8,9 @@ import numpy as np import seaborn as sns -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_1_2_pvalue.py b/examples/treeple/treeple_tutorial_1_2_pvalue.py index 399c87331..e3aa1b489 100644 --- a/examples/treeple/treeple_tutorial_1_2_pvalue.py +++ b/examples/treeple/treeple_tutorial_1_2_pvalue.py @@ -7,9 +7,9 @@ import matplotlib.pyplot as plt import seaborn as sns -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import PermutationHonestForestClassifier, build_coleman_forest +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import PermutationHonestForestClassifier, build_coleman_forest sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_2_1a_SA98_multiview.py b/examples/treeple/treeple_tutorial_2_1a_SA98_multiview.py index 589945db7..6ffa4c6d9 100644 --- a/examples/treeple/treeple_tutorial_2_1a_SA98_multiview.py +++ b/examples/treeple/treeple_tutorial_2_1a_SA98_multiview.py @@ -10,10 +10,10 @@ import seaborn as sns from sklearn.metrics import roc_curve -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest -from sktree.tree import MultiViewDecisionTreeClassifier +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest +from treeple.tree import MultiViewDecisionTreeClassifier sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_2_1b_CMI.py b/examples/treeple/treeple_tutorial_2_1b_CMI.py index bf5487cf2..e35dfed13 100644 --- a/examples/treeple/treeple_tutorial_2_1b_CMI.py +++ b/examples/treeple/treeple_tutorial_2_1b_CMI.py @@ -10,10 +10,10 @@ import seaborn as sns from scipy.stats import entropy -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import build_oob_forest -from sktree.tree import MultiViewDecisionTreeClassifier +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import build_oob_forest +from treeple.tree import MultiViewDecisionTreeClassifier sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/examples/treeple/treeple_tutorial_2_2_pvalue_multiview.py b/examples/treeple/treeple_tutorial_2_2_pvalue_multiview.py index 1073d80cb..f682091de 100644 --- a/examples/treeple/treeple_tutorial_2_2_pvalue_multiview.py +++ b/examples/treeple/treeple_tutorial_2_2_pvalue_multiview.py @@ -9,10 +9,10 @@ import pandas as pd import seaborn as sns -from sktree.datasets import make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats import PermutationHonestForestClassifier, build_coleman_forest -from sktree.tree import MultiViewDecisionTreeClassifier +from treeple.datasets import make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats import PermutationHonestForestClassifier, build_coleman_forest +from treeple.tree import MultiViewDecisionTreeClassifier sns.set(color_codes=True, style="white", context="talk", font_scale=1.5) PALETTE = sns.color_palette("Set1") diff --git a/experiments/plotting_cmi_analysis.ipynb b/experiments/plotting_cmi_analysis.ipynb index 0cf705ed1..24d9bfc14 100644 --- a/experiments/plotting_cmi_analysis.ipynb +++ b/experiments/plotting_cmi_analysis.ipynb @@ -38,9 +38,9 @@ "import scipy.spatial\n", "\n", "from sklearn.neighbors import NearestNeighbors\n", - "import sktree\n", - "from sktree.experimental.simulate import (simulate_helix, simulate_multivariate_gaussian, simulate_sphere)\n", - "from sktree.experimental.mutual_info import (\n", + "import treeple\n", + "from treeple.experimental.simulate import (simulate_helix, simulate_multivariate_gaussian, simulate_sphere)\n", + "from treeple.experimental.mutual_info import (\n", " entropy_gaussian, entropy_weibull,\n", " cmi_from_entropy,\n", " mi_from_entropy,\n", @@ -48,8 +48,8 @@ " mi_gaussian, cmi_gaussian,\n", " mi_gamma, \n", ")\n", - "from sktree.tree import compute_forest_similarity_matrix\n", - "from sktree import UnsupervisedRandomForest, UnsupervisedObliqueRandomForest, ObliqueRandomForestClassifier\n", + "from treeple.tree import compute_forest_similarity_matrix\n", + "from treeple import UnsupervisedRandomForest, UnsupervisedObliqueRandomForest, ObliqueRandomForestClassifier\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" @@ -508,9 +508,9 @@ ], "metadata": { "kernelspec": { - "display_name": "sktree", + "display_name": "treeple", "language": "python", - "name": "sktree" + "name": "treeple" }, "language_info": { "codemirror_mode": { diff --git a/meson.build b/meson.build index 26247b699..912c4895e 100644 --- a/meson.build +++ b/meson.build @@ -1,9 +1,9 @@ project( - 'scikit-tree', + 'treeple', 'c', 'cpp', 'cython', # Note that the git commit hash cannot be added dynamically here # That only happens when importing from a git repository. - # See `sktree/__init__.py` + # See `treeple/__init__.py` version: '0.9.0dev0', license: 'BSD-3', meson_version: '>= 1.1.0', @@ -20,11 +20,11 @@ cpp = meson.get_compiler('cpp') # Check compiler is recent enough (see "Toolchain Roadmap" for details) if cc.get_id() == 'gcc' if not cc.version().version_compare('>=8.0') - error('scikit-tree requires GCC >= 8.0') + error('treeple requires GCC >= 8.0') endif elif cc.get_id() == 'msvc' if not cc.version().version_compare('>=19.20') - error('scikit-tree requires at least vc142 (default with Visual Studio 2019) ' + \ + error('treeple requires at least vc142 (default with Visual Studio 2019) ' + \ 'when building with MSVC') endif endif @@ -45,7 +45,7 @@ _global_c_args = cc.get_supported_arguments( add_project_arguments(_global_c_args, language : 'c') # We need -lm for all C code (assuming it uses math functions, which is safe to -# assume for scikit-tree). For C++ it isn't needed, because libstdc++/libc++ is +# assume for treeple). For C++ it isn't needed, because libstdc++/libc++ is # guaranteed to depend on it. For Fortran code, Meson already adds `-lm`. m_dep = cc.find_library('m', required : false) if m_dep.found() @@ -61,7 +61,7 @@ if not cython.found() endif # r = run_command('git', 'submodule', 'update', '--init', check: false) -r = run_command('mv', 'sktree/_lib/sklearn_fork/sklearn', 'sktree/_lib/sklearn', check: false) +r = run_command('mv', 'treeple/_lib/sklearn_fork/sklearn', 'treeple/_lib/sklearn', check: false) # Setup Python: # https://mesonbuild.com/Python-module.html @@ -74,4 +74,4 @@ if py.language_version().version_compare('<3.9') error('At least Python 3.9 is required.') endif -subdir('sktree') +subdir('treeple') diff --git a/pyproject.toml b/pyproject.toml index 989329b18..0eb454d40 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,14 +16,14 @@ requires = [ ] [project] -name = "scikit-tree" +name = "treeple" version = "0.9.0dev0" description = "Modern decision trees in Python" maintainers = [ {name = "Neurodata", email = "adam.li@columbia.edu"} ] -documentation = "https://scikit-tree.neurodata.io" -repository = "https://github.com/neurodata/scikit-tree" +documentation = "https://treeple.neurodata.io" +repository = "https://github.com/neurodata/treeple" readme = "README.md" requires-python = ">=3.9" classifiers = [ @@ -57,10 +57,10 @@ dependencies = [ [project.optional-dependencies] all = [ - 'scikit-tree[build]', - 'scikit-tree[doc]', - 'scikit-tree[style]', - 'scikit-tree[test]' + 'treeple[build]', + 'treeple[doc]', + 'treeple[style]', + 'treeple[test]' ] build = [ 'build', @@ -125,7 +125,7 @@ test = [ ] [tool.bandit] -exclude_dirs = ["sktree/tests", "sktree/**/tests/*", 'sktree/_build_utils/*', 'sktree/_lib/*'] +exclude_dirs = ["treeple/tests", "treeple/**/tests/*", 'treeple/_build_utils/*', 'treeple/_lib/*'] skips = ['B404', 'B603'] [tool.black] @@ -136,7 +136,7 @@ extend-exclude = ''' ( __pycache__ | \.github - | sktree/_lib + | treeple/_lib | .asv | env | build-install @@ -146,7 +146,7 @@ extend-exclude = ''' [tool.codespell] builtin = "clear,rare,informal,names,usage" ignore-words = ".codespellignore" -skip = "doc/references.bib,sktree/_lib/" +skip = "doc/references.bib,treeple/_lib/" [tool.coverage.report] exclude_lines = ['pragma: no cover', 'if __name__ == .__main__.:'] @@ -155,8 +155,8 @@ precision = 2 [tool.coverage.run] branch = true cover_pylib = false -source = ['sktree'] -omit = ['**/__init__.py', '**/tests/**', 'sktree/_build_utils/*', 'sktree/_lib/*'] +source = ['treeple'] +omit = ['**/__init__.py', '**/tests/**', 'treeple/_build_utils/*', 'treeple/_lib/*'] [tool.cython-lint] # Ignore the same error codes as flake8 @@ -184,13 +184,13 @@ profile = 'black' multi_line_output = 3 line_length = 100 py_version = 38 -extend_skip_glob = ['sktree/__init__.py', 'sktree/_lib/*', '.asv/*', 'env/*', 'build-install/*'] +extend_skip_glob = ['treeple/__init__.py', 'treeple/_lib/*', '.asv/*', 'env/*', 'build-install/*'] [tool.mypy] ignore_missing_imports = true no_site_packages = true exclude = [ - 'sktree/_lib/', + 'treeple/_lib/', 'benchmarks_nonasv/' ] @@ -198,12 +198,12 @@ exclude = [ convention = 'numpy' ignore-decorators = '(copy_doc|property|.*setter|.*getter)' match = '^(?!setup|__init__|test_|_lib).*\.py' -match-dir = '^sktree*' +match-dir = '^treeple*' add_ignore = 'D100,D104,D105,D107' [tool.pytest.ini_options] minversion = '6.0' -addopts = '--durations 20 --junit-xml=junit-results.xml --verbose --ignore=sktree/_lib/ -k "not slowtest"' +addopts = '--durations 20 --junit-xml=junit-results.xml --verbose --ignore=treeple/_lib/ -k "not slowtest"' filterwarnings = [ 'ignore:Using sklearn tree so store_leaf_values cannot be set.*' ] @@ -272,7 +272,7 @@ ignore = ['E731'] '__init__.py' = ['F401'] [tool.spin] -package = 'sktree' +package = 'treeple' [tool.spin.commands] Build = [ diff --git a/sktree/__init__.py b/treeple/__init__.py similarity index 86% rename from sktree/__init__.py rename to treeple/__init__.py index 58636a24c..2a70afefe 100644 --- a/sktree/__init__.py +++ b/treeple/__init__.py @@ -26,14 +26,14 @@ # This variable is injected in the __builtins__ by the build # process. It is used to enable importing subpackages of sklearn when # the binaries are not built - __sktree_SETUP__ # type: ignore + __treeple_SETUP__ # type: ignore except NameError: - __sktree_SETUP__ = False + __treeple_SETUP__ = False -if __sktree_SETUP__: - sys.stderr.write("Running from Scikit-Tree source directory.\n") - sys.stderr.write("Partial import of sktree during the build process.\n") - # We are not importing the rest of scikit-tree during the build +if __treeple_SETUP__: + sys.stderr.write("Running from treeple source directory.\n") + sys.stderr.write("Partial import of treeple during the build process.\n") + # We are not importing the rest of treeple during the build # process, as it may not be compiled yet else: try: @@ -61,8 +61,8 @@ from .ensemble._honest_forest import HonestForestClassifier except ImportError as e: print(e.msg) - msg = """Error importing scikit-tree: you cannot import scikit-tree while - being in scikit-tree source directory; please exit the scikit-tree source + msg = """Error importing treeple: you cannot import treeple while + being in treeple source directory; please exit the treeple source tree first and relaunch your Python interpreter.""" raise ImportError(msg) from e diff --git a/sktree/_build_utils/gcc_build_bitness.py b/treeple/_build_utils/gcc_build_bitness.py similarity index 100% rename from sktree/_build_utils/gcc_build_bitness.py rename to treeple/_build_utils/gcc_build_bitness.py diff --git a/sktree/_lib/__init__.py b/treeple/_lib/__init__.py similarity index 100% rename from sktree/_lib/__init__.py rename to treeple/_lib/__init__.py diff --git a/sktree/_lib/meson.build b/treeple/_lib/meson.build similarity index 89% rename from sktree/_lib/meson.build rename to treeple/_lib/meson.build index 9e8c01786..20f2d3bf2 100644 --- a/sktree/_lib/meson.build +++ b/treeple/_lib/meson.build @@ -27,7 +27,7 @@ foreach ext_name, ext_dict : tree_extension_metadata dependencies: [np_dep], override_options : ext_dict.get('override_options', []), cython_args: cython_c_args, - subdir: 'sktree/_lib/sklearn/tree/', + subdir: 'treeple/_lib/sklearn/tree/', install: true ) endforeach @@ -41,7 +41,7 @@ python_sources = [ py.install_sources( python_sources, - subdir: 'sktree/_lib/sklearn/tree' # Folder relative to site-packages to install to + subdir: 'treeple/_lib/sklearn/tree' # Folder relative to site-packages to install to ) # install ensemble/ submodule @@ -51,7 +51,7 @@ python_sources = [ foreach py_source: python_sources py.install_sources( './sklearn/ensemble/' + py_source, - subdir: 'sktree/_lib/sklearn/ensemble' + subdir: 'treeple/_lib/sklearn/ensemble' ) endforeach @@ -70,7 +70,7 @@ foreach ext: extensions cython_args: cython_c_args, override_options : ['optimization=3', 'cython_language=cpp'], install: true, - subdir: 'sktree/_lib/sklearn/neighbors/', + subdir: 'treeple/_lib/sklearn/neighbors/', ) endforeach @@ -88,6 +88,6 @@ foreach ext: extensions cython_args: cython_c_args, override_options : ['optimization=3', 'cython_language=cpp'], install: true, - subdir: 'sktree/_lib/sklearn/utils/', + subdir: 'treeple/_lib/sklearn/utils/', ) endforeach diff --git a/sktree/_lib/sklearn_fork b/treeple/_lib/sklearn_fork similarity index 100% rename from sktree/_lib/sklearn_fork rename to treeple/_lib/sklearn_fork diff --git a/sktree/conftest.py b/treeple/conftest.py similarity index 100% rename from sktree/conftest.py rename to treeple/conftest.py diff --git a/sktree/datasets/__init__.py b/treeple/datasets/__init__.py similarity index 100% rename from sktree/datasets/__init__.py rename to treeple/datasets/__init__.py diff --git a/sktree/datasets/hyppo.py b/treeple/datasets/hyppo.py similarity index 99% rename from sktree/datasets/hyppo.py rename to treeple/datasets/hyppo.py index 3da38a44b..781c124ab 100644 --- a/sktree/datasets/hyppo.py +++ b/treeple/datasets/hyppo.py @@ -84,7 +84,7 @@ def make_marron_wand_classification( ): """Generate Marron-Wand binary classification dataset. - The simulation is similar to that of :func:`sktree.datasets.make_trunk_classification` + The simulation is similar to that of :func:`treeple.datasets.make_trunk_classification` where the first class is generated from a multivariate-Gaussians with mean vector of 0's. The second class is generated from a mixture of Gaussians with mean vectors specified by the Marron-Wand simulations, but as the dimensionality increases, the second diff --git a/sktree/datasets/meson.build b/treeple/datasets/meson.build similarity index 83% rename from sktree/datasets/meson.build rename to treeple/datasets/meson.build index 4a5539827..f50ae65ed 100644 --- a/sktree/datasets/meson.build +++ b/treeple/datasets/meson.build @@ -7,7 +7,7 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/datasets' + subdir: 'treeple/datasets' ) subdir('tests') diff --git a/sktree/datasets/multiview.py b/treeple/datasets/multiview.py similarity index 99% rename from sktree/datasets/multiview.py rename to treeple/datasets/multiview.py index 6bcaab4ad..ac203c58f 100644 --- a/sktree/datasets/multiview.py +++ b/treeple/datasets/multiview.py @@ -88,7 +88,7 @@ def make_gaussian_mixture( Examples -------- - >>> from sktree.datasets.multiview import make_gaussian_mixture + >>> from treeple.datasets.multiview import make_gaussian_mixture >>> import numpy as np >>> n_samples = 10 >>> centers = [[0,1], [0,-1]] diff --git a/sktree/datasets/tests/__init__.py b/treeple/datasets/tests/__init__.py similarity index 100% rename from sktree/datasets/tests/__init__.py rename to treeple/datasets/tests/__init__.py diff --git a/sktree/datasets/tests/meson.build b/treeple/datasets/tests/meson.build similarity index 79% rename from sktree/datasets/tests/meson.build rename to treeple/datasets/tests/meson.build index d450c3488..499d1505c 100644 --- a/sktree/datasets/tests/meson.build +++ b/treeple/datasets/tests/meson.build @@ -7,5 +7,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/datasets/tests' + subdir: 'treeple/datasets/tests' ) diff --git a/sktree/datasets/tests/test_hyppo.py b/treeple/datasets/tests/test_hyppo.py similarity index 98% rename from sktree/datasets/tests/test_hyppo.py rename to treeple/datasets/tests/test_hyppo.py index 458b8521e..16ad99811 100644 --- a/sktree/datasets/tests/test_hyppo.py +++ b/treeple/datasets/tests/test_hyppo.py @@ -2,7 +2,7 @@ import pytest from numpy.testing import assert_array_equal -from sktree.datasets import ( +from treeple.datasets import ( approximate_clf_mutual_information, approximate_clf_mutual_information_with_monte_carlo, make_marron_wand_classification, @@ -10,7 +10,7 @@ make_trunk_classification, make_trunk_mixture_classification, ) -from sktree.datasets.hyppo import MARRON_WAND_SIMS +from treeple.datasets.hyppo import MARRON_WAND_SIMS def test_make_quadratic_classification_v(): diff --git a/sktree/datasets/tests/test_multiview.py b/treeple/datasets/tests/test_multiview.py similarity index 98% rename from sktree/datasets/tests/test_multiview.py rename to treeple/datasets/tests/test_multiview.py index 43d62fa93..ffc77a63c 100644 --- a/sktree/datasets/tests/test_multiview.py +++ b/treeple/datasets/tests/test_multiview.py @@ -1,7 +1,7 @@ import numpy as np import pytest -from sktree.datasets.multiview import make_gaussian_mixture, make_joint_factor_model +from treeple.datasets.multiview import make_gaussian_mixture, make_joint_factor_model def test_make_gaussian_mixture_errors(): diff --git a/sktree/ensemble/__init__.py b/treeple/ensemble/__init__.py similarity index 100% rename from sktree/ensemble/__init__.py rename to treeple/ensemble/__init__.py diff --git a/sktree/ensemble/_eiforest.py b/treeple/ensemble/_eiforest.py similarity index 98% rename from sktree/ensemble/_eiforest.py rename to treeple/ensemble/_eiforest.py index e1105bc59..b61e56563 100644 --- a/sktree/ensemble/_eiforest.py +++ b/treeple/ensemble/_eiforest.py @@ -1,6 +1,6 @@ from sklearn.ensemble._iforest import IsolationForest -from sktree.tree import ExtraObliqueDecisionTreeRegressor +from treeple.tree import ExtraObliqueDecisionTreeRegressor class ExtendedIsolationForest(IsolationForest): @@ -152,7 +152,7 @@ class ExtendedIsolationForest(IsolationForest): Examples -------- - >>> from sktree.ensemble import ExtendedIsolationForest + >>> from treeple.ensemble import ExtendedIsolationForest >>> X = [[-1.1], [0.3], [0.5], [100]] >>> clf = ExtendedIsolationForest(random_state=0).fit(X) >>> clf.predict([[0.1], [0], [90]]) diff --git a/sktree/ensemble/_extensions.py b/treeple/ensemble/_extensions.py similarity index 100% rename from sktree/ensemble/_extensions.py rename to treeple/ensemble/_extensions.py diff --git a/sktree/ensemble/_honest_forest.py b/treeple/ensemble/_honest_forest.py similarity index 99% rename from sktree/ensemble/_honest_forest.py rename to treeple/ensemble/_honest_forest.py index 2ea11ea93..5d1e082c5 100644 --- a/sktree/ensemble/_honest_forest.py +++ b/treeple/ensemble/_honest_forest.py @@ -272,7 +272,7 @@ class HonestForestClassifier(ForestClassifier, ForestClassifierMixin): fraction creates shallower trees with lower variance estimates. tree_estimator : object, default=None - Instantiated tree of type BaseDecisionTree from sktree. + Instantiated tree of type BaseDecisionTree from treeple. If None, then sklearn's DecisionTreeClassifier with default parameters will be used. Note that none of the parameters in ``tree_estimator`` need to be set. The parameters of the ``tree_estimator`` can be set using @@ -290,11 +290,11 @@ class HonestForestClassifier(ForestClassifier, ForestClassifierMixin): Attributes ---------- - estimator : sktree.tree.HonestTreeClassifier + estimator : treeple.tree.HonestTreeClassifier The child estimator template used to create the collection of fitted sub-estimators. - estimators_ : list of sktree.tree.HonestTreeClassifier + estimators_ : list of treeple.tree.HonestTreeClassifier The collection of fitted sub-estimators. classes_ : ndarray of shape (n_classes,) or a list of such arrays diff --git a/sktree/ensemble/_multiview.py b/treeple/ensemble/_multiview.py similarity index 98% rename from sktree/ensemble/_multiview.py rename to treeple/ensemble/_multiview.py index f1102b66a..b8763d244 100644 --- a/sktree/ensemble/_multiview.py +++ b/treeple/ensemble/_multiview.py @@ -182,7 +182,7 @@ class MultiViewRandomForestClassifier( Attributes ---------- - estimators_ : list of sktree.tree.ObliqueDecisionTreeClassifier + estimators_ : list of treeple.tree.ObliqueDecisionTreeClassifier The collection of fitted sub-estimators. classes_ : ndarray of shape (n_classes,) or a list of such arrays @@ -231,7 +231,7 @@ class labels (multi-output problem). See Also -------- - sktree.tree.ObliqueDecisionTreeClassifier : An oblique decision + treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier. sklearn.ensemble.RandomForestClassifier : An axis-aligned decision forest classifier. diff --git a/sktree/ensemble/_supervised_forest.py b/treeple/ensemble/_supervised_forest.py similarity index 98% rename from sktree/ensemble/_supervised_forest.py rename to treeple/ensemble/_supervised_forest.py index 75f0074db..d60e37e10 100644 --- a/sktree/ensemble/_supervised_forest.py +++ b/treeple/ensemble/_supervised_forest.py @@ -184,7 +184,7 @@ class ObliqueRandomForestClassifier( Attributes ---------- - estimators_ : list of sktree.tree.ObliqueDecisionTreeClassifier + estimators_ : list of treeple.tree.ObliqueDecisionTreeClassifier The collection of fitted sub-estimators. classes_ : ndarray of shape (n_classes,) or a list of such arrays @@ -233,7 +233,7 @@ class labels (multi-output problem). See Also -------- - sktree.tree.ObliqueDecisionTreeClassifier : An oblique decision + treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier. sklearn.ensemble.RandomForestClassifier : An axis-aligned decision forest classifier. @@ -259,7 +259,7 @@ class labels (multi-output problem). Examples -------- - >>> from sktree.ensemble import ObliqueRandomForestClassifier + >>> from treeple.ensemble import ObliqueRandomForestClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=1000, n_features=4, ... n_informative=2, n_redundant=0, @@ -535,7 +535,7 @@ class ObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegressor) See Also -------- - sktree.tree.ObliqueDecisionTreeRegressor : An oblique decision + treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision tree regressor. sklearn.ensemble.RandomForestRegressor : An axis-aligned decision forest regressor. @@ -564,7 +564,7 @@ class ObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegressor) Examples -------- - >>> from sktree.ensemble import ObliqueRandomForestRegressor + >>> from treeple.ensemble import ObliqueRandomForestRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_features=4, n_informative=2, ... random_state=0, shuffle=False) @@ -870,7 +870,7 @@ class labels (multi-output problem). See Also -------- - sktree.tree.ObliqueDecisionTreeClassifier : An oblique decision + treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier. sklearn.ensemble.RandomForestClassifier : An axis-aligned decision forest classifier. @@ -1180,7 +1180,7 @@ class PatchObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegre See Also -------- - sktree.tree.ObliqueDecisionTreeRegressor : An oblique decision + treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision tree regressor. sklearn.ensemble.RandomForestRegressor : An axis-aligned decision forest regressor. @@ -1205,7 +1205,7 @@ class PatchObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegre Examples -------- - >>> from sktree.ensemble import PatchObliqueRandomForestRegressor + >>> from treeple.ensemble import PatchObliqueRandomForestRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_features=4, n_informative=2, ... random_state=0, shuffle=False) @@ -1467,7 +1467,7 @@ class ExtraObliqueRandomForestClassifier( Attributes ---------- - estimators_ : list of sktree.tree.ExtraObliqueDecisionTreeClassifier + estimators_ : list of treeple.tree.ExtraObliqueDecisionTreeClassifier The collection of fitted sub-estimators. classes_ : ndarray of shape (n_classes,) or a list of such arrays @@ -1516,9 +1516,9 @@ class labels (multi-output problem). See Also -------- - sktree.tree.ExtraObliqueDecisionTreeClassifier : An extremely randomized oblique decision + treeple.tree.ExtraObliqueDecisionTreeClassifier : An extremely randomized oblique decision tree classifier. - sktree.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier. + treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier. sklearn.ensemble.RandomForestClassifier : An axis-aligned decision forest classifier. @@ -1545,7 +1545,7 @@ class labels (multi-output problem). Examples -------- - >>> from sktree.ensemble import ExtraObliqueRandomForestClassifier + >>> from treeple.ensemble import ExtraObliqueRandomForestClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_samples=1000, n_features=4, ... n_informative=2, n_redundant=0, @@ -1820,9 +1820,9 @@ class ExtraObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegre See Also -------- - sktree.tree.ExtraObliqueDecisionTreeRegressor : An extra oblique decision + treeple.tree.ExtraObliqueDecisionTreeRegressor : An extra oblique decision tree regressor. - sktree.tree.ObliqueDecisionTreeRegressor : An oblique decision + treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision tree regressor. sklearn.ensemble.RandomForestRegressor : An axis-aligned decision forest regressor. @@ -1854,7 +1854,7 @@ class ExtraObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegre Examples -------- - >>> from sktree.ensemble import ExtraObliqueRandomForestRegressor + >>> from treeple.ensemble import ExtraObliqueRandomForestRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_features=4, n_informative=2, ... random_state=0, shuffle=False) diff --git a/sktree/ensemble/_unsupervised_forest.py b/treeple/ensemble/_unsupervised_forest.py similarity index 100% rename from sktree/ensemble/_unsupervised_forest.py rename to treeple/ensemble/_unsupervised_forest.py diff --git a/sktree/ensemble/meson.build b/treeple/ensemble/meson.build similarity index 88% rename from sktree/ensemble/meson.build rename to treeple/ensemble/meson.build index 0e0cdf092..1902b874a 100644 --- a/sktree/ensemble/meson.build +++ b/treeple/ensemble/meson.build @@ -11,5 +11,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/ensemble' + subdir: 'treeple/ensemble' ) diff --git a/sktree/experimental/__init__.py b/treeple/experimental/__init__.py similarity index 100% rename from sktree/experimental/__init__.py rename to treeple/experimental/__init__.py diff --git a/sktree/experimental/distributions.py b/treeple/experimental/distributions.py similarity index 100% rename from sktree/experimental/distributions.py rename to treeple/experimental/distributions.py diff --git a/sktree/experimental/meson.build b/treeple/experimental/meson.build similarity index 84% rename from sktree/experimental/meson.build rename to treeple/experimental/meson.build index 4dbbc4acc..6f80a93db 100644 --- a/sktree/experimental/meson.build +++ b/treeple/experimental/meson.build @@ -9,7 +9,7 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/experimental' + subdir: 'treeple/experimental' ) subdir('tests') diff --git a/sktree/experimental/monte_carlo.py b/treeple/experimental/monte_carlo.py similarity index 100% rename from sktree/experimental/monte_carlo.py rename to treeple/experimental/monte_carlo.py diff --git a/sktree/experimental/mutual_info.py b/treeple/experimental/mutual_info.py similarity index 97% rename from sktree/experimental/mutual_info.py rename to treeple/experimental/mutual_info.py index 85c8f0a83..380d8f6cd 100644 --- a/sktree/experimental/mutual_info.py +++ b/treeple/experimental/mutual_info.py @@ -8,8 +8,8 @@ from sklearn.neighbors import NearestNeighbors from sklearn.preprocessing import StandardScaler -from sktree.ensemble import UnsupervisedObliqueRandomForest -from sktree.tree import compute_forest_similarity_matrix +from treeple.ensemble import UnsupervisedObliqueRandomForest +from treeple.tree import compute_forest_similarity_matrix def entropy_gaussian(cov): @@ -165,7 +165,7 @@ def mutual_info_ksg( metric : str Any distance metric accepted by :class:`sklearn.neighbors.NearestNeighbors`. If 'forest' (default), then uses an - :class:`sktree.UnsupervisedObliqueRandomForest` to compute geodesic distances. + :class:`treeple.UnsupervisedObliqueRandomForest` to compute geodesic distances. algorithm : str, optional Method to use, by default 'knn'. Can be ('ball_tree', 'kd_tree', 'brute'). n_jobs : int, optional @@ -374,7 +374,7 @@ def _compute_nn( Method to use, by default 'knn'. Can be ('ball_tree', 'kd_tree', 'brute'). metric : str Any distance metric accepted by :class:`sklearn.neighbors.NearestNeighbors`. - If 'forest', then uses an :class:`sktree.UnsupervisedObliqueRandomForest` + If 'forest', then uses an :class:`treeple.UnsupervisedObliqueRandomForest` to compute geodesic distances. k : int, optional The number of k-nearest neighbors to query, by default 1. diff --git a/sktree/experimental/sdf.py b/treeple/experimental/sdf.py similarity index 100% rename from sktree/experimental/sdf.py rename to treeple/experimental/sdf.py diff --git a/sktree/experimental/simulate.py b/treeple/experimental/simulate.py similarity index 100% rename from sktree/experimental/simulate.py rename to treeple/experimental/simulate.py diff --git a/sktree/experimental/tests/__init__.py b/treeple/experimental/tests/__init__.py similarity index 100% rename from sktree/experimental/tests/__init__.py rename to treeple/experimental/tests/__init__.py diff --git a/sktree/experimental/tests/meson.build b/treeple/experimental/tests/meson.build similarity index 82% rename from sktree/experimental/tests/meson.build rename to treeple/experimental/tests/meson.build index e3bbc474e..e56725991 100644 --- a/sktree/experimental/tests/meson.build +++ b/treeple/experimental/tests/meson.build @@ -9,5 +9,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/experimental/tests' + subdir: 'treeple/experimental/tests' ) diff --git a/sktree/experimental/tests/test_monte_carlo.py b/treeple/experimental/tests/test_monte_carlo.py similarity index 99% rename from sktree/experimental/tests/test_monte_carlo.py rename to treeple/experimental/tests/test_monte_carlo.py index b76d59fb4..b0bc1c71f 100644 --- a/sktree/experimental/tests/test_monte_carlo.py +++ b/treeple/experimental/tests/test_monte_carlo.py @@ -4,7 +4,7 @@ from sklearn.datasets import make_classification from sklearn.neighbors import NearestNeighbors -from sktree.experimental import conditional_resample +from treeple.experimental import conditional_resample def test_conditional_resample_with_default_params(): diff --git a/sktree/experimental/tests/test_mutual_info.py b/treeple/experimental/tests/test_mutual_info.py similarity index 100% rename from sktree/experimental/tests/test_mutual_info.py rename to treeple/experimental/tests/test_mutual_info.py diff --git a/sktree/experimental/tests/test_sdf.py b/treeple/experimental/tests/test_sdf.py similarity index 98% rename from sktree/experimental/tests/test_sdf.py rename to treeple/experimental/tests/test_sdf.py index cf093b0e6..64c7e45a8 100644 --- a/sktree/experimental/tests/test_sdf.py +++ b/treeple/experimental/tests/test_sdf.py @@ -4,7 +4,7 @@ from sklearn.metrics import accuracy_score, r2_score from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree.experimental import StreamDecisionForest +from treeple.experimental import StreamDecisionForest CLF_CRITERIONS = ("gini", "entropy") diff --git a/sktree/experimental/tests/test_simulate.py b/treeple/experimental/tests/test_simulate.py similarity index 95% rename from sktree/experimental/tests/test_simulate.py rename to treeple/experimental/tests/test_simulate.py index b613bd535..62968992e 100644 --- a/sktree/experimental/tests/test_simulate.py +++ b/treeple/experimental/tests/test_simulate.py @@ -1,4 +1,4 @@ -from sktree.experimental.simulate import ( +from treeple.experimental.simulate import ( simulate_helix, simulate_multivariate_gaussian, simulate_sphere, diff --git a/sktree/meson.build b/treeple/meson.build similarity index 96% rename from sktree/meson.build rename to treeple/meson.build index 7da2e8a17..13b69ec1f 100644 --- a/sktree/meson.build +++ b/treeple/meson.build @@ -39,7 +39,7 @@ if not openmp_dep.found() * WARNING * *********** -It seems that scikit-tree cannot be built with OpenMP. +It seems that treeple cannot be built with OpenMP. - Make sure you have followed the installation instructions: @@ -48,7 +48,7 @@ It seems that scikit-tree cannot be built with OpenMP. - If your compiler supports OpenMP but you still see this message, please submit a bug report at: - https://github.com/scikit-tree/scikit-tree/issues + https://github.com/treeple/treeple/issues - The build will continue with OpenMP-based parallelism disabled. Note however that some estimators will run in @@ -116,7 +116,7 @@ python_sources = [ py.install_sources( python_sources, - subdir: 'sktree' + subdir: 'treeple' ) subdir('_lib') diff --git a/sktree/neighbors.py b/treeple/neighbors.py similarity index 98% rename from sktree/neighbors.py rename to treeple/neighbors.py index 1d6e1ed84..473b4363f 100644 --- a/sktree/neighbors.py +++ b/treeple/neighbors.py @@ -7,7 +7,7 @@ from sklearn.neighbors import NearestNeighbors from sklearn.utils.validation import check_is_fitted -from sktree.tree._neighbors import _compute_distance_matrix, compute_forest_similarity_matrix +from treeple.tree._neighbors import _compute_distance_matrix, compute_forest_similarity_matrix class NearestNeighborsMetaEstimator(BaseEstimator, MetaEstimatorMixin): diff --git a/sktree/stats/__init__.py b/treeple/stats/__init__.py similarity index 100% rename from sktree/stats/__init__.py rename to treeple/stats/__init__.py diff --git a/sktree/stats/forestht.py b/treeple/stats/forestht.py similarity index 100% rename from sktree/stats/forestht.py rename to treeple/stats/forestht.py diff --git a/sktree/stats/meson.build b/treeple/stats/meson.build similarity index 87% rename from sktree/stats/meson.build rename to treeple/stats/meson.build index cd5472386..2ef4db2db 100644 --- a/sktree/stats/meson.build +++ b/treeple/stats/meson.build @@ -9,7 +9,7 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/stats' + subdir: 'treeple/stats' ) subdir('tests') diff --git a/sktree/stats/monte_carlo.py b/treeple/stats/monte_carlo.py similarity index 100% rename from sktree/stats/monte_carlo.py rename to treeple/stats/monte_carlo.py diff --git a/sktree/stats/permuteforest.py b/treeple/stats/permuteforest.py similarity index 98% rename from sktree/stats/permuteforest.py rename to treeple/stats/permuteforest.py index 2faed8c76..e5c2c3f6f 100644 --- a/sktree/stats/permuteforest.py +++ b/treeple/stats/permuteforest.py @@ -181,8 +181,8 @@ class PermutationHonestForestClassifier(HonestForestClassifier): tree_estimator : object, default=None Type of decision tree classifier to use. By default `None`, which - defaults to `sktree.tree.DecisionTreeClassifier`. Note - that one MUST use trees imported from the `sktree.tree` + defaults to `treeple.tree.DecisionTreeClassifier`. Note + that one MUST use trees imported from the `treeple.tree` API namespace rather than from `sklearn.tree`. stratify : bool @@ -198,11 +198,11 @@ class PermutationHonestForestClassifier(HonestForestClassifier): Attributes ---------- - estimator : sktree.tree.HonestTreeClassifier + estimator : treeple.tree.HonestTreeClassifier The child estimator template used to create the collection of fitted sub-estimators. - estimators_ : list of sktree.tree.HonestTreeClassifier + estimators_ : list of treeple.tree.HonestTreeClassifier The collection of fitted sub-estimators. classes_ : ndarray of shape (n_classes,) or a list of such arrays diff --git a/sktree/stats/tests/__init__.py b/treeple/stats/tests/__init__.py similarity index 100% rename from sktree/stats/tests/__init__.py rename to treeple/stats/tests/__init__.py diff --git a/sktree/stats/tests/meson.build b/treeple/stats/tests/meson.build similarity index 85% rename from sktree/stats/tests/meson.build rename to treeple/stats/tests/meson.build index e4be1f212..1fe81ecfa 100644 --- a/sktree/stats/tests/meson.build +++ b/treeple/stats/tests/meson.build @@ -9,5 +9,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/stats/tests' + subdir: 'treeple/stats/tests' ) diff --git a/sktree/stats/tests/test_coleman.py b/treeple/stats/tests/test_coleman.py similarity index 100% rename from sktree/stats/tests/test_coleman.py rename to treeple/stats/tests/test_coleman.py diff --git a/sktree/stats/tests/test_forestht.py b/treeple/stats/tests/test_forestht.py similarity index 99% rename from sktree/stats/tests/test_forestht.py rename to treeple/stats/tests/test_forestht.py index f4b397ffc..a0b1fbb60 100644 --- a/sktree/stats/tests/test_forestht.py +++ b/treeple/stats/tests/test_forestht.py @@ -4,15 +4,15 @@ from numpy.testing import assert_almost_equal, assert_array_equal from sklearn import datasets -from sktree import HonestForestClassifier, RandomForestClassifier -from sktree.stats import ( +from treeple import HonestForestClassifier, RandomForestClassifier +from treeple.stats import ( PermutationHonestForestClassifier, build_coleman_forest, build_cv_forest, build_oob_forest, build_permutation_forest, ) -from sktree.tree import MultiViewDecisionTreeClassifier +from treeple.tree import MultiViewDecisionTreeClassifier # load the iris dataset (n_samples, 4) # and randomly permute it diff --git a/sktree/stats/tests/test_permuteforest.py b/treeple/stats/tests/test_permuteforest.py similarity index 97% rename from sktree/stats/tests/test_permuteforest.py rename to treeple/stats/tests/test_permuteforest.py index 7627db076..938078e16 100644 --- a/sktree/stats/tests/test_permuteforest.py +++ b/treeple/stats/tests/test_permuteforest.py @@ -3,7 +3,7 @@ from numpy.testing import assert_array_equal from sklearn import datasets -from sktree.stats import PermutationHonestForestClassifier +from treeple.stats import PermutationHonestForestClassifier # load the iris dataset (n_samples, 4) # and randomly permute it diff --git a/sktree/stats/tests/test_utils.py b/treeple/stats/tests/test_utils.py similarity index 91% rename from sktree/stats/tests/test_utils.py rename to treeple/stats/tests/test_utils.py index dbeeb9ba8..6e23fb4cd 100644 --- a/sktree/stats/tests/test_utils.py +++ b/treeple/stats/tests/test_utils.py @@ -2,8 +2,8 @@ import pytest from numpy.testing import assert_array_equal -from sktree import HonestForestClassifier -from sktree.stats.utils import get_per_tree_oob_samples +from treeple import HonestForestClassifier +from treeple.stats.utils import get_per_tree_oob_samples seed = 1234 rng = np.random.default_rng(seed) diff --git a/sktree/stats/utils.py b/treeple/stats/utils.py similarity index 99% rename from sktree/stats/utils.py rename to treeple/stats/utils.py index 3dd4d9da8..98ee132c0 100644 --- a/sktree/stats/utils.py +++ b/treeple/stats/utils.py @@ -14,7 +14,7 @@ ) from sklearn.utils.validation import check_is_fitted, check_X_y -from sktree._lib.sklearn.ensemble._forest import BaseForest, ForestClassifier +from treeple._lib.sklearn.ensemble._forest import BaseForest, ForestClassifier def _mutual_information(y_true: ArrayLike, y_pred_proba: ArrayLike) -> float: diff --git a/sktree/tests/__init__.py b/treeple/tests/__init__.py similarity index 100% rename from sktree/tests/__init__.py rename to treeple/tests/__init__.py diff --git a/sktree/tests/meson.build b/treeple/tests/meson.build similarity index 91% rename from sktree/tests/meson.build rename to treeple/tests/meson.build index d9baa3418..cbe7dcbaa 100644 --- a/sktree/tests/meson.build +++ b/treeple/tests/meson.build @@ -12,5 +12,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/tests' + subdir: 'treeple/tests' ) diff --git a/sktree/tests/test_eiforest.py b/treeple/tests/test_eiforest.py similarity index 98% rename from sktree/tests/test_eiforest.py rename to treeple/tests/test_eiforest.py index f1cf963d9..fbf313ad4 100644 --- a/sktree/tests/test_eiforest.py +++ b/treeple/tests/test_eiforest.py @@ -1,5 +1,5 @@ """ -Testing for Extended Isolation Forest algorithm (sktree.ensemble._eiforest). +Testing for Extended Isolation Forest algorithm (treeple.ensemble._eiforest). """ # License: BSD 3 clause @@ -21,7 +21,7 @@ ignore_warnings, ) -from sktree import ExtendedIsolationForest +from treeple import ExtendedIsolationForest # load iris & diabetes dataset iris = load_iris() diff --git a/sktree/tests/test_extensions.py b/treeple/tests/test_extensions.py similarity index 99% rename from sktree/tests/test_extensions.py rename to treeple/tests/test_extensions.py index c0b74e8c2..e8072af26 100644 --- a/sktree/tests/test_extensions.py +++ b/treeple/tests/test_extensions.py @@ -3,7 +3,7 @@ from numpy.testing import assert_array_equal from sklearn.datasets import make_classification -from sktree import ( +from treeple import ( ExtraObliqueRandomForestClassifier, ExtraObliqueRandomForestRegressor, HonestForestClassifier, diff --git a/sktree/tests/test_honest_forest.py b/treeple/tests/test_honest_forest.py similarity index 97% rename from sktree/tests/test_honest_forest.py rename to treeple/tests/test_honest_forest.py index 3610475d6..0735c55ca 100644 --- a/sktree/tests/test_honest_forest.py +++ b/treeple/tests/test_honest_forest.py @@ -8,11 +8,11 @@ from sklearn.utils import check_random_state from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree._lib.sklearn.tree import DecisionTreeClassifier -from sktree.datasets import make_quadratic_classification, make_trunk_classification -from sktree.ensemble import HonestForestClassifier -from sktree.stats.utils import _mutual_information -from sktree.tree import ( +from treeple._lib.sklearn.tree import DecisionTreeClassifier +from treeple.datasets import make_quadratic_classification, make_trunk_classification +from treeple.ensemble import HonestForestClassifier +from treeple.stats.utils import _mutual_information +from treeple.tree import ( MultiViewDecisionTreeClassifier, ObliqueDecisionTreeClassifier, PatchObliqueDecisionTreeClassifier, @@ -350,7 +350,7 @@ def test_importances(dtype, criterion): def test_honest_forest_with_sklearn_trees(): """Test against regression in power-curves discussed in: - https://github.com/neurodata/scikit-tree/pull/157.""" + https://github.com/neurodata/treeple/pull/157.""" # generate the high-dimensional quadratic data X, y = make_quadratic_classification(256, 2048, noise=True, seed=0) @@ -383,7 +383,7 @@ def test_honest_forest_with_sklearn_trees(): def test_honest_forest_with_sklearn_trees_with_auc(): """Test against regression in power-curves discussed in: - https://github.com/neurodata/scikit-tree/pull/157. + https://github.com/neurodata/treeple/pull/157. This unit-test tests the equivalent of the AUC using sklearn's DTC vs our forked version of sklearn's DTC as the base tree. @@ -424,7 +424,7 @@ def test_honest_forest_with_sklearn_trees_with_auc(): def test_honest_forest_with_sklearn_trees_with_mi(): """Test against regression in power-curves discussed in: - https://github.com/neurodata/scikit-tree/pull/157. + https://github.com/neurodata/treeple/pull/157. This unit-test tests the equivalent of the MI using sklearn's DTC vs our forked version of sklearn's DTC as the base tree. diff --git a/sktree/tests/test_multiview_forest.py b/treeple/tests/test_multiview_forest.py similarity index 97% rename from sktree/tests/test_multiview_forest.py rename to treeple/tests/test_multiview_forest.py index 95119b580..dff44a863 100644 --- a/sktree/tests/test_multiview_forest.py +++ b/treeple/tests/test_multiview_forest.py @@ -6,8 +6,8 @@ from sklearn.model_selection import cross_val_score, train_test_split from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree import MultiViewRandomForestClassifier, RandomForestClassifier -from sktree.datasets.multiview import make_joint_factor_model +from treeple import MultiViewRandomForestClassifier, RandomForestClassifier +from treeple.datasets.multiview import make_joint_factor_model seed = 12345 diff --git a/sktree/tests/test_neighbors.py b/treeple/tests/test_neighbors.py similarity index 96% rename from sktree/tests/test_neighbors.py rename to treeple/tests/test_neighbors.py index d44b9ec14..dd58f78f2 100644 --- a/sktree/tests/test_neighbors.py +++ b/treeple/tests/test_neighbors.py @@ -11,13 +11,13 @@ ) from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree.ensemble import ( +from treeple.ensemble import ( ObliqueRandomForestClassifier, PatchObliqueRandomForestClassifier, UnsupervisedObliqueRandomForest, UnsupervisedRandomForest, ) -from sktree.neighbors import NearestNeighborsMetaEstimator +from treeple.neighbors import NearestNeighborsMetaEstimator FORESTS = [ ObliqueRandomForestClassifier, diff --git a/sktree/tests/test_supervised_forest.py b/treeple/tests/test_supervised_forest.py similarity index 99% rename from sktree/tests/test_supervised_forest.py rename to treeple/tests/test_supervised_forest.py index 291d8a2e9..ba5b29577 100644 --- a/sktree/tests/test_supervised_forest.py +++ b/treeple/tests/test_supervised_forest.py @@ -10,7 +10,7 @@ from sklearn.utils.estimator_checks import parametrize_with_checks from sklearn.utils.validation import check_random_state -from sktree import ( +from treeple import ( ExtraObliqueRandomForestClassifier, ExtraObliqueRandomForestRegressor, ObliqueRandomForestClassifier, diff --git a/sktree/tests/test_unsupervised_forest.py b/treeple/tests/test_unsupervised_forest.py similarity index 97% rename from sktree/tests/test_unsupervised_forest.py rename to treeple/tests/test_unsupervised_forest.py index 7bd1e0116..96c6f3b17 100644 --- a/sktree/tests/test_unsupervised_forest.py +++ b/treeple/tests/test_unsupervised_forest.py @@ -6,7 +6,7 @@ from sklearn.metrics import adjusted_rand_score from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree.ensemble import UnsupervisedObliqueRandomForest, UnsupervisedRandomForest +from treeple.ensemble import UnsupervisedObliqueRandomForest, UnsupervisedRandomForest CLUSTER_CRITERIONS = ("twomeans", "fastbic") diff --git a/sktree/tree/__init__.py b/treeple/tree/__init__.py similarity index 100% rename from sktree/tree/__init__.py rename to treeple/tree/__init__.py diff --git a/sktree/tree/_classes.py b/treeple/tree/_classes.py similarity index 99% rename from sktree/tree/_classes.py rename to treeple/tree/_classes.py index dc1f1a3b7..16eb6ea52 100644 --- a/sktree/tree/_classes.py +++ b/treeple/tree/_classes.py @@ -808,7 +808,7 @@ class ObliqueDecisionTreeClassifier(SimMatrixMixin, DecisionTreeClassifier): -------- >>> from sklearn.datasets import load_iris >>> from sklearn.model_selection import cross_val_score - >>> from sktree.tree import ObliqueDecisionTreeClassifier + >>> from treeple.tree import ObliqueDecisionTreeClassifier >>> clf = ObliqueDecisionTreeClassifier(random_state=0) >>> iris = load_iris() >>> cross_val_score(clf, iris.data, iris.target, cv=10) @@ -2156,7 +2156,7 @@ class PatchObliqueDecisionTreeRegressor(SimMatrixMixin, DecisionTreeRegressor): >>> from sklearn.datasets import load_diabetes >>> from sklearn.model_selection import cross_val_score >>> X, y = load_diabetes(return_X_y=True) - >>> from sktree.tree import PatchObliqueDecisionTreeRegressor as RGS + >>> from treeple.tree import PatchObliqueDecisionTreeRegressor as RGS >>> regressor = RGS(random_state=0) >>> cross_val_score(regressor, X, y, cv=10) ... # doctest: +SKIP @@ -2657,7 +2657,7 @@ class ExtraObliqueDecisionTreeClassifier(SimMatrixMixin, DecisionTreeClassifier) -------- >>> from sklearn.datasets import load_iris >>> from sklearn.model_selection import cross_val_score - >>> from sktree.tree import ExtraObliqueDecisionTreeClassifier + >>> from treeple.tree import ExtraObliqueDecisionTreeClassifier >>> clf = ExtraObliqueDecisionTreeClassifier(random_state=0) >>> iris = load_iris() >>> cross_val_score(clf, iris.data, iris.target, cv=10) diff --git a/sktree/tree/_honest_tree.py b/treeple/tree/_honest_tree.py similarity index 99% rename from sktree/tree/_honest_tree.py rename to treeple/tree/_honest_tree.py index 61ae1da31..7a61242d1 100644 --- a/sktree/tree/_honest_tree.py +++ b/treeple/tree/_honest_tree.py @@ -19,7 +19,7 @@ class HonestTreeClassifier(MetaEstimatorMixin, ClassifierMixin, BaseDecisionTree Parameters ---------- tree_estimator : object, default=None - Instantiated tree of type BaseDecisionTree from sktree. + Instantiated tree of type BaseDecisionTree from treeple. If None, then sklearn's DecisionTreeClassifier with default parameters will be used. Note that none of the parameters in ``tree_estimator`` need to be set. The parameters of the ``tree_estimator`` can be set using diff --git a/sktree/tree/_marginal.pxd b/treeple/tree/_marginal.pxd similarity index 100% rename from sktree/tree/_marginal.pxd rename to treeple/tree/_marginal.pxd diff --git a/sktree/tree/_marginal.pyx b/treeple/tree/_marginal.pyx similarity index 99% rename from sktree/tree/_marginal.pyx rename to treeple/tree/_marginal.pyx index 7ced83391..006c82869 100644 --- a/sktree/tree/_marginal.pyx +++ b/treeple/tree/_marginal.pyx @@ -10,7 +10,7 @@ cnp.import_array() from libc.math cimport isnan from libcpp.unordered_set cimport unordered_set -from sktree._lib.sklearn.tree._utils cimport RAND_R_MAX, rand_uniform +from treeple._lib.sklearn.tree._utils cimport RAND_R_MAX, rand_uniform from ._utils cimport rand_weighted_binary diff --git a/sktree/tree/_marginalize.py b/treeple/tree/_marginalize.py similarity index 98% rename from sktree/tree/_marginalize.py rename to treeple/tree/_marginalize.py index 1f3fcee3e..abe27184b 100644 --- a/sktree/tree/_marginalize.py +++ b/treeple/tree/_marginalize.py @@ -5,8 +5,8 @@ from sklearn.utils.parallel import Parallel, delayed from sklearn.utils.validation import check_is_fitted, check_random_state -from sktree._lib.sklearn.tree import BaseDecisionTree -from sktree._lib.sklearn.tree._tree import DTYPE +from treeple._lib.sklearn.tree import BaseDecisionTree +from treeple._lib.sklearn.tree._tree import DTYPE from ._marginal import apply_marginal_tree diff --git a/sktree/tree/_multiview.py b/treeple/tree/_multiview.py similarity index 100% rename from sktree/tree/_multiview.py rename to treeple/tree/_multiview.py diff --git a/sktree/tree/_neighbors.py b/treeple/tree/_neighbors.py similarity index 97% rename from sktree/tree/_neighbors.py rename to treeple/tree/_neighbors.py index 7b02be7ce..94f2c8f18 100644 --- a/sktree/tree/_neighbors.py +++ b/treeple/tree/_neighbors.py @@ -66,5 +66,5 @@ def compute_similarity_matrix(self, X): return compute_forest_similarity_matrix(self, X) def _more_tags(self): - # XXX: no scikit-tree estimators support NaNs as of now + # XXX: no treeple estimators support NaNs as of now return {"allow_nan": False} diff --git a/sktree/tree/_oblique_splitter.pxd b/treeple/tree/_oblique_splitter.pxd similarity index 100% rename from sktree/tree/_oblique_splitter.pxd rename to treeple/tree/_oblique_splitter.pxd diff --git a/sktree/tree/_oblique_splitter.pyx b/treeple/tree/_oblique_splitter.pyx similarity index 100% rename from sktree/tree/_oblique_splitter.pyx rename to treeple/tree/_oblique_splitter.pyx diff --git a/sktree/tree/_oblique_tree.pxd b/treeple/tree/_oblique_tree.pxd similarity index 100% rename from sktree/tree/_oblique_tree.pxd rename to treeple/tree/_oblique_tree.pxd diff --git a/sktree/tree/_oblique_tree.pyx b/treeple/tree/_oblique_tree.pyx similarity index 100% rename from sktree/tree/_oblique_tree.pyx rename to treeple/tree/_oblique_tree.pyx diff --git a/sktree/tree/_sklearn_splitter.pxd b/treeple/tree/_sklearn_splitter.pxd similarity index 100% rename from sktree/tree/_sklearn_splitter.pxd rename to treeple/tree/_sklearn_splitter.pxd diff --git a/sktree/tree/_sklearn_splitter.pyx b/treeple/tree/_sklearn_splitter.pyx similarity index 100% rename from sktree/tree/_sklearn_splitter.pyx rename to treeple/tree/_sklearn_splitter.pyx diff --git a/sktree/tree/_utils.pxd b/treeple/tree/_utils.pxd similarity index 100% rename from sktree/tree/_utils.pxd rename to treeple/tree/_utils.pxd diff --git a/sktree/tree/_utils.pyx b/treeple/tree/_utils.pyx similarity index 100% rename from sktree/tree/_utils.pyx rename to treeple/tree/_utils.pyx diff --git a/sktree/tree/kernels.py b/treeple/tree/kernels.py similarity index 100% rename from sktree/tree/kernels.py rename to treeple/tree/kernels.py diff --git a/sktree/tree/manifold/__init__.py b/treeple/tree/manifold/__init__.py similarity index 100% rename from sktree/tree/manifold/__init__.py rename to treeple/tree/manifold/__init__.py diff --git a/sktree/tree/manifold/_morf_splitter.pxd b/treeple/tree/manifold/_morf_splitter.pxd similarity index 100% rename from sktree/tree/manifold/_morf_splitter.pxd rename to treeple/tree/manifold/_morf_splitter.pxd diff --git a/sktree/tree/manifold/_morf_splitter.pyx b/treeple/tree/manifold/_morf_splitter.pyx similarity index 100% rename from sktree/tree/manifold/_morf_splitter.pyx rename to treeple/tree/manifold/_morf_splitter.pyx diff --git a/sktree/tree/manifold/meson.build b/treeple/tree/manifold/meson.build similarity index 79% rename from sktree/tree/manifold/meson.build rename to treeple/tree/manifold/meson.build index 91ed92a3d..867da8eaa 100644 --- a/sktree/tree/manifold/meson.build +++ b/treeple/tree/manifold/meson.build @@ -12,12 +12,12 @@ foreach ext_name, ext_dict : tree_extension_metadata override_options : ext_dict.get('override_options', []), c_args: c_args, cython_args: cython_c_args, - subdir: 'sktree/tree/manifold', + subdir: 'treeple/tree/manifold', install: true, ) endforeach py.install_sources( - subdir: 'sktree/tree/manifold' # Folder relative to site-packages to install to + subdir: 'treeple/tree/manifold' # Folder relative to site-packages to install to ) diff --git a/sktree/tree/meson.build b/treeple/tree/meson.build similarity index 92% rename from sktree/tree/meson.build rename to treeple/tree/meson.build index 9737016af..2febbbc6a 100644 --- a/sktree/tree/meson.build +++ b/treeple/tree/meson.build @@ -24,7 +24,7 @@ foreach ext_name, ext_dict : tree_extension_metadata override_options : ext_dict.get('override_options', []), c_args: c_args, cython_args: cython_c_args, - subdir: 'sktree/tree', + subdir: 'treeple/tree', install: true, ) endforeach @@ -40,7 +40,7 @@ python_sources = [ py.install_sources( python_sources, - subdir: 'sktree/tree' # Folder relative to site-packages to install to + subdir: 'treeple/tree' # Folder relative to site-packages to install to ) # TODO: comment in if we include tests diff --git a/sktree/tree/tests/__init__.py b/treeple/tree/tests/__init__.py similarity index 100% rename from sktree/tree/tests/__init__.py rename to treeple/tree/tests/__init__.py diff --git a/sktree/tree/tests/meson.build b/treeple/tree/tests/meson.build similarity index 89% rename from sktree/tree/tests/meson.build rename to treeple/tree/tests/meson.build index 44717eb2a..552eb7356 100644 --- a/sktree/tree/tests/meson.build +++ b/treeple/tree/tests/meson.build @@ -12,5 +12,5 @@ python_sources = [ py.install_sources( python_sources, pure: false, - subdir: 'sktree/tree/tests' + subdir: 'treeple/tree/tests' ) \ No newline at end of file diff --git a/sktree/tree/tests/test_all_trees.py b/treeple/tree/tests/test_all_trees.py similarity index 98% rename from sktree/tree/tests/test_all_trees.py rename to treeple/tree/tests/test_all_trees.py index ab0e4fcf3..1eb0f6e20 100644 --- a/sktree/tree/tests/test_all_trees.py +++ b/treeple/tree/tests/test_all_trees.py @@ -6,7 +6,7 @@ from sklearn.datasets import load_iris, make_blobs from sklearn.tree._tree import TREE_LEAF -from sktree.tree import ( +from treeple.tree import ( ExtraObliqueDecisionTreeClassifier, ExtraObliqueDecisionTreeRegressor, ObliqueDecisionTreeClassifier, @@ -168,7 +168,7 @@ def test_similarity_matrix(tree): def test_missing_values(tree): """Smoke test to ensure that correct error is raised when missing values are present. - xref: https://github.com/neurodata/scikit-tree/issues/263 + xref: https://github.com/neurodata/treeple/issues/263 """ rng = np.random.default_rng(123) diff --git a/sktree/tree/tests/test_honest_tree.py b/treeple/tree/tests/test_honest_tree.py similarity index 98% rename from sktree/tree/tests/test_honest_tree.py rename to treeple/tree/tests/test_honest_tree.py index 4815b3cb2..6f57f12d1 100644 --- a/sktree/tree/tests/test_honest_tree.py +++ b/treeple/tree/tests/test_honest_tree.py @@ -6,8 +6,8 @@ from sklearn.tree import DecisionTreeClassifier as skDecisionTreeClassifier from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree._lib.sklearn.tree import DecisionTreeClassifier -from sktree.tree import ( +from treeple._lib.sklearn.tree import DecisionTreeClassifier +from treeple.tree import ( HonestTreeClassifier, MultiViewDecisionTreeClassifier, ObliqueDecisionTreeClassifier, diff --git a/sktree/tree/tests/test_marginal.py b/treeple/tree/tests/test_marginal.py similarity index 96% rename from sktree/tree/tests/test_marginal.py rename to treeple/tree/tests/test_marginal.py index 21609a418..5a8b016fb 100644 --- a/sktree/tree/tests/test_marginal.py +++ b/treeple/tree/tests/test_marginal.py @@ -4,7 +4,7 @@ import pytest from numpy.testing import assert_array_equal, assert_raises -from sktree import ( +from treeple import ( ObliqueRandomForestClassifier, ObliqueRandomForestRegressor, PatchObliqueRandomForestClassifier, @@ -12,20 +12,20 @@ UnsupervisedObliqueRandomForest, UnsupervisedRandomForest, ) -from sktree._lib.sklearn.ensemble._forest import ( +from treeple._lib.sklearn.ensemble._forest import ( ExtraTreesClassifier, ExtraTreesRegressor, RandomForestClassifier, RandomForestRegressor, RandomTreesEmbedding, ) -from sktree._lib.sklearn.tree import ( +from treeple._lib.sklearn.tree import ( DecisionTreeClassifier, DecisionTreeRegressor, ExtraTreeClassifier, ExtraTreeRegressor, ) -from sktree.tree._marginalize import apply_marginal +from treeple.tree._marginalize import apply_marginal CLF_TREES = { "DecisionTreeClassifier": DecisionTreeClassifier, diff --git a/sktree/tree/tests/test_multiview.py b/treeple/tree/tests/test_multiview.py similarity index 99% rename from sktree/tree/tests/test_multiview.py rename to treeple/tree/tests/test_multiview.py index 419ca378d..4b36c6fbd 100644 --- a/sktree/tree/tests/test_multiview.py +++ b/treeple/tree/tests/test_multiview.py @@ -8,7 +8,7 @@ from sklearn.model_selection import cross_val_score from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier +from treeple.tree import DecisionTreeClassifier, MultiViewDecisionTreeClassifier seed = 12345 diff --git a/sktree/tree/tests/test_tree.py b/treeple/tree/tests/test_tree.py similarity index 98% rename from sktree/tree/tests/test_tree.py rename to treeple/tree/tests/test_tree.py index 79127f84c..feab02aaf 100644 --- a/sktree/tree/tests/test_tree.py +++ b/treeple/tree/tests/test_tree.py @@ -11,8 +11,8 @@ from sklearn.utils._testing import skip_if_32bit from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree._lib.sklearn.tree import DecisionTreeClassifier -from sktree.tree import ( +from treeple._lib.sklearn.tree import DecisionTreeClassifier +from treeple.tree import ( ExtraObliqueDecisionTreeClassifier, ExtraObliqueDecisionTreeRegressor, ObliqueDecisionTreeClassifier, @@ -152,9 +152,9 @@ def test_pickle_splitters(): import joblib - from sktree._lib.sklearn.tree._criterion import Gini - from sktree.tree._oblique_splitter import BestObliqueSplitter, RandomObliqueSplitter - from sktree.tree.manifold._morf_splitter import BestPatchSplitter + from treeple._lib.sklearn.tree._criterion import Gini + from treeple.tree._oblique_splitter import BestObliqueSplitter, RandomObliqueSplitter + from treeple.tree.manifold._morf_splitter import BestPatchSplitter criterion = Gini(1, np.array((0, 1), dtype=np.intp)) max_features = 6 diff --git a/sktree/tree/tests/test_unsupervised_tree.py b/treeple/tree/tests/test_unsupervised_tree.py similarity index 98% rename from sktree/tree/tests/test_unsupervised_tree.py rename to treeple/tree/tests/test_unsupervised_tree.py index 2dba0fab8..84e7d3d62 100644 --- a/sktree/tree/tests/test_unsupervised_tree.py +++ b/treeple/tree/tests/test_unsupervised_tree.py @@ -6,7 +6,7 @@ from sklearn.metrics import adjusted_rand_score from sklearn.utils.estimator_checks import parametrize_with_checks -from sktree.tree import UnsupervisedDecisionTree, UnsupervisedObliqueDecisionTree +from treeple.tree import UnsupervisedDecisionTree, UnsupervisedObliqueDecisionTree CLUSTER_CRITERIONS = ("twomeans", "fastbic") REG_CRITERIONS = ("squared_error", "absolute_error", "friedman_mse", "poisson") diff --git a/sktree/tree/tests/test_utils.py b/treeple/tree/tests/test_utils.py similarity index 98% rename from sktree/tree/tests/test_utils.py rename to treeple/tree/tests/test_utils.py index 6b78ed7c5..1b20ca395 100644 --- a/sktree/tree/tests/test_utils.py +++ b/treeple/tree/tests/test_utils.py @@ -4,8 +4,8 @@ import numpy as np from numpy.testing import assert_equal -from sktree._lib.sklearn.tree._criterion import Gini -from sktree._lib.sklearn.tree._utils import _any_isnan_axis0 +from treeple._lib.sklearn.tree._criterion import Gini +from treeple._lib.sklearn.tree._utils import _any_isnan_axis0 from .._utils import ravel_multi_index, unravel_index from ..manifold._morf_splitter import BestPatchSplitterTester diff --git a/sktree/tree/unsupervised/__init__.py b/treeple/tree/unsupervised/__init__.py similarity index 100% rename from sktree/tree/unsupervised/__init__.py rename to treeple/tree/unsupervised/__init__.py diff --git a/sktree/tree/unsupervised/_unsup_criterion.pxd b/treeple/tree/unsupervised/_unsup_criterion.pxd similarity index 100% rename from sktree/tree/unsupervised/_unsup_criterion.pxd rename to treeple/tree/unsupervised/_unsup_criterion.pxd diff --git a/sktree/tree/unsupervised/_unsup_criterion.pyx b/treeple/tree/unsupervised/_unsup_criterion.pyx similarity index 100% rename from sktree/tree/unsupervised/_unsup_criterion.pyx rename to treeple/tree/unsupervised/_unsup_criterion.pyx diff --git a/sktree/tree/unsupervised/_unsup_oblique_splitter.pxd b/treeple/tree/unsupervised/_unsup_oblique_splitter.pxd similarity index 100% rename from sktree/tree/unsupervised/_unsup_oblique_splitter.pxd rename to treeple/tree/unsupervised/_unsup_oblique_splitter.pxd diff --git a/sktree/tree/unsupervised/_unsup_oblique_splitter.pyx b/treeple/tree/unsupervised/_unsup_oblique_splitter.pyx similarity index 100% rename from sktree/tree/unsupervised/_unsup_oblique_splitter.pyx rename to treeple/tree/unsupervised/_unsup_oblique_splitter.pyx diff --git a/sktree/tree/unsupervised/_unsup_oblique_tree.pxd b/treeple/tree/unsupervised/_unsup_oblique_tree.pxd similarity index 100% rename from sktree/tree/unsupervised/_unsup_oblique_tree.pxd rename to treeple/tree/unsupervised/_unsup_oblique_tree.pxd diff --git a/sktree/tree/unsupervised/_unsup_oblique_tree.pyx b/treeple/tree/unsupervised/_unsup_oblique_tree.pyx similarity index 100% rename from sktree/tree/unsupervised/_unsup_oblique_tree.pyx rename to treeple/tree/unsupervised/_unsup_oblique_tree.pyx diff --git a/sktree/tree/unsupervised/_unsup_splitter.pxd b/treeple/tree/unsupervised/_unsup_splitter.pxd similarity index 100% rename from sktree/tree/unsupervised/_unsup_splitter.pxd rename to treeple/tree/unsupervised/_unsup_splitter.pxd diff --git a/sktree/tree/unsupervised/_unsup_splitter.pyx b/treeple/tree/unsupervised/_unsup_splitter.pyx similarity index 100% rename from sktree/tree/unsupervised/_unsup_splitter.pyx rename to treeple/tree/unsupervised/_unsup_splitter.pyx diff --git a/sktree/tree/unsupervised/_unsup_tree.pxd b/treeple/tree/unsupervised/_unsup_tree.pxd similarity index 100% rename from sktree/tree/unsupervised/_unsup_tree.pxd rename to treeple/tree/unsupervised/_unsup_tree.pxd diff --git a/sktree/tree/unsupervised/_unsup_tree.pyx b/treeple/tree/unsupervised/_unsup_tree.pyx similarity index 100% rename from sktree/tree/unsupervised/_unsup_tree.pyx rename to treeple/tree/unsupervised/_unsup_tree.pyx diff --git a/sktree/tree/unsupervised/meson.build b/treeple/tree/unsupervised/meson.build similarity index 88% rename from sktree/tree/unsupervised/meson.build rename to treeple/tree/unsupervised/meson.build index 0d9534e9d..542ab0067 100644 --- a/sktree/tree/unsupervised/meson.build +++ b/treeple/tree/unsupervised/meson.build @@ -24,12 +24,12 @@ foreach ext_name, ext_dict : tree_extension_metadata override_options : ext_dict.get('override_options', []), c_args: c_args, cython_args: cython_c_args, - subdir: 'sktree/tree/unsupervised', + subdir: 'treeple/tree/unsupervised', install: true, ) endforeach py.install_sources( - subdir: 'sktree/tree/unsupervised' # Folder relative to site-packages to install to + subdir: 'treeple/tree/unsupervised' # Folder relative to site-packages to install to )