Skip to content
MLDMXM2017Public

About

This repository contains the ​​Python implementation​​ of ​​MOCT​ from the paper: ​​"MOCT: A Multi-class Oblique Tree Algorithm for Synergistic Drug Combination Prediction"​

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

MOCT

This repository contains the ​​Python implementation​​ of ​​MOCT​ from the paper:

​​"MOCT: A Multi-class Oblique Tree Algorithm for Synergistic Drug Combination Prediction"​

MOCT

Abstract

Machine learning has been successfully applied to drug combination prediction in recent years. However, in some situations, the class imbalance problem still shows highly negative impacts on the modeling process, which cannot be directly handled by traditional methods. In addition, the interpretability of models is another key point for biological and medical experts. In this study, a clustering-based oblique decision tree (MOCT) algorithm is proposed to extract interpretable knowledge for the multi-class datasets. It firstly clusters samples of different classes, and then a proper feature subspace is generated to split data and forms a nonleaf node. Unlike traditional decision trees, our MOCT only grows one none-leaf node in each layer to generate a concise tree structure. Datasets of drug combinations were collected from three cell lines with three classes (Additive, Antagonism, and Synergy) in experiments, and the results show that our MOCT algorithm is superior to other methods with better interpretability.

Requirements

The Python environment and versions of dependency packages used in this implementation are as follows:

Python==3.8.18
scikit-learn==1.3.2
numpy==1.24.1
pandas==2.0.3
imbalanced-learn==0.12.4
joblib==1.3.2

Usage

We provide a demo for MOCT in the test.py file, using the HT29, A375 and A549 datasets.

python test.py

Hyperparameter Settings

The table below shows the hyperparameters of MOCT​. You can modify these variables to configure the hyperparameters. The settings in test.py represent the ​​default hyperparameter values​​ for MOCT.

Hyperparameters Values
features_num 50
max_depth 10
min_samples_leaf 0.01

Cite This Repository

If you use this code in your research, please cite both the ​​original paper​​ and this ​​code repository​​: Paper Citation (BibTeX):

@ARTICLE{11303859,
  author={Lin, Zhikai and Chen, Jing and Wu, Lianlian and Liu, Kunhong and Xu, Yong and He, Song and Bo, Xiaochen},
  journal={IEEE Transactions on Computational Biology and Bioinformatics}, 
  title={MOCT: A Multi-Class Oblique Tree Algorithm for Synergistic Drug Combination Prediction}, 
  year={2026},
  volume={23},
  number={1},
  pages={407-418},
  keywords={Drugs;Decision trees;Trees (botanical);Clustering algorithms;Classification algorithms;Prediction algorithms;Feature extraction;Indexes;Computational biology;Bioinformatics;Oblique decision tree;multi-class classification;interpretability;drug combination},
  doi={10.1109/TCBBIO.2025.3646049}
}

Code Repository

@software{MOCT_Code,
  author = {Zhikai Lin},
  title = {MOCT},
  year = {2025},
  publisher = {GitHub},
  howpublished = {\url{https://github.com/MLDMXM2017/MOCT.git}}
}

About

This repository contains the ​​Python implementation​​ of ​​MOCT​ from the paper: ​​"MOCT: A Multi-class Oblique Tree Algorithm for Synergistic Drug Combination Prediction"​

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages