Metadata-Version: 2.1
Name: Topsis-Amrita-102017017
Version: 0.0.1
Summary: A command line tool to perform TOPSIS, a multi-criteria decision making technique
Author: Amrita Bhatia
Author-email: <nonie.bhatia@gmail.com>
Keywords: python,TOPSIS,MCDM,MCDA,statistics,prescriptive analytics,cli
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE

# 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
