Metadata-Version: 2.1
Name: Topsis-102153035
Version: 1.0
Description-Content-Type: text/markdown
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: scikit-learn

# Technique for Order Preference by Similarity to Ideal Solution (TOPSIS)

Topsis is a method of compensatory aggregation that compares a set of alternatives, normalising scores for each criterion and calculating the geometric distance between each alternative and the ideal alternative, which is the best score in each criterion. 

This package takes a csv data as input and gives a csv file as output with the Topsis scores and rankings

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install foobar.

```bash
pip install Topsis-Siddaharth-102153035
```

## Usage

Open the Command prompt 
```bash
python <input-file.csv> <weights> <impacts> <output.csv> 
```

## Example

Consider this sample.csv file

First column of file is removed by model before processing so follow the following format.

All other columns of file should not contain any categorical values.


| Model | P1   | P2   | P3  | P4   | P5    |
|-------|------|------|-----|------|-------|
| M1    | 0.85 | 0.72 | 4.6 | 41.5 | 11.92 |
| M2    | 0.66 | 0.44 | 6.6 | 49.4 | 14.28 |
| M3    | 0.9  | 0.81 | 6.7 | 66.5 | 18.73 |
| M4    | 0.8  | 0.64 | 6.9 | 69.7 | 19.51 |
| M5    | 0.84 | 0.71 | 4.7 | 36.5 | 10.69 |
| M6    | 0.91 | 0.83 | 3.6 | 42.3 | 11.91 |
| M7    | 0.65 | 0.42 | 6.9 | 38.1 | 11.52 |
| M8    | 0.71 | 0.5  | 3.5 | 60.9 | 16.4  |

weights vector = [ 1,2,1,2,1 ]

impacts vector = [ +,-,+,+,- ]

### Input

```bash
python topsis sample.csv "1,2,1,2,1" "+,-,+,+,-" result.csv
```
### Output

result.csv file will contain the following data

| Model | P1   | P2   | P3  | P4   | P5    | Topsis score       | Rank |
|-------|------|------|-----|------|-------|--------------------|------|
| M1    | 0.85 | 0.72 | 4.6 | 41.5 | 11.92 | 0.3267076760116426 | 6    |
| M2    | 0.66 | 0.44 | 6.6 | 49.4 | 14.28 | 0.6230956090525585 | 2    |
| M3    | 0.9  | 0.81 | 6.7 | 66.5 | 18.73 | 0.5006083702087599 | 5    |
| M4    | 0.8  | 0.64 | 6.9 | 69.7 | 19.51 | 0.6275096427934269 | 1    |
| M5    | 0.84 | 0.71 | 4.7 | 36.5 | 10.69 | 0.3249142875298663 | 7    |
| M6    | 0.91 | 0.83 | 3.6 | 42.3 | 11.91 | 0.2715902624653612 | 8    |
| M7    | 0.65 | 0.42 | 6.9 | 38.1 | 11.52 | 0.5439263412940541 | 4    |
| M8    | 0.71 | 0.5  | 3.5 | 60.9 | 16.4  | 0.6166791918077927 | 3    |


## License

[MIT](https://choosealicense.com/licenses/mit/)
