Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Simply install using pip install multi-comp-matrix
and use it as explained in the below example section
This repo is a long term used benchmark method that generates a Multi-Comparison Matrix where the user ca choose whether to include a full pairwise multi-comparate comparison or to choose which ones to be included or excluded in the rows and columns of the matrix.
The input format is in a .csv
file containing the statistics of each classifiers as the format of this example.
In order for the user to plot the MCM, first thing is to load the .csv
file into a pandas
dataframe and feed it to the compare
function. The user should specify the pdf_savename
, png_savename
, csv_savename
or tex_savename
parameter in order to save the output figure in pdf
, png
, csv
or tex
formats respecively.
Generating the MCM on the following example produces the following. To generate the following figure, the user follows this simple code:
import pandas as pd
from multi_comp_matrix import MCM
df_results = pd.read_csv('path/to/csv')
output_dir = '/output/directory/desired'
MCM.compare(
output_dir=output_dir,
df_results=df_results,
pdf_savename="heatmap",
png_savename="heatmap",
)
Generating the MCM on the following example by excluding clf1
and clf3
from the columns.
import pandas as pd
from multi_comp_matrix import MCM
df_results = pd.read_csv('path/to/csv')
output_dir = '/output/directory/desired'
MCM.compare(
output_dir=output_dir,
df_results=df_results,
excluded_col_comparates=['clf1','clf3'],
png_savename='heatline_vertical',
tex_savename='heatline_vertical',
include_ProbaWinTieLoss=True
)
and by excluding them in the rows.
import pandas as pd
from multi_comp_matrix import MCM
df_results = pd.read_csv('path/to/csv')
output_dir = '/output/directory/desired'
MCM.compare(
output_dir=output_dir,
df_results=df_results,
excluded_row_comparates=['clf1','clf3'],
png_savename='heatline_horizontal',
csv_savename='heatline_horizontal',
)
The following python packages are required for the usage of the module:
numpy==1.24.4
pandas==2.0.3
matplotlib==3.7.4
scipy==1.10.0
baycomp==1.0
tqdm==4.66.1
If you use this work please make sure you cite this paper:
@article{ismail2023approach,
title={An Approach To Multiple Comparison Benchmark Evaluations That Is Stable Under Manipulation Of The Comparate Set},
author={Ismail-Fawaz, Ali and Dempster, Angus and Tan, Chang Wei and Herrmann, Matthieu and Miller, Lynn and Schmidt, Daniel F and Berretti, Stefano and Weber, Jonathan and Devanne, Maxime and Forestier, Germain and Webb, Geoff I},
journal={arXiv preprint arXiv:2305.11921},
year={2023}
}
The work reported in this paper has been supported by the Australian Research Council under grant DP210100072; the ANR TIMES project (grant ANR-17- CE23-0015); and ANR DELEGATION project (grant ANR-21-CE23-0014) of the French Agence Nationale de la Recherche. The authors would like to thank Professor Eamonn Keogh and all the people who have contributed to the UCR time series classification archive.
FAQs
Multi Comparison Matrix: A long term approach to benchmark evaluations
We found that multi-comp-matrix demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.