All Projects → pavelkomarov → projection-pursuit

pavelkomarov / projection-pursuit

Licence: BSD-3-Clause License
An implementation of multivariate projection pursuit regression and univariate classification

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to projection-pursuit

Alphapy
Automated Machine Learning [AutoML] with Python, scikit-learn, Keras, XGBoost, LightGBM, and CatBoost
Stars: ✭ 564 (+2250%)
Mutual labels:  scikit-learn, regression, classification
Python-Machine-Learning-Fundamentals
D-Lab's 6 hour introduction to machine learning in Python. Learn how to perform classification, regression, clustering, and do model selection using scikit-learn and TPOT.
Stars: ✭ 46 (+91.67%)
Mutual labels:  scikit-learn, regression, classification
Python-Machine-Learning
Python Machine Learning Algorithms
Stars: ✭ 80 (+233.33%)
Mutual labels:  scikit-learn, regression, classification
The Deep Learning With Keras Workshop
An Interactive Approach to Understanding Deep Learning with Keras
Stars: ✭ 34 (+41.67%)
Mutual labels:  scikit-learn, regression, classification
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (+483.33%)
Mutual labels:  scikit-learn, regression, classification
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+13033.33%)
Mutual labels:  scikit-learn, regression, classification
Machine Learning With Python
Practice and tutorial-style notebooks covering wide variety of machine learning techniques
Stars: ✭ 2,197 (+9054.17%)
Mutual labels:  scikit-learn, regression, classification
Cranium
🤖 A portable, header-only, artificial neural network library written in C99
Stars: ✭ 501 (+1987.5%)
Mutual labels:  travis-ci, regression, classification
Cubist
A Python package for fitting Quinlan's Cubist regression model
Stars: ✭ 22 (-8.33%)
Mutual labels:  scikit-learn, regression
R-Machine-Learning
D-Lab's 6 hour introduction to machine learning in R. Learn the fundamentals of machine learning, regression, and classification, using tidymodels in R.
Stars: ✭ 27 (+12.5%)
Mutual labels:  regression, classification
Machine-Learning-Specialization
Project work and Assignments for Machine learning specialization course on Coursera by University of washington
Stars: ✭ 27 (+12.5%)
Mutual labels:  regression, classification
react-testing-mocha-chai-enzyme
A solid test setup for React components with Mocha, Chai, Sinon, Enzyme in a Webpack/Babel application.
Stars: ✭ 48 (+100%)
Mutual labels:  coveralls, travis-ci
continuous-integration-with-python
How to test your python code. How to automatically run your tests for your Python code. How to get reports of the tests coverage
Stars: ✭ 25 (+4.17%)
Mutual labels:  coveralls, travis-ci
regression-stock-prediction
Predicting Google’s stock price using regression
Stars: ✭ 54 (+125%)
Mutual labels:  scikit-learn, regression
ML-Track
This repository is a recommended track, designed to get started with Machine Learning.
Stars: ✭ 19 (-20.83%)
Mutual labels:  scikit-learn, regression
pycobra
python library implementing ensemble methods for regression, classification and visualisation tools including Voronoi tesselations.
Stars: ✭ 111 (+362.5%)
Mutual labels:  scikit-learn, regression
ugtm
ugtm: a Python package for Generative Topographic Mapping
Stars: ✭ 34 (+41.67%)
Mutual labels:  regression, classification
machine learning from scratch matlab python
Vectorized Machine Learning in Python 🐍 From Scratch
Stars: ✭ 28 (+16.67%)
Mutual labels:  regression, classification
onelearn
Online machine learning methods
Stars: ✭ 14 (-41.67%)
Mutual labels:  regression, classification
Predictive-Maintenance-of-Aircraft-Engine
In this project I aim to apply Various Predictive Maintenance Techniques to accurately predict the impending failure of an aircraft turbofan engine.
Stars: ✭ 48 (+100%)
Mutual labels:  regression, classification

Projection Pursuit

Build Status Coverage Status Downloads

Documentation, How it works.

This repository is home to a couple scikit-learn-compatible estimators based on Jerome Friedman's generalizations[1] of his and Werner Stuetzle's Projection Pursuit Regression algorithm[2][3]. A regressor capable of multivariate estimation and dimensionality reduction and a univariate classifier based on regression to a one-hot multivariate representation are included.

This repository is also meant to serve as a fairly pared-down example of how to use Github Actions, Coveralls, Sphinx, PyTest, how to deploy to PyPI and Github Pages, and how to create a Scikit-Learn Estimator that passes the sklearn checks and follows the PEP 8 style standard.

Installation and Usage

The package by itself comes with a single module containing the estimators. Before installing the module you will need numpy, scipy, scikit-learn, and matplotlib. To install the module execute:

pip install projection-pursuit

or

$ python setup.py install

If the installation is successful, you should be able to execute the following in Python:

>>> from skpp import ProjectionPursuitRegressor
>>> estimator = ProjectionPursuitRegressor()
>>> estimator.fit(np.arange(10).reshape(10, 1), np.arange(10))

Sphinx is run via continuous integration to generate the API.

For a few usage examples, see the examples and benchmarks directories. For an intuition of what the learner is doing, try running viz_training_process.py. For comparisons to other learners and an intuition of why you might want to try PPR, try the benchmarks. For a deep dive in to the math and an explanation of exactly how and why this works, see math.pdf.

References

  1. Friedman, Jerome. (1985). "Classification and Multiple Regression Through Projection Pursuit." http://www.slac.stanford.edu/pubs/slacpubs/3750/slac-pub-3824.pdf
  2. Hastie, Tibshirani, & Friedman. (2016). The Elements of Statistical Learning 2nd Ed., section 11.2.
  3. (2017) Projection pursuit regression https://en.wikipedia.org/wiki/Projection_pursuit_regression
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].