Skip to main content

TOPSIS ranking and interpretation using WMSD-space

This repository hosts the code for MSDTransformer - a scikit-learn compatible python library, that lets you create TOPSIS rankings of alternatives, visualize rankings in WMSD space, and get suggestions for improvement actions.

Requirements

MSDTransformer uses PySCIPOpt to determine exact WMSD boundaries quickly. If you use conda, you should be fine performing the follwoing command (easier option):

conda install --channel conda-forge pyscipopt

If you use PyPI, then you will need a working installation of the SCIP Optimization Suite (harder option, but might run faster). Please, make sure that your SCIP installation works, before installing MSDTransformer. For more details on how to install SCIP, please refer to the PySCIPOpt documentation.

After installing PySCIPOpt (or if you already have SCIP installed), you can install the other dependencies by running:

pip install -r requirements.txt

Installation

Once you have all the dependencies, you can install MSDTransformer from source. To do so, clone the repository and run the following command in the root directory of the repository:

pip install .

Quickstart

import pandas as pd
from MSDTransformer import MSDTransformer

df = pd.read_csv("../data/students.csv", sep=';', index_col= 0)
students_transformer = MSDTransformer("R") # Relative distance
students_transformer.fit(df, expert_range=[[0,100],[1,6],[1,6]])
students_transformer.transform(df)

Transformed data frame

students_transformer.show_ranking()

Ranking

students_transformer.plot()

MSD plot

Citation

If you use this project in your research, please consider citing the following papers:

Release files for wmsd 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for wmsd 1.0.0
File Interpreter ABI Platform
wmsd-1.0.0-py3-none-any.whl Python 3 none any Details

Release files / wmsd-1.0.0-py3-none-any.whl

Download URL wmsd-1.0.0-py3-none-any.whl
Size 16.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81579808e32eba923b85499d16a4e049f64775b6b8cd703de882c17f96e65884
BLAKE2b-256 checksum
How to use checksums
6a5dc92cb562c7671d1b9ae72beb8289bd9640870eb860b9ca92c4b5852012ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page