Topsis-Agam-102016068
for: Project-1 (UCS654) submitted by: Agamjot Singh Roll no: 102016068 Group: 3CS11
What is TOPSIS?
Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) originated in the 1980s as a multi-criteria decision making method. TOPSIS chooses the alternative of shortest Euclidean distance from the ideal solution, and greatest distance from the negative-ideal solution.
Topsis-Agam-102016068 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).
Installation
Use the package manager pip to install Topsis-Agam-102016068.
>> pip install Topsis-Agam-102016068
Usage
Enter csv filename followed by .csv extension, then enter the weights vector with vector values separated by commas, followed by the impacts vector with comma separated signs (+,-), further followed by the filename having .csv extension to store result
>> topsis data.csv "1,1,1,1" "+,-,+,+" res.csv
or vectors can be entered without " "
>> topsis data.csv 1,1,1,1 +,-,+,+ res.csv
But the second representation does not provide for inadvertent spaces between vector values. So, if the input string contains spaces, make sure to enclose it between double quotes (" ").
To view usage help, use
topsis /h
Example
data.csv
The decision matrix should be constructed with each row representing a Model alternative, and each column representing a criterion like Accuracy, R2, Root Mean Squared Error, Correlation, and many more.
| 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 |
Weights (weights) is not already normalised will be normalised later in the code.
Information of benefit positive(+) or negative(-) impact criteria should be provided in impacts.
Input:
topsis data.csv "0.25,0.25,0.25,0.25" "+,+,-,+" result.csv
Output file (result.csv)
| Model | Correlation | R2 | RMSE | Accuracy | Score | Rank |
|---|---|---|---|---|---|---|
| M1 | 0.79 | 0.62 | 1.25 | 60.89 | 0.7722 | 2 |
| M2 | 0.66 | 0.44 | 2.89 | 63.07 | 0.2255 | 5 |
| M3 | 0.56 | 0.31 | 1.57 | 62.87 | 0.4388 | 4 |
| M4 | 0.82 | 0.67 | 2.68 | 70.19 | 0.5238 | 3 |
| M5 | 0.75 | 0.56 | 1.3 | 80.39 | 0.8113 | 1 |
The output file contains columns of input file along with two additional columns having **Score** and **Rank**
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 data.csv.
- Make sure the csv does not contain categorical values
License
Release files for Topsis-Agam-102016068 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Topsis-Agam-102016068-1.0.0.tar.gz | 4.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Topsis_Agam_102016068-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / Topsis-Agam-102016068-1.0.0.tar.gz
| Download URL | Topsis-Agam-102016068-1.0.0.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
243682d294f83934c049b3ec52d4fa74a56a13674f7b84f43eb14086550a7781
|
|
BLAKE2b-256 checksum How to use checksums |
d9a580afcea7ba58d44e2a22a83023f3d43a1c3d0030ad7a397a601897ebbc0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.2
|
Release files / Topsis_Agam_102016068-1.0.0-py3-none-any.whl
| Download URL | Topsis_Agam_102016068-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68bb5252394343a79bc758418985b82e55988f9df5debc931be73b20e028a7ff
|
|
BLAKE2b-256 checksum How to use checksums |
7e95d82a53c7451d09c93e576d98cc09a151ea7386640b29b4ea0ebb9253f32e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.2
|