Metadata-Version: 1.2
Name: forest-gis
Version: 0.0.3
Summary: A set of python modules for machine learning and data mining
Home-page: https://github.com/PowderL/Tree-based-machine-learning-for-gis
Maintainer: Tao Li
Maintainer-email: lp1559345469@gmail.com
License: new BSD
Download-URL: https://pypi.org/project/forest-gis/#files
Project-URL: Bug Tracker, https://github.com/PowderL/Tree-based-machine-learning-for-gis
Project-URL: Source Code, https://github.com/PowderL/Tree-based-machine-learning-for-gis
Description: |PythonVersion|_ |Downloads|_
        
        .. |Downloads| image:: https://pepy.tech/badge/forest-gis/month
        .. _Downloads: https://pepy.tech/project/auditwheel/month
        .. |PythonVersion| image:: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8-blue
        .. _PythonVersion: https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8-blue
        
        Installation
        ^^^^^^^^^^^^
        
        Dependencies
        ------------
        
        forest-gis requires:
        
        - Python (>= 3.6)
        - NumPy (>= 1.15.0)
        - SciPy (>= 0.19.1)
        - joblib (>= 0.14)
        
        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.
        
        .. _wheel: https://wheel.readthedocs.io/en/stable
        .. _pypi: https://pypi.org/project/forest-gis
        
        Build forest-gis from source
        ----------------------------
        Before you install the ``forest-gis`` from source, you need to update 
        cython_ for Windows and Linux to the newest version and then run ::
        
            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 .
        
        .. _cython: https://cython.org/
        
        User Guide
        ^^^^^^^^^^^^
        
        Compute local variable importance based on decrease in node impurity ::
        
        	from forest.ensemble import RandomForestRegressor
        	rf = RandomForestRegressor(500, max_features=0.3)
        	rf.fit(train_x, train_y)
        	local_variable_importance = r_t.compute_feature_importance(X,Y,
        		partition_feature = partition_feature, 
        			method = "lvig_based_on_impurity")
        	
        or compute local variable importance based on decrease in accuracy ::
        
        	from forest.ensemble import RandomForestRegressor
        	rf = meda.lovim(500, max_features=0.3)
        	rf.fit(train_x, train_y)
        	local_variable_importance = r_m.compute_feature_importance(X,Y,
        		partition_feature = partition_feature, 
        			method = "lvig_based_on_accuracy")
        
        to achieve lower computation cost, we provide a cython_ version based on decrease in node impurity ::
            
        	from forest.ensemble import RandomForestRegressor
        	rf = meda.lovim(500, max_features=0.3)
        	rf.fit(train_x, train_y)
        	local_variable_importance = r_m.compute_feature_importance(X,Y,
        		partition_feature = partition_feature, 
        		method = "lvig_based_on_impurity_cython_version")
        
        
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Programming Language :: C
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.6
