在现实任务中,面对繁花似锦的机器学习算法可供选择。为了使模型的泛化能力更好,在数据预处理以及特征工程完毕后,应该通过对比分析选择一种最优的算法模型作为最终的选择。具体的思路是,首先列举几种想到的常规使用且效果较好的算法,然后分别在训练集以及测试集上使用不同的评估指标进行评估,最终确定效果最好的算法模型。本文用鸢尾花卉数据集,以XGBoost和随机森林两个算法为例,进行评估选择,具体步骤如下所示。
#导入所需要的库
import numpy as np
import xgboost as xgb
from sklearn.ensemble import RandomForestClassifier as rf
from sklearn.model_selection import KFold, train_test_split
from sklearn.metrics import confusion_matrix, mean_squared_error
from sklearn.datasets import load_iris
#实例化数据集
iris = load_iris()
y = iris['target']
x = iris['data']
#训练集测试集划分
train_X, test_X, train_y, test_y = train_test_split(x, y, test_size=0.2, random_state=1)
#实例化k折交叉验证
kf = KFold(n_splits=5, shuffle=True, random_state=1)
#使用xgboost在训练集上做交叉验证
xgb_model_list = []
xgb_mse_list = []
for train_index, test_index

本文通过在鸢尾花卉数据集上应用XGBoost和随机森林算法,并使用交叉验证和均方误差评估模型,最终选择了XGBoost作为最优模型。
最低0.47元/天 解锁文章

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



