{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Software Development" ], "description": "MuTaR: Multi-task Regression in Python\n======================================\n\n-----------\nDescription\n-----------\n\n|Travis|_ |AppVeyor|_ |Codecov|_\n\n.. |Travis| image:: https://travis-ci.com/hichamjanati/mutar.svg?branch=master\n.. _Travis: https://travis-ci.com/hichamjanati/mutar\n\n.. |AppVeyor| image:: https://ci.appveyor.com/api/projects/status/coy2qqaqr1rnnt5y/branch/master?svg=true\n.. _AppVeyor: https://ci.appveyor.com/project/hichamjanati/mutar\n\n.. |Codecov| image:: https://codecov.io/gh/hichamjanati/mutar/branch/master/graph/badge.svg\n.. _Codecov: https://codecov.io/gh/hichamjanati/mutar\n\n\nMuTaR is a collection of sparse models for multi-task regression. Mutar models\nfit regularized regression on a sequence of related linear\nmodels (X_1, y_1) ... (X_k, y_k) and follows `scikit-learn's `_ API.\nCompared with scikit-learn's MultiTaskLasso, MuTaR allows for a different design\ndata X for each task.\n\nMutar models include:\n\n* Independent linear models:\n * Independent Lasso estimator\n * Independent Re-weighted (Adaptive) Lasso estimator\n\n* Group-norms multi-task linear models:\n * `GroupLasso`: The Group Lasso is an l1/l2 regularized regression with identical feature supports across tasks `(Yuan and Lin, J. R Statistical Society 2006) `_.\n * `DirtyModel`: Dirty models are a generalization of the Group Lasso with a partial overlap of features. They are defined using a composite l1/l2 and l1 regularization `(Jalali et al., NeurIPS 2010) `_.\n * `MultiLevelLasso` : Multilevel Lasso is a non-convex model that enhances further sparsity and encourages partial overlap with a product decomposition `(Lozano and Swirszcz, ICML 2012) `_.\n\n* Optimal transport regularized models:\n * `MTW`: Multi-task Wasserstein is a sparse regression model where relevant features across tasks are close according to some defined geometry. `(Janati et al., AISTATS 2019) `_.\n * `ReMTW`: Reweighted MTW is a non-convex variant of MTW that promotes even more sparsity and reduces the amplitude bias caused by the L1 norm. Both models are implemented with a `concomitant` argument for inferring the standard deviation of each task and adapting the amount of regularization accordingly.\n\n\nInstallation\n------------\n\nTo install the last release of MuTaR:\n\n::\n\n pip install -U mutar\n\n\nTo get the current development version:\n::\n\n git clone https://github.com/hichamjanati/mutar\n cd mutar\n python setup.py develop\n\nWe recommend creating this minimal `conda env `_\n\n::\n\n conda env create --file environment.yml\n conda activate mutar-env\n git clone https://github.com/hichamjanati/mutar\n cd mutar\n python setup.py develop\n\nExample\n-------\n\n.. code:: python\n\n >>> import numpy as np\n >>> from mutar import GroupLasso\n >>> # create some X (n_tasks, n_samples, n_features)\n >>> X = np.array([[[3., 1.], [2., 0.]], [[0., 2.], [-1., 3.]]])\n >>> print(X.shape)\n (2, 2, 2)\n >>> # and target y (n_tasks, n_samples)\n >>> y = np.array([[-3., 1.], [1., -2.]])\n >>> print(y.shape)\n (2, 2)\n >>> gl = GroupLasso(alpha=1.)\n >>> coef = gl.fit(X, y).coef_\n >>> print(coef.shape)\n (2, 2)\n >>> # coefficients (n_features, n_tasks)\n >>> # share the same support\n >>> print(coef)\n [[-0.8 0.6]\n [-0. -0. ]]\n\n\nDocumentation\n-------------\n\nSee the doc and use examples at the `MuTaR webpage `_.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "https://github.com/hichamjanati/mutar", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hichamjanati/mutar", "keywords": "", "license": "new BSD", "maintainer": "H. Janati", "maintainer_email": "hicham.janati@inria.fr", "name": "mutar", "package_url": "https://pypi.org/project/mutar/", "platform": "", "project_url": "https://pypi.org/project/mutar/", "project_urls": { "Download": "https://github.com/hichamjanati/mutar", "Homepage": "https://github.com/hichamjanati/mutar" }, "release_url": "https://pypi.org/project/mutar/0.0.1/", "requires_dist": [ "numpy", "scikit-learn", "numba (>=0.40.1)", "sphinx ; extra == 'docs'", "sphinx-gallery ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "numpydoc ; extra == 'docs'", "matplotlib ; extra == 'docs'", "pytest ; extra == 'tests'", "pytest-cov ; extra == 'tests'" ], "requires_python": "", "summary": "Multi-Task Regression in Python", "version": "0.0.1" }, "last_serial": 5776239, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d051e25e99b5e74081076729d820424e", "sha256": "585006421339dc5f546fc51745cf919aad8ade0410bbfbca23cc49172e8205e4" }, "downloads": -1, "filename": "mutar-0.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d051e25e99b5e74081076729d820424e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 100285, "upload_time": "2019-09-03T14:16:26", "url": "https://files.pythonhosted.org/packages/e4/fe/e47fa097c15246cb10adfc55b69d6788e9e6f46fb4c34ac58e9b55634b26/mutar-0.0.1-cp36-cp36m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "172b5ce20c117006b7970a3392eb1eee", "sha256": "4c23cd4e3ee289c1c976004df3de957f777848d34874ad660e3eacba84dc689a" }, "downloads": -1, "filename": "mutar-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "172b5ce20c117006b7970a3392eb1eee", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19350, "upload_time": "2019-09-03T14:16:31", "url": "https://files.pythonhosted.org/packages/f3/49/73fcd42ab4a8242411d43c9599acd1c09cd447a130e9892790a557245b6e/mutar-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d77fc29f42c641bc462b5cf31c82ea68", "sha256": "951744ff05f102f979f3290faceed9062fe8a333ade2ac9c7d7c56337ec4e4a9" }, "downloads": -1, "filename": "mutar-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d77fc29f42c641bc462b5cf31c82ea68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 278313, "upload_time": "2019-09-03T14:16:35", "url": "https://files.pythonhosted.org/packages/fd/1f/1133823b313eba87c8de24b76c318858821bd22cc3f45e0949fe48f8d19a/mutar-0.0.1.tar.gz" } ], "0.0.1.dev0": [ { "comment_text": "", "digests": { "md5": "09b99e92cda20b2515f174910bb3ecf2", "sha256": "c6c48430783447e6530cc30cb213607f168e99468c1ad302629bc93d23ec71d1" }, "downloads": -1, "filename": "mutar-0.0.1.dev0-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "09b99e92cda20b2515f174910bb3ecf2", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 100318, "upload_time": "2019-09-03T14:16:29", "url": "https://files.pythonhosted.org/packages/b6/bf/c02fb5b378ff717a42e94c830a78919e42560e1bee4e8272965b6ce5e2ff/mutar-0.0.1.dev0-cp36-cp36m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "1b839ac16504f91e4d7f3be3eb76461b", "sha256": "bf57b6bb118c76e78cc01f5b07fa471aab821a2122f55fd05853113cce3174b8" }, "downloads": -1, "filename": "mutar-0.0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "1b839ac16504f91e4d7f3be3eb76461b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 278252, "upload_time": "2019-09-03T14:16:33", "url": "https://files.pythonhosted.org/packages/ec/b5/8ce092f67744c0093d38a9836d8ed8cfc15b778858402a1c227495f51c11/mutar-0.0.1.dev0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d051e25e99b5e74081076729d820424e", "sha256": "585006421339dc5f546fc51745cf919aad8ade0410bbfbca23cc49172e8205e4" }, "downloads": -1, "filename": "mutar-0.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d051e25e99b5e74081076729d820424e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 100285, "upload_time": "2019-09-03T14:16:26", "url": "https://files.pythonhosted.org/packages/e4/fe/e47fa097c15246cb10adfc55b69d6788e9e6f46fb4c34ac58e9b55634b26/mutar-0.0.1-cp36-cp36m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "172b5ce20c117006b7970a3392eb1eee", "sha256": "4c23cd4e3ee289c1c976004df3de957f777848d34874ad660e3eacba84dc689a" }, "downloads": -1, "filename": "mutar-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "172b5ce20c117006b7970a3392eb1eee", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 19350, "upload_time": "2019-09-03T14:16:31", "url": "https://files.pythonhosted.org/packages/f3/49/73fcd42ab4a8242411d43c9599acd1c09cd447a130e9892790a557245b6e/mutar-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "d77fc29f42c641bc462b5cf31c82ea68", "sha256": "951744ff05f102f979f3290faceed9062fe8a333ade2ac9c7d7c56337ec4e4a9" }, "downloads": -1, "filename": "mutar-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d77fc29f42c641bc462b5cf31c82ea68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 278313, "upload_time": "2019-09-03T14:16:35", "url": "https://files.pythonhosted.org/packages/fd/1f/1133823b313eba87c8de24b76c318858821bd22cc3f45e0949fe48f8d19a/mutar-0.0.1.tar.gz" } ] }