提升方法是将弱学习算法提升为强学习算法的统计学习方法。在分类学习中,提升方法通过反复修改
训练数据的权值分布,构建一系列的基本分类器(弱分类器),并将这些基本分类器线性组合,构成强分
类器。提升树是建立在决策树上的一种提升方法。针对回归、分类问题,它采用的损失函数不同。对于回
归问题,通常使用平方误差损失函数;而对于分类问题,通常使用指数损失函数。代表性的方法主要
有AdaBoost算法以及梯度提升树算法(GBDT)。
机器学习的传统分类方法在实例数据集上比较
time_start=time.time()GBDT_0 = GradientBoostingClassifier(random_state=10, n_estimators=40, max_depth=3)GBDT_0.fit(x_train, y_train)y_pred = GBDT_0.predict(x_test)print("Accuracy : %.4g" % metrics.accuracy_score(y_test, y_pred))time_end=time.time()print('time cost Boosting Tree', time_end-time_start)
【文件目录】梯度提升树算法实现├── GBDT[1]
│ ├── decision_tree.py
│ ├── gbdt.py
│ ├── loss_function.py
│ ├── main.py
│ ├── results
│ │ ├── NO.1_0_tree.png
│ │ ├── NO.1_1_tree.png
│ │ ├── NO.1_2_tree.png
│ │ ├── NO.1_tree.log
│ │ ├── NO.1_tree.png
│ │ ├── NO.2_0_tree.png
│ │ ├── NO.2_1_tree.png
│ │ ├── NO.2_2_tree.png
│ │ ├── NO.2_tree.log
│ │ ├── NO.2_tree.png
│ │ ├── NO.3_0_tree.png
│ │ ├── NO.3_1_tree.png
│ │ ├── NO.3_2_tree.png
│ │ ├── NO.3_tree.log
│ │ ├── NO.3_tree.png
│ │ ├── NO.4_0_tree.png
│ │ ├── NO.4_1_tree.png
│ │ ├── NO.4_2_tree.png
│ │ ├── NO.4_tree.log
│ │ ├── NO.4_tree.png
│ │ ├── NO.5_0_tree.png
│ │ ├── NO.5_1_tree.png
│ │ ├── NO.5_2_tree.png
│ │ ├── NO.5_tree.log
│ │ ├── NO.5_tree.png
│ │ ├── all_trees.png
│ │ ├── all_trees_high_quality.png
│ │ └── result.log
│ └── tree_plot.py
├── Social_Network_Ads.csv
├── boosting_tree_train_modified_0.py
├── bupa.csv
├── compare_ads_0.py
├── compare_ads_1.py
├── compare_bupa.py
├── compare_thyroid.py
├── compare_train_modified_1.py
├── compare_train_modified_2.py
├── compare_yeast.py
├── random_forest_train_modified_0.py
├── thyroid.csv
├── train_modified.csv
└── yeast.csv
2 directories, 47 files
评论