- sklearn
- numpy
- cvxopt
- pandas
- Run on command:
pip install -r requirements.txt
Download datasets : Link
- K-Means clustering algorithm:
python test.py --state train --path_data <path to dataset> --n_clus <number of cluters> --alpha <alpha> --option Kmean --threshold <not default> --max_loop<max training loop>
- Approximate q-quantiles algorithm:
python test.py --state train --path_data <path to dataset> --n_clus <number of cluters> --alpha <alpha> --option Quantile --threshold <not default> --max_loop<max training loop>
- Evaluate accuracy, f1 score, precision score, recall socre with number of clusters (level-quantiles) and time training:
python test.py --state eval --path_data <path to dataset> --alpha <alpha> --min_iters <start iter> --max_iters <end iter>
- Beside, we also provide custom procedure for evaluating accuracy, f1 score, precision score, recall socre with alpha in file
model.py
. That isdef weight_eval_alpha()
- Data in together group K-Mean (level-quantiles) is a element. You'll see this Warning, to disable that Warning you can add
-W ignore
beforefunction.py
If you don't select threshold, output model is accuracy of original logistic regression which is provided by sklearn library
python test.py --state train --path_data <path to dataset> --n_clus <number of cluters> --alpha <alpha> --option Kmean(or Quantile)