[![Coverage Status](https://coveralls.io/repos/github/alvarouc/polyssifier/badge.svg)](https://coveralls.io/github/alvarouc/polyssifier)
![example workflow](https://github.com/alvarouc/polyssifier/actions/workflows/python-package.yml/badge.svg)
Polyssifier
===========
Polyssifier runs a multitude of machine learning models on data. It reports scores, confusion matrices, predictions, and plots the scores ranked by classifier performance.
## Installation
```bash
pip install polyssifier
```
## How to use
### For classification
```python
from polyssifier import poly
# Load data
data = np.load("/path/to/data.npy")
label = np.load("/path/to/labels.npy")
# Run analysis
report = poly(data,label, n_folds=8)
# Plot results
report.plot_scores()
report.plot_features(ntop=10)
```
### For Regression
```python
from polyssifier import polyr
# Load data
data = np.load("/path/to/data.npy")
target = np.load("/path/to/target.npy")
# Run analysis
report = polyr(data, target, n_folds=8)
# Plot results
report.plot_scores()
report.plot_features(ntop=10)
```
### In the terminal
```bash
poly data.npy label.npy --concurrency 10
```
### Requirements
- Sklearn
- Numpy
- Pandas
### Features
- Cross validated scores.
- Report f1 score (scoring='f1') or ROC (scoring='auc') for classification
- Report MSE or R^2 for regression
- Feature ranking for compatible models (Logistic Regression, Linear SVM, Random Forest)
- Parallel processing.
- Control the number of threads with 'concurrency'.
- We recommend setting concurrency to half the number of Cores in your system.
- Saves trained models for future use in case of server malfunction.
- Set project_name for identifying a experiment.
- Activate feature selection step setting
- feature_selection=True
- Automatically scales your data with scale=True
Example: on [sample/example.ipynb](sample/example.ipynb)
It includes the following classifiers:
- Multilayer Perceptron
- Nearest Neighbors
- Linear SVM
- RBF SVM
- Decision Tree
- Random Forest
- Logistic Regression
- Naive Bayes
- Voting Classifier
and the following regressors:
- Linear Regression
- Bayesian Ridge
- PassiveAggressiveRegressor
- GaussianProcessRegressor
- Ridge
- Lasso
- Lars
- LassoLars
- OrthogonalMatchingPursuit
- ElasticNet
You can exclude some of this models by providing a list of names as follows:
```python
from polyssifier import poly
report = poly(data,label, n_folds=8,
exclude=['Multilayer Perceptron'])
```
Raw data
{
"_id": null,
"home_page": "https://github.com/alvarouc/polyssifier",
"name": "polyssifier",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "classification machine learning data science",
"author": "Alvaro Ulloa",
"author_email": "alvarouc@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/fb/a8/27ca5d628a132995b93a60acd0d12cd8a17e1b877a53b67113da0050a03f/polyssifier-1.0.10.tar.gz",
"platform": null,
"description": "[![Coverage Status](https://coveralls.io/repos/github/alvarouc/polyssifier/badge.svg)](https://coveralls.io/github/alvarouc/polyssifier) \n![example workflow](https://github.com/alvarouc/polyssifier/actions/workflows/python-package.yml/badge.svg)\n\nPolyssifier\n===========\n\nPolyssifier runs a multitude of machine learning models on data. It reports scores, confusion matrices, predictions, and plots the scores ranked by classifier performance.\n\n## Installation\n```bash\npip install polyssifier\n```\n\n## How to use\n### For classification\n```python\nfrom polyssifier import poly\n# Load data\ndata = np.load(\"/path/to/data.npy\")\nlabel = np.load(\"/path/to/labels.npy\")\n# Run analysis\nreport = poly(data,label, n_folds=8)\n# Plot results\nreport.plot_scores()\nreport.plot_features(ntop=10)\n```\n\n### For Regression\n```python\nfrom polyssifier import polyr\n# Load data\ndata = np.load(\"/path/to/data.npy\")\ntarget = np.load(\"/path/to/target.npy\")\n# Run analysis\nreport = polyr(data, target, n_folds=8)\n# Plot results\nreport.plot_scores()\nreport.plot_features(ntop=10)\n```\n\n### In the terminal\n```bash\npoly data.npy label.npy --concurrency 10\n```\n\n### Requirements\n - Sklearn\n - Numpy\n - Pandas\n\n### Features\n - Cross validated scores.\n - Report f1 score (scoring='f1') or ROC (scoring='auc') for classification\n - Report MSE or R^2 for regression\n - Feature ranking for compatible models (Logistic Regression, Linear SVM, Random Forest)\n - Parallel processing. \n - Control the number of threads with 'concurrency'.\n - We recommend setting concurrency to half the number of Cores in your system.\n - Saves trained models for future use in case of server malfunction. \n - Set project_name for identifying a experiment.\n - Activate feature selection step setting \n - feature_selection=True\n - Automatically scales your data with scale=True\n\nExample: on [sample/example.ipynb](sample/example.ipynb)\n\nIt includes the following classifiers:\n\n- Multilayer Perceptron\n- Nearest Neighbors\n- Linear SVM\n- RBF SVM\n- Decision Tree\n- Random Forest\n- Logistic Regression\n- Naive Bayes\n- Voting Classifier\n\nand the following regressors:\n\n- Linear Regression\n- Bayesian Ridge\n- PassiveAggressiveRegressor\n- GaussianProcessRegressor\n- Ridge\n- Lasso\n- Lars\n- LassoLars\n- OrthogonalMatchingPursuit\n- ElasticNet\n\nYou can exclude some of this models by providing a list of names as follows:\n```python\nfrom polyssifier import poly\n\nreport = poly(data,label, n_folds=8,\n exclude=['Multilayer Perceptron'])\n```\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Data exploration tool for assessing optimal classification methods",
"version": "1.0.10",
"project_urls": {
"Homepage": "https://github.com/alvarouc/polyssifier"
},
"split_keywords": [
"classification",
"machine",
"learning",
"data",
"science"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1eb9ba8d3ce6a426b15462a6479c4d0f062ef12e1b57f12d837ef73767942bac",
"md5": "3f3e99d79e47f441b30be5696ae11cc4",
"sha256": "791037b5b88a7752cbdb883e07835b2756a7c9eec7a66720fc2f2af7bc967675"
},
"downloads": -1,
"filename": "polyssifier-1.0.10-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f3e99d79e47f441b30be5696ae11cc4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 20167,
"upload_time": "2024-02-22T21:44:25",
"upload_time_iso_8601": "2024-02-22T21:44:25.100948Z",
"url": "https://files.pythonhosted.org/packages/1e/b9/ba8d3ce6a426b15462a6479c4d0f062ef12e1b57f12d837ef73767942bac/polyssifier-1.0.10-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fba827ca5d628a132995b93a60acd0d12cd8a17e1b877a53b67113da0050a03f",
"md5": "7b19167a120755a06d5eb62987c05dbf",
"sha256": "13147823d275179b422ff421d9eb5e00f247e3693e785ee7ec3e47df764631e0"
},
"downloads": -1,
"filename": "polyssifier-1.0.10.tar.gz",
"has_sig": false,
"md5_digest": "7b19167a120755a06d5eb62987c05dbf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22266,
"upload_time": "2024-02-22T21:44:27",
"upload_time_iso_8601": "2024-02-22T21:44:27.281000Z",
"url": "https://files.pythonhosted.org/packages/fb/a8/27ca5d628a132995b93a60acd0d12cd8a17e1b877a53b67113da0050a03f/polyssifier-1.0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-22 21:44:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "alvarouc",
"github_project": "polyssifier",
"travis_ci": true,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "polyssifier"
}