机器学习中的分类、回归与无监督学习技术
1. XGBoost与GBM对比
在机器学习中,XGBoost和GBM是常用的提升算法。通过对比它们的运行时间和性能,我们发现XGBoost明显更快。例如,在某次测试中,XGBoost完成一次循环的最佳时间为1.71秒,而GBM则需要2.91秒。即使没有对XGBoost使用并行化,它的速度也更快。后续若使用并行化和离核方法,在处理内存外流式数据时,XGBoost的速度还能进一步提升。并且在某些情况下,XGBoost模型的准确率也高于GBM。
1.1 XGBoost回归
提升方法不仅常用于分类任务,在回归任务中也表现出色。以加利福尼亚住房数据集为例,我们可以使用网格搜索来拟合一个提升模型。具体步骤如下:
import numpy as np
import scipy.sparse
import xgboost as xgb
import os
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.datasets import fetch_california_housing
from sklearn.metrics import mean_squared_error
# 加载数据
pd = fetch_california_housing()
# 对目标变量进行对数变换
y = np.log(pd.target)
X_train, X_test, y_train, y_test = train_test_split(pd.data, y
超级会员免费看
订阅专栏 解锁全文
17万+

被折叠的 条评论
为什么被折叠?



