# Topsis
Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS)
MCDM for algorithm selection
Multiple-criteria decision methods (MCDM) can help decisions with more than one criterion. These methods can be applied to several business problems like supplier evaluation, project prioritizing, and raw material selection. They also can be used in personal situations like consumer goods choice. This work aims to use a multicriteria decision method to help on algorithm selection.
It is a multi-criteria decision analysis method that is based on the concept that the chosen alternative should have the shortest geometric distance to the Positive Ideal Solution (PIS) and the longest geometric solution from the Negative Ideal Solution (NIS).
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install topsis_102003313.
```bash
pip install topsis-102003313
```
-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 "+, -, +, -"
## Usage
Enter csv filename followed by _.csv_ extentsion, then enter the _weights_ vector with vector values separated by commas, followed by the _impacts_ vector with comma separated signs _(+,-)_, and lastly the _outputFileName_.
## Example
Consider **sample.csv**:
|Model|Correlation|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:
```bash
python topsis.py sample.csv "1,1,1,1" "+,-,+,+" outputFile.csv
```
we get a file named **outputFile.csv** in the directory with an additional 2 columns containing the TOPSIS score and the rank of each object:
|Model|Correlation|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": "https://github.com/Radhika980/Topsis-Radhika",
"name": "TOPSIS-Radhika-102003313",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "A simple but powerful decision method",
"author": "Radhika",
"author_email": "aggarwalradhika9800@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ab/ae/0f6d006d5cd30d6bdb469c1b431abe26098b603708b26c53a4885b03d962/TOPSIS-Radhika-102003313-1.1.1.tar.gz",
"platform": null,
"description": "# Topsis\r\n\r\nTechnique for Order of Preference by Similarity to Ideal Solution (TOPSIS)\r\n\r\nMCDM for algorithm selection\r\nMultiple-criteria decision methods (MCDM) can help decisions with more than one criterion. These methods can be applied to several business problems like supplier evaluation, project prioritizing, and raw material selection. They also can be used in personal situations like consumer goods choice. This work aims to use a multicriteria decision method to help on algorithm selection.\r\n\r\nIt is a multi-criteria decision analysis method that is based on the concept that the chosen alternative should have the shortest geometric distance to the Positive Ideal Solution (PIS) and the longest geometric solution from the Negative Ideal Solution (NIS).\r\n\r\n## Installation\r\n\r\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install topsis_102003313.\r\n\r\n```bash\r\npip install topsis-102003313\r\n```\r\n\r\n-Input and output file format should be .CSV\r\n\r\n-First column in the input file should be the object name\r\n\r\n-Input file must have at least 2 criteria, and all criterion values should be numeric\r\n\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\r\n-Impacts must be comma-separated with + for criteria that are to be maximised, and - for criteria that are to be minimised.\r\n\r\n-For example, +,-,+,- or \"+, -, +, -\"\r\n\r\n## Usage\r\n\r\nEnter csv filename followed by _.csv_ extentsion, then enter the _weights_ vector with vector values separated by commas, followed by the _impacts_ vector with comma separated signs _(+,-)_, and lastly the _outputFileName_.\r\n\r\n## Example\r\n\r\nConsider **sample.csv**:\r\n|Model|Correlation|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\n```bash\r\npython topsis.py sample.csv \"1,1,1,1\" \"+,-,+,+\" outputFile.csv\r\n```\r\n\r\nwe get a file named **outputFile.csv** in the directory with an additional 2 columns containing the TOPSIS score and the rank of each object:\r\n|Model|Correlation|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\n\r\nMIT\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python package to find TOPSIS for multi-criteria decision analysis method",
"version": "1.1.1",
"split_keywords": [
"a",
"simple",
"but",
"powerful",
"decision",
"method"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "abae0f6d006d5cd30d6bdb469c1b431abe26098b603708b26c53a4885b03d962",
"md5": "8eec1e400da8cd29e8ef765ebad9799d",
"sha256": "16346b8a7c7238673896ee52c4351dd4e0d58556d92b794dcf23f79abb302830"
},
"downloads": -1,
"filename": "TOPSIS-Radhika-102003313-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "8eec1e400da8cd29e8ef765ebad9799d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5087,
"upload_time": "2023-01-22T12:34:16",
"upload_time_iso_8601": "2023-01-22T12:34:16.333683Z",
"url": "https://files.pythonhosted.org/packages/ab/ae/0f6d006d5cd30d6bdb469c1b431abe26098b603708b26c53a4885b03d962/TOPSIS-Radhika-102003313-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-22 12:34:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Radhika980",
"github_project": "Topsis-Radhika",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "topsis-radhika-102003313"
}