{ "info": { "author": "MLJAR, Inc.", "author_email": "contact@mljar.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python", "Programming Language :: Python :: 3.6" ], "description": "# mljar-supervised\n\n[![Build Status](https://travis-ci.org/mljar/mljar-supervised.svg?branch=master)](https://travis-ci.org/mljar/mljar-supervised)\n[![PyPI version](https://badge.fury.io/py/mljar-supervised.svg)](https://badge.fury.io/py/mljar-supervised)\n[![Coverage Status](https://coveralls.io/repos/github/mljar/mljar-supervised/badge.svg?branch=master)](https://coveralls.io/github/mljar/mljar-supervised?branch=master)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/mljar-supervised.svg)](https://pypi.python.org/pypi/mljar-supervised/)\n\n[![Machine Learning for Humans](images/the-mljar.svg)](https://mljar.com)\n\n## The new standard in Machine Learning!\n\nThanks to Automated Machine Learning you don't need to worry about different machine learning interfaces. You don't need to know all algorithms and their hyper-parameters. With AutoML model tuning and training is painless.\n\nIn the current version only binary classification is supported with optimization of LogLoss metric.\n\n## Quick example\n\n```python\nimport pandas as pd\nfrom supervised.automl import AutoML\n\ndf = pd.read_csv(\"https://raw.githubusercontent.com/pplonski/datasets-for-start/master/adult/data.csv\", skipinitialspace=True)\n\nX = df[df.columns[:-1]]\ny = df[\"income\"]\n\nautoml = AutoML()\nautoml.fit(X, y)\n\npredictions = automl.predict(X)\n```\n\n## The tuning algorithm\n\nThe tuning algorithm was created and developed by Piotr P\u0142o\u0144ski. It is heuristic algorithm created from combination of:\n\n- **not-so-random** approach\n- and **hill-climbing**\n\nThe approach is **not-so-random** because each algorithm has a defined set of hyper-parameters that usually works. At first step from not so random parameters an initial set of models is drawn. Then the hill climbing approach is used to pick best performing algorithms and tune them.\n\nFor each algorithm used in the AutoML the early stopping is applied.\n\nThe ensemble algorithm was implemented based on [Caruana paper](http://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf).\n\n## Installation\n\nFrom PyPi repository:\n\n```\npip install mljar-supervised\n```\n\nFrom source code:\n\n```\ngit clone https://github.com/mljar/mljar-supervised.git\ncd mljar-supervised\npython setup.py install\n```\n\nPython 3.6 is required.\n\n## Usage\n\nThis is Automated Machine Learning package, so all hard tasks is done for you. The interface is simple but if necessary it gives you ability to control the training process.\n\n#### Train and predict\n\n```python\nautoml = AutoML()\nautoml.fit(X, y)\npredictions = automl.predict(X)\n```\n\nBy the default, the training should finish in less than 1 hour and as ML algorithms will be checked:\n\n- Random Forest\n- Xgboost\n- CatBoost\n- LightGBM\n- Neural Network\n- Ensemble\n\nThe parameters that you can use to control the training process are:\n\n- **total_time_limit** - it is a total time limit that AutoML can spend for searching to the best ML model. It is in seconds. _Default is set to 3600 seconds._\n- **learner_time_limit** - the time limit for training single model, in case of `k`-fold cross validation, the time spend on training is `k*learner_time_limit`. This parameter is only considered when `total_time_limit` is set to None. _Default is set to 120 seconds_.\n- **algorithms** - the list of algorithms that will be checked. _Default is set to [\"CatBoost\", \"Xgboost\", \"RF\", \"LightGBM\", \"NN\"]_.\n- **start_random_models** - the number of models to check with _not so random_ algorithm. _Default is set to 10_.\n- **hill_climbing_steps** - number of hill climbing steps used in models tuning. _Default is set to 3_.\n- **top_models_to_improve** - number of models considered for improvement in each hill climbing step. _Default is set to 5_.\n- **train_ensemble** - decides if ensemble model is trained at the end of AutoML fit procedure. _Default is set to True_.\n- **verbose** - controls printouts, _Default is set to True_.\n\n## Development\n\n### Installation\n\n```\ngit clone https://github.com/mljar/mljar-supervised.git\nvirtualenv venv --python=python3.6\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\n### Testing\n\n```\ncd supervised\npython -m tests.run_all\n```\n\n## Newsletter\n\nDon't miss updates and news from us.\n[Subscribe to newsletter!](https://tinyletter.com/mljar)\n\n## Roadmap\n\nThe package is under active development! Please expect a lot of changes!\nFor this package the graphical interface will be provided soon (also open source!). Please be tuned.\n\nTo be added:\n- training single decision tree\n- create text report from trained models (maybe with plots from learning)\n- compute threshold for model prediction and predicting discrete output (label)\n- add model/predictions explanations\n- add support for multiclass classification\n- add support for regressions", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mljar/mljar-supervised", "keywords": "automl,machine learning,random forest,keras,xgboost", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mljar-supervised", "package_url": "https://pypi.org/project/mljar-supervised/", "platform": "", "project_url": "https://pypi.org/project/mljar-supervised/", "project_urls": { "Homepage": "https://github.com/mljar/mljar-supervised" }, "release_url": "https://pypi.org/project/mljar-supervised/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "Automated Machine Learning for Supervised tasks", "version": "0.1.7" }, "last_serial": 5186608, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "059091be2f3973c2d42e9369a2c4a1fc", "sha256": "487cddee45496cd881940fc8217f1c8443b4b565c9809b388e301b7b5a237acc" }, "downloads": -1, "filename": "mljar_supervised-0.1.0-py3.6.egg", "has_sig": false, "md5_digest": "059091be2f3973c2d42e9369a2c4a1fc", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 94457, "upload_time": "2019-04-09T09:41:14", "url": "https://files.pythonhosted.org/packages/1d/7f/3b1aae7eac5c068c470afbb7bdbe89f6c39da737b949523e783398c626f1/mljar_supervised-0.1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "81f98e303f50f6ddd94297f1b7a5ef89", "sha256": "277e64bbfdfc16a8f079c9be8c100bf7b06ff6d773a3eaaf0b30a6a474319102" }, "downloads": -1, "filename": "mljar-supervised-0.1.0.tar.gz", "has_sig": false, "md5_digest": "81f98e303f50f6ddd94297f1b7a5ef89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21142, "upload_time": "2019-04-09T09:41:16", "url": "https://files.pythonhosted.org/packages/19/31/262a4f16033908d30d9f8c5848cfdc8b5d605e6a704be132ba396f03b293/mljar-supervised-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c7443f08290a081b71bb3a0f494afcfe", "sha256": "44c33964867b79278848a54033b580e4f3acf004c890423d846a53ae484feb45" }, "downloads": -1, "filename": "mljar-supervised-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c7443f08290a081b71bb3a0f494afcfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23176, "upload_time": "2019-04-09T13:49:45", "url": "https://files.pythonhosted.org/packages/5b/7b/7c3b5af90ed993a1448c288bf749ce854b0706b8f65cf9f50b5c5b83ecd4/mljar-supervised-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e9ced9c5a297866eebd027f80f5b71b2", "sha256": "01d6b3c144d51b96e8c04ab5eeaf2e62f3b80b48a3a7a805b8c848726241b016" }, "downloads": -1, "filename": "mljar-supervised-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e9ced9c5a297866eebd027f80f5b71b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24893, "upload_time": "2019-04-13T12:58:07", "url": "https://files.pythonhosted.org/packages/2a/5b/feac616795ff8c282f51db24d72df00ab86db7a4ff2d09bba2b7c3bd4a85/mljar-supervised-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d227cf6fafe5eedbb40beac9ebf83933", "sha256": "99bdb5e747b11cfa842ef0cde6ca7bd15f96b2b93bc8ee1afcb80f58657db399" }, "downloads": -1, "filename": "mljar-supervised-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d227cf6fafe5eedbb40beac9ebf83933", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25425, "upload_time": "2019-04-23T14:21:25", "url": "https://files.pythonhosted.org/packages/28/08/432c52a8d7a2d70570da31b689464bf9cc9c518e0fc07eaa8f0d64b62733/mljar-supervised-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1e585b97130245ea7da220f508403ff3", "sha256": "b6e3ed6827fdc65ee077af3e015ac4382aaaf31751f34f2ff234cf8902268ffa" }, "downloads": -1, "filename": "mljar-supervised-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1e585b97130245ea7da220f508403ff3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25448, "upload_time": "2019-04-23T15:25:14", "url": "https://files.pythonhosted.org/packages/60/ae/781a53e7dcd5aeea6445c352d5bffc64e95e9030d9d358b77a4ca2170533/mljar-supervised-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7346a02cb335249de689d2df7ed1b4ad", "sha256": "8e778398392b4e40d31d00fa8958a9e285b4a52b07330205c7e8007adbac079a" }, "downloads": -1, "filename": "mljar-supervised-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7346a02cb335249de689d2df7ed1b4ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25465, "upload_time": "2019-04-23T16:23:45", "url": "https://files.pythonhosted.org/packages/d3/20/ab18d4584cbd902522466f7d22f9bc815cad60f87b799aee7ec55b9c3876/mljar-supervised-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "52804f6dcff86f8e305f817750d0a300", "sha256": "5f9eb92c483656ccaa7d350c28fe9d125f9c9908818dc08cce3524d43232c1f3" }, "downloads": -1, "filename": "mljar-supervised-0.1.6.tar.gz", "has_sig": false, "md5_digest": "52804f6dcff86f8e305f817750d0a300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25629, "upload_time": "2019-04-24T09:19:13", "url": "https://files.pythonhosted.org/packages/84/1b/3c51a08f2961e4cce740901325ed6a761a729a364488adc9573d25566609/mljar-supervised-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "be7b5785ad47826438e7ece97c371b5e", "sha256": "4dacdd4f7878e825f98d26f0236e36d5d27a37475f748f6b9640de9dbe284aec" }, "downloads": -1, "filename": "mljar-supervised-0.1.7.tar.gz", "has_sig": false, "md5_digest": "be7b5785ad47826438e7ece97c371b5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25655, "upload_time": "2019-04-25T07:55:45", "url": "https://files.pythonhosted.org/packages/4e/33/4085e4f080c25fcedfe027f8b90cedbfd879ee12e96dd9965c7bdf8bb1c1/mljar-supervised-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be7b5785ad47826438e7ece97c371b5e", "sha256": "4dacdd4f7878e825f98d26f0236e36d5d27a37475f748f6b9640de9dbe284aec" }, "downloads": -1, "filename": "mljar-supervised-0.1.7.tar.gz", "has_sig": false, "md5_digest": "be7b5785ad47826438e7ece97c371b5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25655, "upload_time": "2019-04-25T07:55:45", "url": "https://files.pythonhosted.org/packages/4e/33/4085e4f080c25fcedfe027f8b90cedbfd879ee12e96dd9965c7bdf8bb1c1/mljar-supervised-0.1.7.tar.gz" } ] }