# TOPSIS
TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) is a decision-making technique applied in order to rank potential solutions on the basis of multiple criteria.
## Installation
This package requires [Python](https://www.python.org/downloads/) v3.5+ to run.
Use ```pip``` to install:
```
pip install topsis-amrita-102017017
```
## OS Compatibility
It should work on any Python implementation and operating system and is compatible with Python version 3.5 and upwards.
## Usage
Run ```topsis``` in the input file's directory as follows:
```
topsis <input_file_name> <weights> <impacts> <output_file_name>
```
For example,
```
topsis data.csv 1,1,1,1 +,-,+,- result.csv
```
Use quotation marks while including spaces in any argument:
```
topsis data.csv "1, 1, 1, 1" "+, -, +, -" result.csv
```
- Input and output file format should be .CSV
- First column in the input file should be the object name
- Input file must have at least 2 criteria, and all criterion values should be numeric
- Weights must be numeric and comma-separated. For example, ```0.25,0.25,1.0,0.25``` or ```"0.25,0.25,1.0,0.25"```.
- Impacts must be comma-separated with ```+``` for criteria that are to be maximised, and ```-``` for criteria that are to be minimised. For example, ```+,-,+,-``` or ```"+, -, +, -"```
## Example
Consider **input.csv**:
|Model|Corr|R2|RMSE|Accuracy|
|---|---|---|---|---|
|M1|0.79|0.62|1.25|60.89|
|M2|0.66|0.44|2.89|63.07|
|M3|0.56|0.31|1.57|62.87|
|M4|0.82|0.67|2.68|70.19|
|M5|0.75|0.56|1.3|80.39|
If we run the following command:
```
topsis input.csv "1, 1, 1, 1" "+, +, -, +" result.csv
```
we get a file named **result.csv** in the directory with an additional 2 columns containing the TOPSIS score and the rank of each object:
|Model|Corr|R2|RMSE|Accuracy|TOPSIS Score|Rank|
|---|---|---|---|---|---|---|
|M1|0.79|0.62|1.25|60.89|0.7722097345612788|2.0|
|M2|0.66|0.44|2.89|63.07|0.22559875426413367|5.0|
|M3|0.56|0.31|1.57|62.87|0.43889731728018605|4.0|
|M4|0.82|0.67|2.68|70.19|0.5238778712729114|3.0|
|M5|0.75|0.56|1.3|80.39|0.8113887082429979|1.0|
## License
MIT
Raw data
{
"_id": null,
"home_page": "",
"name": "Topsis-Amrita-102017017",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "python,TOPSIS,MCDM,MCDA,statistics,prescriptive analytics,cli",
"author": "Amrita Bhatia",
"author_email": "<nonie.bhatia@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c1/f0/235d182bf27eed2b53c443891d2cd80592fb79bc0a258bddfeb05d41decb/Topsis-Amrita-102017017-1.0.0.tar.gz",
"platform": null,
"description": "# TOPSIS\r\nTOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) is a decision-making technique applied in order to rank potential solutions on the basis of multiple criteria.\r\n\r\n## Installation\r\nThis package requires [Python](https://www.python.org/downloads/) v3.5+ to run.\r\nUse ```pip``` to install:\r\n```\r\npip install topsis-amrita-102017017\r\n```\r\n\r\n## OS Compatibility\r\nIt should work on any Python implementation and operating system and is compatible with Python version 3.5 and upwards.\r\n\r\n## Usage\r\nRun ```topsis``` in the input file's directory as follows:\r\n```\r\ntopsis <input_file_name> <weights> <impacts> <output_file_name>\r\n```\r\nFor example,\r\n```\r\ntopsis data.csv 1,1,1,1 +,-,+,- result.csv\r\n```\r\nUse quotation marks while including spaces in any argument:\r\n```\r\ntopsis data.csv \"1, 1, 1, 1\" \"+, -, +, -\" result.csv\r\n```\r\n\r\n- Input and output file format should be .CSV\r\n- First column in the input file should be the object name\r\n- Input file must have at least 2 criteria, and all criterion values should be numeric\r\n- Weights must be numeric and comma-separated. For example, ```0.25,0.25,1.0,0.25``` or ```\"0.25,0.25,1.0,0.25\"```.\r\n- Impacts must be comma-separated with ```+``` for criteria that are to be maximised, and ```-``` for criteria that are to be minimised. For example, ```+,-,+,-``` or ```\"+, -, +, -\"```\r\n\r\n## Example\r\nConsider **input.csv**:\r\n|Model|Corr|R2|RMSE|Accuracy|\r\n|---|---|---|---|---|\r\n|M1|0.79|0.62|1.25|60.89|\r\n|M2|0.66|0.44|2.89|63.07|\r\n|M3|0.56|0.31|1.57|62.87|\r\n|M4|0.82|0.67|2.68|70.19|\r\n|M5|0.75|0.56|1.3|80.39|\r\n\r\nIf we run the following command:\r\n```\r\ntopsis input.csv \"1, 1, 1, 1\" \"+, +, -, +\" result.csv\r\n```\r\nwe get a file named **result.csv** in the directory with an additional 2 columns containing the TOPSIS score and the rank of each object:\r\n|Model|Corr|R2|RMSE|Accuracy|TOPSIS Score|Rank|\r\n|---|---|---|---|---|---|---|\r\n|M1|0.79|0.62|1.25|60.89|0.7722097345612788|2.0|\r\n|M2|0.66|0.44|2.89|63.07|0.22559875426413367|5.0|\r\n|M3|0.56|0.31|1.57|62.87|0.43889731728018605|4.0|\r\n|M4|0.82|0.67|2.68|70.19|0.5238778712729114|3.0|\r\n|M5|0.75|0.56|1.3|80.39|0.8113887082429979|1.0|\r\n\r\n## License\r\nMIT\r\n",
"bugtrack_url": null,
"license": "",
"summary": "A command line tool to perform TOPSIS, a multi-criteria decision making technique",
"version": "1.0.0",
"split_keywords": [
"python",
"topsis",
"mcdm",
"mcda",
"statistics",
"prescriptive analytics",
"cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "960c42d1b239f2be497b3b450e5beea199a6f6d05ff7c28cb31bc2bd6babdb8f",
"md5": "1552f2a3145e7d4f0c5a75213ce960f8",
"sha256": "ffc9a5ae27ad4c4f390ee7f0f1d0c3ab9fe50436c5c87749451e24d793de114d"
},
"downloads": -1,
"filename": "Topsis_Amrita_102017017-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1552f2a3145e7d4f0c5a75213ce960f8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 5034,
"upload_time": "2023-01-18T17:53:10",
"upload_time_iso_8601": "2023-01-18T17:53:10.743106Z",
"url": "https://files.pythonhosted.org/packages/96/0c/42d1b239f2be497b3b450e5beea199a6f6d05ff7c28cb31bc2bd6babdb8f/Topsis_Amrita_102017017-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c1f0235d182bf27eed2b53c443891d2cd80592fb79bc0a258bddfeb05d41decb",
"md5": "5315ab392959f2210184da57433227a7",
"sha256": "3154c8b68852292e9c66c389186a4dcbde6faa7b562a9b4d89396ef88472746a"
},
"downloads": -1,
"filename": "Topsis-Amrita-102017017-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "5315ab392959f2210184da57433227a7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 4409,
"upload_time": "2023-01-18T17:53:13",
"upload_time_iso_8601": "2023-01-18T17:53:13.035125Z",
"url": "https://files.pythonhosted.org/packages/c1/f0/235d182bf27eed2b53c443891d2cd80592fb79bc0a258bddfeb05d41decb/Topsis-Amrita-102017017-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-18 17:53:13",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "topsis-amrita-102017017"
}