Skip to main content

forest-gis

PythonVersion pypi Downloads

Installation

Dependencies

forest-gis requires:

  • Python (>= 3.6)

  • NumPy (>= 1.15.0)

  • SciPy (>= 0.19.1)

  • joblib (>= 0.14)

  • scikit-learn (>=0.19.0)

For Windwos

If you already have a working installation of numpy and scipy, and you plateform is Windows 32-bit or 64-bit, the easiest way to install forest-gis is using pip

pip install -U forest-gis

or conda

conda install -c conda-forge forest-gis

For linux

At present, on the pypi, we only provide wheel files supporting Python3.6, 3.7, 3.8 for Windows 32-bit, Windows 64-bit. Though the wheel files for Linux 64-bit are also provided, you may encouter problems if your Linux system has a lower version of glibc than ubantu 18.x because the wheel files was just compiled on ubantu 18.x If you get wrong when use pip to install forest-gis, you can try to install “forest-gis” from source.

For macOS

At present, install forest-gis from wheel files are not provied for macOS.

Build forest-gis from source

For Windows and Linux

Necessarily, before you install the forest-gis from source, you need to first install or update cython and numpy to the newest version and then run

pip install cython
pip install numpy
pip install --verbose .

For macOS, first install the macOS command line tools

brew install libomp

Set the following environment variables

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
export CPPFLAGS="$CPPFLAGS -Xpreprocessor -fopenmp"
export CFLAGS="$CFLAGS -I/usr/local/opt/libomp/include"
export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/libomp/include"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/local/opt/libomp/lib -L/usr/local/opt/libomp/lib -lomp"

Finally, build forest-gis

pip install --verbose .

User Guide

Compute local variable importance based on the impurity metric

# use Boston house-price datasets as an example
from sklearn.datasets import load_boston
train_x, train_y = load_boston(return_X_y=True)
# partition_feature could a column from train_x
partition_feature = train_x[:, 1]
from sklearn.ensemble import RandomForestRegressor, ExtraTreesRegressor
from forest.ensemble import impurity_LVIG_RFRegressor
from forest.ensemble import impurity_LVIG_EXTRegressor
rf = RandomForestRegressor(500, max_features=0.3)
rf.fit(train_x, train_y)
## using random forest model to compute local variable importance
var_names = ["var_" + str(i) for i in range(train_x.shape[1])]
lvig_handler = impurity_LVIG_RFRegressor(rf, var_names)
local_variable_importance = lvig_handler.lvig(train_x, train_y, partition_feature = partition_feature)

# use extra-trees to compute local variable importance
model = ExtraTreesRegressor(500, max_features=0.3)
model.fit(train_x, train_y)
lvig_handler = impurity_LVIG_EXTRegressor(rf, var_names)
local_variable_importance = lvig_handler.lvig(train_x, train_y, partition_feature = partition_feature)

or compute local variable importance based on the accuracy metric

from forest.ensemble import accuracy_LVIG
model = RandomForestRegressor(500, max_features=0.3)
model.fit(train_x, train_y)
lvig_handler = accuracy_LVIG(model)
## compute local variable importance
##
local_variable_importance = lvig_handler.compute_feature_importance(train_x, train_y, partition_feature = partition_feature)
## as the accuracy-based LVIG is a model-agnostic method, using other model like xgboost and gradient booting decission tree is applicable
from sklearn.ensemble import GradientBoostingRegressor
import xgboost as xgb
## based on gradient boosting decission tree
model = GradientBoostingRegressor(n_estimators = 500, max_depth = 15, learning_rate=0.05, subsample=0.5, max_features=5)
model.fit(train_x, train_y)
lvig_handler = lvig(model)
data = lvig_handler.compute_feature_importance(train_x, train_y, partition_feature)

## based on xgboost
model = xgb.XGBRegressor(n_estimators = 500, max_depth = 15, subsample = 0.5, eval_metric = "rmse", objective = "reg:linear", n_jobs=20, eta = 0.05, colsample_bynode = 0.33334)
model.fit(train_x, train_y)
lvig_handler = lvig(model)
data = lvig_handler.compute_feature_importance(train_x, train_y, partition_feature)

Metadata

Release files for forest-gis 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forest-gis 2.0.0
File Size Uploaded
forest-gis-2.0.0.tar.gz 300.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for forest-gis 2.0.0
File
forest_gis-2.0.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
forest_gis-2.0.0-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
forest_gis-2.0.0-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
forest_gis-2.0.0-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
forest_gis-2.0.0-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
forest_gis-2.0.0-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details

Total release size: 1.4 MB

Release files / forest-gis-2.0.0.tar.gz

Download URL forest-gis-2.0.0.tar.gz
Size 300.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e7c9c9fce1f4f04a56a9d021b25e5181925299dd75312f8e78588596cbbfb9d2
BLAKE2b-256 checksum
How to use checksums
ef50fe0cb8eafd04038110d506c1b442d65dfed27d357198a719ef444b858e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp38-cp38-win_amd64.whl

Download URL forest_gis-2.0.0-cp38-cp38-win_amd64.whl
Size 195.3 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
a8b36241f404783c301be9583390292a54a315904fbdb5c9484010a76c0a53bf
BLAKE2b-256 checksum
How to use checksums
effff113512267219d7539226973b7dd939a1b075c823794217f0c0d75d6c236
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp38-cp38-win32.whl

Download URL forest_gis-2.0.0-cp38-cp38-win32.whl
Size 164.8 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
4af784333ee03af117d3b142ba849e2bf2f1cc6d7bc6c85b0c4178efb2da909a
BLAKE2b-256 checksum
How to use checksums
10f6ddcc270093d8914e22c9154d66ef4a7f6e289636ba4c6f578bbf23b54f55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp37-cp37m-win_amd64.whl

Download URL forest_gis-2.0.0-cp37-cp37m-win_amd64.whl
Size 192.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
4568f653e2a42554a52480921219e0863b13b9fed4b063615a32a293a77f6b0d
BLAKE2b-256 checksum
How to use checksums
1b6ba9123d5db9cab6a4e698ad7282b074163adbcbb3761f0728183dc8e0a20b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp37-cp37m-win32.whl

Download URL forest_gis-2.0.0-cp37-cp37m-win32.whl
Size 170.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
791348c555fc43d3fd69c3ca2c203a9bc21c358cd87caf1cb459c20d40446bb5
BLAKE2b-256 checksum
How to use checksums
eb6a4309a40398220b1aabf08859131835854c42707b46d1f5e177b801ca2a69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp36-cp36m-win_amd64.whl

Download URL forest_gis-2.0.0-cp36-cp36m-win_amd64.whl
Size 199.6 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
9c9259ae19bccef924b5da5abdd3bdf69b8f4d9a826ab2f0c05be2a05ea46e46
BLAKE2b-256 checksum
How to use checksums
2a4e3aeee07540395a77b4f1929136861ea6bbe923e66daebcc27576d83cf4b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release files / forest_gis-2.0.0-cp36-cp36m-win32.whl

Download URL forest_gis-2.0.0-cp36-cp36m-win32.whl
Size 170.1 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
49b58508025eac5ba35fbc6d3b9d7625efc4fce36ae6641bfbbb7b40bd1c7b54
BLAKE2b-256 checksum
How to use checksums
79ec4085b006ca1e8f09e21260bc9a8eeff148ad8dfa23a7e7ff2826ee59b89b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

2.0.0 This release

7 release files

1.0.2

7 release files

1.0.1

7 release files

0.0.3

7 release files

0.0.2

10 release files

0.0.1

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page