/adaboost-toolbox

Improved boosting algorithms using confidence-rated predictions

Primary LanguageCommon Lisp

##Peking University Machine Learning Homework two Group Member: zhouzhaoping dongzhuoyao snowingmush

Data Source:Image Segmentation data

####Basic Adaboost Binary-Classification

  • decision_stump.py:
    单层决策树的实现,buildStump接口找到当前加权数据集上的最优单层决策树
  • adaboost.py:
    基于单层决策树adaboost算法的类Adaboost,关键方法fit学习训练集和predict预测
  • data_preprocess.py:
    数据预处理

####OVR(one-versus-rest)

  • one_versus_rest.py:
    run Adaboost to implement one-versus-others multi-classification
             precision    recall  f1-score   support
  BRICKFACE       0.55      0.99      0.71       300
     CEMENT       0.83      0.65      0.73       300
    FOLIAGE       0.88      0.81      0.84       300
      GRASS       0.99      0.98      0.99       300
       PATH       1.00      0.91      0.95       300
        SKY       0.99      1.00      1.00       300
     WINDOW       0.86      0.51      0.64       300
avg / total       0.87      0.84      0.84      2100

####OVO(one-versus-one)

  • one_versus_rest.py:
    run Adaboost to implement one-versus-one multi-classification
             precision    recall  f1-score   support
  BRICKFACE       0.19      1.00      0.32       300
     CEMENT       0.00      0.00      0.00       300
    FOLIAGE       0.64      0.31      0.41       300
      GRASS       1.00      0.95      0.97       300
       PATH       0.00      0.00      0.00       300
        SKY       0.03      0.00      0.01       300
     WINDOW       0.87      0.11      0.20       300
avg / total       0.39      0.34      0.27      2100

####Adaboost.MH (Improved boosting algorithms using confidence-rated predictions)

  • adaboostmh.py:
    based on Adaboost,evolve into AdaBoostMH
  • run_adaboostmh.py:
             precision    recall  f1-score   support
  BRICKFACE       0.60      0.99      0.74       300
     CEMENT       0.80      0.63      0.71       300
    FOLIAGE       0.86      0.81      0.83       300
      GRASS       1.00      0.98      0.99       300
       PATH       1.00      0.90      0.95       300
        SKY       0.99      1.00      1.00       300
     WINDOW       0.86      0.62      0.72       300
avg / total       0.87      0.85      0.85      2100

####How to run

cd PATH_TO_THE_PROJECT
python one_versus_one.py
python one_versus_rest.py
python run_adaboostmh.py