semvec/pypi-packages huggingface dataset:
Topsis-Jashan-102003206 1.0.0
Topsis package for Multiple Criteria Decision Making problems(MCDM) problems
License: MIT
Requires Python: >=3.6

# TOPSIS SCORE EVALUATOR

## **Project-1 (UCS654)**
_Submitted by: **Jashan Arora**_ 
_Roll no: **102003206**_
_Group: **3COE9**_

<b>Topsis-Jashan-102003206 is a Python library for dealing with Multiple Criteria Decision Making(MCDM) problems by using Technique for Order of Preference by Similarity to Ideal Solution(TOPSIS).</b> 

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install Topsis-Jashan-102003206.

```bash
pip install Topsis-Jashan-102003206
```

## 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 _(+,-)_, followed by name of output file to be generated. It generates output csv file in the present working directory.
### Syntax

```topsis <input_file> <weights> <impacts> <output_file>```
```bash
topsis input.csv "1,1,1,1" "+,-,+,+" result.csv
```

## Example

#### <b>Data.csv</b>

A csv file containing input showing data for different mobile handsets having varying features.

| Model | Storage space | Camera | Price | Looks |
| :---: | :-----------: | :----: | :---: | :---: |
|  M1   |      16       |   12   |  250  |   5   |
|  M2   |      16       |   8    |  200  |   3   |
|  M3   |      32       |   16   |  300  |   4   |
|  M4   |      32       |   8    |  275  |   4   |
|  M5   |      16       |   16   |  225  |   2   |

<b>weights vector</b> = [ 0.25 , 0.25 , 0.25 , 0.25 ]

<b>impacts vector </b>= [ + , + , - , + ]

### Input:

```python
topsis Data.csv "0.25,0.25,0.25,0.25" "+,+,-,+" Result.csv
```

### Output:

#### <b>Result.csv</b>

A csv file generated by program containing output showing original data with Topsis Score and Rank columns.

| Model | Storage space | Camera | Price | Looks | Topsis Score | Rank  |
| :---: | :-----------: | :----: | :---: | :---: | :----------: | :---: |
|  M1   |      16       |   12   |  250  |   5   |   0.534277   |   3   |
|  M2   |      16       |   8    |  200  |   3   |   0.308368   |   5   |
|  M3   |      32       |   16   |  300  |   4   |   0.691632   |   1   |
|  M4   |      32       |   8    |  275  |   4   |   0.534737   |   2   |
|  M5   |      16       |   16   |  225  |   2   |   0.401046   |   4   |



## Other notes

* The first column and first row are removed by the library before processing, in attempt to remove indices and headers. So make sure the csv follows the format as shown in sample.csv.
* Make sure the csv does not contain categorical values
* Impacts must be either + or - 
* Weights must be numeric only
* Weights and Impacts must be seperated only by commas (' , ')


## License
[MIT](https://choosealicense.com/licenses/mit/)
Topsis-Mritunjay-102003030 1.0.1
Topsis package for Multiple Criteria Decision Making problems(MCDM) problems
License: MIT
Requires Python: >=3.6

# TOPSIS SCORE CALCULATOR
By: **MRITUNJAY-102003030**

### Title: Multiple Criteria Decision Making(MCDM) Using TOPSIS

## WHAT IS TOPSIS
TOPSIS is an acronym that stands for 'Technique of Order Preference Similarity to the Ideal Solution' and is a pretty straightforward MCDA method.
This is a Python library for dealing with Multiple Criteria Decision Making(MCDM) problems by using Technique for Order of Preference by Similarity to Ideal Solution(TOPSIS).

#### HOW TO INSTALL THE TOPSIS PACKAGE
```buildoutcfg
pip install Topsis-Mritunjay-102003030
```

#### FOR CALCULATING THE TOPSIS SCORE
```buildoutcfg
Topsis data.csv "0.25,0.25,0.25,0.25" "+,+,-,+" result.csv
```

##### Input File(Example:data.csv):
Argument used to pass the path of the input file which conatins a dataset having different fields and to perform the topsis mathematical operations
##### Weights(Example:"0.25,0.25,0.25,0.25")
The weights to assigned to the different parameters in the dataset should be passed in the argument.**It must be seperated by ','.**
##### Impacts(Example:"+,+,-,+"):
The impacts are passed to consider which parameters have a positive impact on the decision and which one have the negative impact.**Only '+' and '-' values should be passed and should be seperated with ',' only**
##### Output File(Example:result.csv):
This argument is used to pass the path of the result file where we want the rank and score to be stored.

## EXAMPLE

#### data.csv

A csv file showing data for different mobile handsets having varying features.

| Model  | Storage space(in gb) | Camera(in MP)| Price(in $)  | Looks(out of 5) |
| :----: |:--------------------:|:------------:|:------------:|:---------------:|
| M1 | 16 | 12 | 250 | 5 |
| M2 | 16 | 8  | 200 | 3 |
| M3 | 32 | 16 | 300 | 4 |
| M4 | 32 | 8  | 275 | 4 |
| M5 | 16 | 16 | 225 | 2 |

weights vector = [ 0.25 , 0.25 , 0.25 , 0.25 ]

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

### INPUT:

```python
topsis data.csv "0.25,0.25,0.25,0.25" "+,+,-,+" result.csv
```

### OUTPUT:
```
      TOPSIS RESULTS
-----------------------------

    P-Score  Rank
1  0.534277     3
2  0.308368     5
3  0.691632     1
4  0.534737     2
5  0.401046     4

```