前言
机器学习领域经常会举行各种大数据竞赛,就是给出一个数据集,大家设计算法去做分类,谁构建的模型性能优异谁获胜。而Xgboost就是竞赛江湖中的屠龙刀和大杀器,近年来一统江湖。
上一步我们介绍了集成学习,其中提到了一种boosting方法叫作GBDT,也就是“每一次的计算是都为了减少上一次的残差”的那个模型。Xgboost则是它的增强版本,是一种把速度和效率发挥到极致的GBDT,所以叫作eXtreme Gradient Boosting。那么两者有何区别:
(1)Xgboost可以使用正则项来控制模型的复杂度,防止过拟合;
(2)Xgboost可以使用多种类型的基础分类器;
(3)Xgboost在每轮迭代时,支持对数据进行随机采样(类似RF);
(4)Xgboost支持缺失值处理。
以上就是Xgboost有的,GBDT没有。
不知道大家有没有一种感觉,就是在Xgboost身上看到了很多ML模型的影子,一种终极融合进化的感觉。
介绍完了,用SUV开始进行实战:
一、导入库与数据
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.metrics im