{ "info": { "author": "Institute of Digital Games, University of Malta", "author_email": "plt.digitalgames@um.edu.mt", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: Microsoft :: Windows :: Windows 10", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": "# PLT - Preference Learning Toolbox\n\n> A toolbox for preference learning implemented in Python.\n\n![Image](http://plt.institutedigitalgames.com/img/plt_header_logo_final_transparent_2_small.png \"PLT logo\")\n\nPreference learning (PL) is a core area of machine learning that handles datasets with ordinal relations. As the\nnumber of generated data of ordinal nature such as ranks and subjective ratings is increasing, the importance and\nrole of the PL field becomes central within machine learning research and practice.\n\nThe Preference Learning Toolbox (PLT) is an open source software application and package which supports the key\ndata modelling phases incorporating various popular data pre-processing, feature selection and preference\nlearning methods.\n\n![Image](http://plt.institutedigitalgames.com/img/index_plt.png \"PLT Screenshot\")\n\nPLT may be used either via its GUI or its API. This ``README`` is based on the API which is made available via the Python package **pyplt**. For more information on the GUI or to download the GUI application, please visit the [PLT website](http://plt.institutedigitalgames.com/index.php).\n\nThe API documentation may be found at: [https://plt.readthedocs.io/](https://plt.readthedocs.io/en/latest/).\n\n## Features:\n* Dataset Pre-processing (including automatic feature extraction)\n* Automatic Feature Selection (SFS)\n* Preference Learning Algorithms (RankSVM, ANN-Backpropagation, RankNet)\n* Experiment Reporting and Model Storage\n\n## Installation:\n\nThe Python package for PLT, **pyplt**, may be installed via pip:\n\n```bash\npip install pyplt\n```\n\n## Usage Example:\n\nThe following example loads a dataset in the single file format (refer to [Detailed Guidelines](http://plt.institutedigitalgames.com/howto.php) for more information about file formats) and carries out preference learning using the RankSVM algorithm and K-Fold Cross Validation. At the end, the results are saved to file.\n\n```python\nfrom pyplt.experiment import Experiment\nfrom pyplt.plalgorithms.ranksvm import RankSVM\nfrom pyplt.util.enums import KernelType\nfrom pyplt.evaluation.cross_validation import KFoldCrossValidation\nimport time\n\nexp = Experiment()\n\n# load ratings data\nexp.load_single_data(\"sample data sets\\\\single_synth.csv\", has_ids=True, has_fnames=True)\n\n# set up RankSVM algorithm\npl_algorithm = RankSVM(kernel=KernelType.RBF, gamma=1)\nexp.set_pl_algorithm(pl_algorithm)\n\n# set up K-Fold Cross Validation\npl_evaluator = KFoldCrossValidation(k=3)\nexp.set_pl_evaluator(pl_evaluator)\n\n# run the experiment\nexp.run()\n\n# save the results\nt = time.time()\nexp.save_exp_log(t, path=\"my_results.csv\")\n\n```\n\nFor more a more detailed usage guide, please check out the [tutorial](http://plt.institutedigitalgames.com/docs/tutorial_experiment.html).\n\n## Development Setup\n\nPLT has the following package dependencies:\n* keras\n* ttkthemes\n* numpy\n* matplotlib\n* pandas\n* tensorflow\n* scikit_learn\n* scipy\n\nThese depenencies may be easily istalled via pip:\n\n```bash\npip install -r requirements.txt\n```\n\n## Citing\n\nThe tool is free for scientific use. If you use PLT in your scientific work, please cite as:\n\nFarrugia, Vincent E., H\u00c3\u00a9ctor P. Mart\u00c3\u00adnez, and Georgios N. Yannakakis. \n\"The Preference Learning Toolbox.\" arXiv preprint arXiv:1506.01709 (2015)\n\n## License\n\nPLT is licensed under the GNU General Public License v3.0. See ``LICENSE`` for more information.\n\n\n\n", "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/institutedigitalgames/PLT", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyplt", "package_url": "https://pypi.org/project/pyplt/", "platform": "", "project_url": "https://pypi.org/project/pyplt/", "project_urls": { "Homepage": "https://github.com/institutedigitalgames/PLT" }, "release_url": "https://pypi.org/project/pyplt/0.2.3/", "requires_dist": [ "keras (==2.2.4)", "ttkthemes (==2.1.0)", "numpy (==1.14.2)", "matplotlib (==2.2.2)", "pandas (==0.22.0)", "tensorflow (==1.7.0)", "scikit-learn (==0.19.1)", "scipy (==1.0.1)" ], "requires_python": "", "summary": "A toolbox for preference learning implemented in Python.", "version": "0.2.3" }, "last_serial": 5125572, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d69e7af28169fb7c00b531bea0b0694e", "sha256": "e6b4ed78ee06c8abd16488269e60ce4f9cd11264746c137014c94bd58934911b" }, "downloads": -1, "filename": "pyplt-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d69e7af28169fb7c00b531bea0b0694e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 190970, "upload_time": "2019-01-31T17:27:05", "url": "https://files.pythonhosted.org/packages/ac/99/acbc9c88452bdd130fe73a9c9b78575f434dd40d564642fb15953e7838e4/pyplt-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "965306638032c46708dfd0d3bfb497e2", "sha256": "3baec5de6d887b9c5e145cbd6284318623ed2c414325c4e7d074c7abb6b32a92" }, "downloads": -1, "filename": "pyplt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "965306638032c46708dfd0d3bfb497e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217263, "upload_time": "2019-01-31T17:27:14", "url": "https://files.pythonhosted.org/packages/99/cf/64fc8a1ed3bd7bd87c75dcc55c7643c2e5bb168406fb6d9d29963a1c50c6/pyplt-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ad4cfbb2a501d12eca0ae20c50641c0c", "sha256": "3ff9fbd274f53407d7865c3a749a9de66c7f9db7274b99f10b4e3d2d767ee76e" }, "downloads": -1, "filename": "pyplt-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ad4cfbb2a501d12eca0ae20c50641c0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191002, "upload_time": "2019-01-31T17:27:08", "url": "https://files.pythonhosted.org/packages/d8/61/6d0dcf43959d79dd45ad33dccfd7cc44c839ba6d16120f6c760f2bf16c19/pyplt-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8caded8dc9b21cf4f0cd341140de0590", "sha256": "87fb44968ddda79f5003095eedae0f351bc20741bd27e3fdeda44e0623acbf9c" }, "downloads": -1, "filename": "pyplt-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8caded8dc9b21cf4f0cd341140de0590", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217285, "upload_time": "2019-01-31T17:27:15", "url": "https://files.pythonhosted.org/packages/95/4f/fcf5adb251282d29bb787bd4f95d30af5f6a7d1a749582fce407c787687a/pyplt-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ae9398356eb1d41bf73c3785cfc69058", "sha256": "e1746a1cf78faba4cdbb10f1375cc17e235f133abc535991b88a52335b701947" }, "downloads": -1, "filename": "pyplt-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ae9398356eb1d41bf73c3785cfc69058", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191519, "upload_time": "2019-01-31T17:27:10", "url": "https://files.pythonhosted.org/packages/e1/58/17f20a6ca430eff9e420e09ccda6c0b323f732c7fa3689c3a248ca447da8/pyplt-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63732307b0cc1d52b714aafa5b03c19a", "sha256": "570e22829382655a97b5f00805d9a735d0dcbdeaa8fa3ab0ffe90ad00e9fef75" }, "downloads": -1, "filename": "pyplt-0.1.2.tar.gz", "has_sig": false, "md5_digest": "63732307b0cc1d52b714aafa5b03c19a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217611, "upload_time": "2019-01-31T17:27:17", "url": "https://files.pythonhosted.org/packages/e5/a0/96f9c7cbd679b1c762e17fd61a840ed0ba81ba7282656a9bb591b0fcacf5/pyplt-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5a7d15bd127699edae8726d345a97cd9", "sha256": "f8c36e7035ec7207f5a6f4b48255d96fc61d8951d478ab54f28eae0bb330673d" }, "downloads": -1, "filename": "pyplt-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5a7d15bd127699edae8726d345a97cd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191553, "upload_time": "2019-01-31T17:27:12", "url": "https://files.pythonhosted.org/packages/c4/8b/7febc7f2a5dfbb91759debb4d27a9620d71db5d657b1996815876be206b7/pyplt-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0163722ab7feeff0ce37b2d7f41050ea", "sha256": "2815f31b6bfef1ba2a3895a8b5590dd0371e194ed6454529b547e06dbd4aceb9" }, "downloads": -1, "filename": "pyplt-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0163722ab7feeff0ce37b2d7f41050ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217704, "upload_time": "2019-01-31T17:27:18", "url": "https://files.pythonhosted.org/packages/29/7f/cf6da1987255d9e3aa7a533a7d104312cb5e5aab34f6fbd87e1238f64cc9/pyplt-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e60135d30a5ae33a98b6a4442bd1c041", "sha256": "39b798f8f1d784f776e055c7b9fd983399ddf92981d6b560b3e9e47b5d4996db" }, "downloads": -1, "filename": "pyplt-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e60135d30a5ae33a98b6a4442bd1c041", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 191696, "upload_time": "2019-02-05T16:54:44", "url": "https://files.pythonhosted.org/packages/7e/38/a61df8a1c1a2c1375e3408ca7ace38848a6d50df8d85953b8477cbd424d0/pyplt-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01b3be7d5629198d56ad1fb1fb4c53b9", "sha256": "4075d69446f895783608d2ebe1ce2b5f7c4aa243a9d8ab302e5c14fc06dd49c0" }, "downloads": -1, "filename": "pyplt-0.1.4.tar.gz", "has_sig": false, "md5_digest": "01b3be7d5629198d56ad1fb1fb4c53b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217903, "upload_time": "2019-02-05T16:54:49", "url": "https://files.pythonhosted.org/packages/6f/7c/7db0b6fa57ce969cc351b9b567b4a353dc44fb06aa901296ea1cb744e35f/pyplt-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bd67542f6c7d8614340919be8c0e79cd", "sha256": "ffb8421f53bc96daae89bf1fc07b21415b09af66582027b11dd83a84c99af6b8" }, "downloads": -1, "filename": "pyplt-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bd67542f6c7d8614340919be8c0e79cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 226587, "upload_time": "2019-03-25T12:35:07", "url": "https://files.pythonhosted.org/packages/12/67/8522a507ba46065280af451e000f98455f04145446f4ab9571663f421764/pyplt-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "057dcb6420ff83d6a556852c24aa723f", "sha256": "d46741e15d98de8f1fb9bfeab664f24f2e7fe16552a0c0680929c8d2cedca698" }, "downloads": -1, "filename": "pyplt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "057dcb6420ff83d6a556852c24aa723f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 247089, "upload_time": "2019-03-25T12:35:12", "url": "https://files.pythonhosted.org/packages/88/4e/fe7e7b4f0ff44886c5cce601db4c9a364cb62a1e207475d403150ea94831/pyplt-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "24bb10ed1b3faeae29236a2f2a23a47c", "sha256": "7e842db8276e61ab85448d66fb7ed5074e9b2ad06704f85aec7c09a258e6ed71" }, "downloads": -1, "filename": "pyplt-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "24bb10ed1b3faeae29236a2f2a23a47c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 226775, "upload_time": "2019-03-27T15:39:15", "url": "https://files.pythonhosted.org/packages/d7/a7/72f72f506deb33ff0bba3be3d83ac2e4a0b2f1a2dbcaa2cb3b711395f82a/pyplt-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0a7d32d3988427d4bc690a8b44e154a", "sha256": "5f52b6a29310f514409dcd438ab0c6318d28a22f4a83b9989bca1cd6d217f8e7" }, "downloads": -1, "filename": "pyplt-0.2.1.tar.gz", "has_sig": false, "md5_digest": "c0a7d32d3988427d4bc690a8b44e154a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 247267, "upload_time": "2019-03-27T15:39:21", "url": "https://files.pythonhosted.org/packages/b7/b6/adc41acff4d0a2e41bef26c1a8c4fbd405e2f4e63c9563f570d53fe6a2d9/pyplt-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "dcf597cb68ea03f3f32f5c5ee4ac50d6", "sha256": "b96b45ac395302806f1b247b96c8c0c5b3899dc9499ee0a58bd40ad4b33bb676" }, "downloads": -1, "filename": "pyplt-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dcf597cb68ea03f3f32f5c5ee4ac50d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224060, "upload_time": "2019-04-02T13:12:05", "url": "https://files.pythonhosted.org/packages/97/b8/5b5b7ef71591e5623372d0528e83671ab65daaf1068c0f2f6417e8155edf/pyplt-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e83ff9fa5dc3a05f0d5582ee97f0233", "sha256": "d4070485f5e06cffe732e61e19c912158dc38046d275cefb8e225af5397748ac" }, "downloads": -1, "filename": "pyplt-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4e83ff9fa5dc3a05f0d5582ee97f0233", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 245579, "upload_time": "2019-04-02T13:12:08", "url": "https://files.pythonhosted.org/packages/f6/a6/e0b599abb4527e2f6f164cc8b0f1e109f4f7213262fd3e6de77a4794c05f/pyplt-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "0a0dce60531e62966339e499cbc71d30", "sha256": "723c28d08046bbf932ff336121ac3220a552df298191181825d0e1ac906aaf5d" }, "downloads": -1, "filename": "pyplt-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0a0dce60531e62966339e499cbc71d30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224101, "upload_time": "2019-04-10T19:13:41", "url": "https://files.pythonhosted.org/packages/ba/83/6c053e119012de2f6a7d19f8c9710fb14db23410fc35fe194686d9126a2b/pyplt-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c0a2d6c0272195442fbc90cffe00043", "sha256": "595afe33525a9c274e56e560ba3999bc2cfdd5bb80263eb4962b96d21089d76c" }, "downloads": -1, "filename": "pyplt-0.2.3.tar.gz", "has_sig": false, "md5_digest": "5c0a2d6c0272195442fbc90cffe00043", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 245693, "upload_time": "2019-04-10T19:13:44", "url": "https://files.pythonhosted.org/packages/af/5b/65f37a63152c483fd2879cf2605aa85f2a3cdd35766498e0cdcb7ddf9d3d/pyplt-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a0dce60531e62966339e499cbc71d30", "sha256": "723c28d08046bbf932ff336121ac3220a552df298191181825d0e1ac906aaf5d" }, "downloads": -1, "filename": "pyplt-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0a0dce60531e62966339e499cbc71d30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 224101, "upload_time": "2019-04-10T19:13:41", "url": "https://files.pythonhosted.org/packages/ba/83/6c053e119012de2f6a7d19f8c9710fb14db23410fc35fe194686d9126a2b/pyplt-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5c0a2d6c0272195442fbc90cffe00043", "sha256": "595afe33525a9c274e56e560ba3999bc2cfdd5bb80263eb4962b96d21089d76c" }, "downloads": -1, "filename": "pyplt-0.2.3.tar.gz", "has_sig": false, "md5_digest": "5c0a2d6c0272195442fbc90cffe00043", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 245693, "upload_time": "2019-04-10T19:13:44", "url": "https://files.pythonhosted.org/packages/af/5b/65f37a63152c483fd2879cf2605aa85f2a3cdd35766498e0cdcb7ddf9d3d/pyplt-0.2.3.tar.gz" } ] }