A Python pip package to apply topsis approach to rank the entries in a dataset
Project description
TOPSIS-Python
Project 1 : UCS633 DATA ANALYSIS AND VISUALIZATION
Submitted By: Yash Saxena 101703627
pypi: https://pypi.org/project/topsis-yash-saxena/
git: https://github.com/yashsaxena972/topsis
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. More details at wikipedia.
How to use this package?
TOPSIS-YASH-SAXENA can be run as in the following example:
In Command Prompt
>> topsis data.csv "1,1,1,1" "+,+,-,+"
In Python IDLE:
>>> import pandas as pd
>>> from topsis_python.topsis import topsis
>>> dataset = pd.read_csv('data.csv').values
>>> d = dataset[:,1:]
>>> w = [1,1,1,1]
>>> im = ["+" , "+" , "-" , "+" ]
>>> topsis(d,w,im)
Sample dataset
The decision matrix (a
) 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 (w
) is not already normalised will be normalised later in the code.
Information of benefit positive(+) or negative(-) impact criteria should be provided in I
.
Output
Model Score Rank
----- -------- ----
1 0.77221 2
2 0.225599 5
3 0.438897 4
4 0.523878 3
5 0.811389 1
The rankings are displayed in the form of a table using a package 'tabulate', with the 1st rank offering us the best decision, and last rank offering the worst decision making, according to TOPSIS method.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for topsis_yash_saxena-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc905715b5992590ad33afec8849391793c66bd413696813322147c13fe1cea3 |
|
MD5 | b78d2c4fd630b534afe7ddeb8667d9bc |
|
BLAKE2b-256 | 18f2b766e04d889c05f2ed73858afb8816239ec4e7af4f9bc71239e2b44651ee |