PyMCDM - Re-identify
Python 3 library for re-identification of multi-criteria models.
Documentation is avaliable on readthedocs.
Installation
You can download and install pymcdm-reidentify library using pip:
pip install pymcdm-reidentify
You can run all tests with following command from the root of the project:
python -m unittest -v
Available methods
The library contains:
- Re-identification methods:
| Acronym | Method Name | Reference |
|---|---|---|
| SESP | Stochastic Expected Solution Point | [1] |
| SITCOM | Stochastic IdenTifiCation Of Models | [2] |
| SITW | Stochastic IdenTification of Weights | [3] |
| SITWLocal | Stochastic IdenTification of Weights - Local weights approach | [4] |
| STFN | Stochastic Triangular Fuzzy Numbers | [5] |
| STRFN | Stochastic Trapezoidal Fuzzy Number | -- |
- Normalization methods:
| Acronym | Method Name | Reference |
|---|---|---|
| FN | Fuzzy Normalization | [6] |
- COMET Tools
| Acronym | Method Name | Reference |
|---|---|---|
| MLExpert | Class which allows to evaluate CO in COMET using any Machine Learning method. | [7] |
Usage example
Below is a simple example of the re-identification of a decision-making model. For more examples with explanation see examples.
import numpy as np
from mealpy.swarm_based.PSO import OriginalPSO
from pymcdm.methods import TOPSIS
from pymcdm_reidentify.methods import SITW
# Define exemplary data
# Decision matrix
matrix = np.random.random((1000, 2))
# Types of critieria
types = np.array([-1, 1]) #
# Unknown expert criteria weights
# For purpose of re-identifiaction method
weights = np.random.random((2))
weights = weights / np.sum(weights)
# Define exemplary unknown expert model
preference = TOPSIS()(matrix, weights, types)
rank = TOPSIS().rank(preference)
# Create re-identifiaction object
stoch = OriginalPSO(epoch=1000, pop_size=100)
model = SITW(stoch.solve, TOPSIS(), types)
# Fit model
model.fit(matrix, rank, log_to=None)
References
[1] Kizielewicz, B., Więckowski, J., & Sałabun, W. (2024, June). SESP-SPOTIS: Advancing Stochastic Approach for Re-identifying MCDA Models. In International Conference on Computational Science (pp. 281-295). Cham: Springer Nature Switzerland.
[2] Kizielewicz, B. (2022). Towards the identification of continuous decisional model: the accuracy testing in the SITCOM approach. Procedia Computer Science, 207, 4390-4400.
[3] Kizielewicz, B., Paradowski, B., Więckowski, J., & Sałabun, W. (2022). Identification of weights in multi-cteria decision problems based on stochastic optimization.
[4] Kizielewicz, B., Więckowski, J., Paradowski, B., Shekhovtsov, A., Wątróbski, J., & Sałabun, W. (2024, April). Stochastic Approaches for Criteria Weight Identification in Multi-criteria Decision Analysis. In Asian Conference on Intelligent Information and Database Systems (pp. 40-51). Singapore: Springer Nature Singapore.
[5] Kizielewicz, B., & Dobryakova, L. (2023). Stochastic Triangular Fuzzy Number (S-TFN) Normalization: A New Approach for Nonmonotonic Normalization. Procedia Computer Science, 225, 4901-4911.
[6] Kizielewicz, B., Więckowski, J., Paradowski, B., & Sałabun, W. (2022, July). Dealing with nonmonotonic criteria in decision-making problems using fuzzy normalization. In International conference on intelligent and fuzzy systems (pp. 27-35). Cham: Springer International Publishing.
[7] Kizielewicz, B., Więckowski, J., & Jankowski, J. (2023, September). Towards Re-identification of Expert Models: MLP-COMET in the Evaluation of Bitcoin Networks. In Special Sessions in the Information Technology for Business and Society Track of the Conference on Computer Science and Intelligence Systems (pp. 3-22). Cham: Springer Nature Switzerland.
Metadata
Release files for pymcdm-reidentify 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pymcdm_reidentify-1.0.2.tar.gz | 19.1 kB | Without provenance | Details for pymcdm_reidentify-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pymcdm_reidentify-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for pymcdm_reidentify-1.0.2-py3-none-any.whl |
Total release size: 47.7 kB
Release files / pymcdm_reidentify-1.0.2.tar.gz
| Download URL | pymcdm_reidentify-1.0.2.tar.gz |
|---|---|
| Size | 19.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab6d97d72093184f36cff1bc1dfdae3b3c344382bf10050902b2edcbfbe3a7de
|
|
BLAKE2b-256 checksum How to use checksums |
6e742064598ff3dab4be68a25e314203588d7f28317f94c9e9a72914213d20a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.0
|
Release files / pymcdm_reidentify-1.0.2-py3-none-any.whl
| Download URL | pymcdm_reidentify-1.0.2-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b55e633a06d7da7405605e13830cedbcc00ebb51ced9c1d6111f374ff4c82a6
|
|
BLAKE2b-256 checksum How to use checksums |
d867f02d36f477b773f1c8152d6dbf692cb59ea44c052a8248e7c56d1eab1491
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.0
|
Security for pymcdm-reidentify 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.