模型融合之Stacking(原理+Python代码)

您所在的位置:网站首页 心率图标怎么显示在手机上 模型融合之Stacking(原理+Python代码)

模型融合之Stacking(原理+Python代码)

2023-12-14 10:16| 来源: 网络整理| 查看: 265

数据来源于天池赛题:零基础入门数据挖掘 - 二手车交易价格预测

地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX

目录 一、原理介绍 二、代码实现 三、结果解读

一、原理介绍

在数据挖掘过程中,单个模型的泛化能力往往比较单薄,而模型融合的方法可以结合多个模型的优点,提升模型的预测精度。典型的模型融合的方法有加权融合、Stacking/Blending、提升树。下面将以Stacking为例,做一个详细介绍。

Stacking是一种多层模型,将已训练好的多个模型作为基分类器。然后将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。 即可以看成是一种结合策略,使用另外一个机器学习算法来将个体机器学习器的结果结合在一起。 我们称第一层学习器为初级学习器,称第二层学习器为次级学习器。 通常情况下,为了防止过拟合,次级学习器宜选用简单模型。如在回归问题中,可以使用线性回归;在分类问题中,可以使用logistic。 二、代码实现 #加载需要的模块 import warnings warnings.filterwarnings('ignore') import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import cross_val_score from sklearn.metrics import mean_absolute_error, make_scorer from xgboost.sklearn import XGBRegressor from lightgbm.sklearn import LGBMRegressor from sklearn.model_selection import train_test_split from sklearn.ensemble import GradientBoostingRegressor import lightgbm as lgb import xgboost as xgb from sklearn.model_selection import GridSearchCV,cross_val_score from sklearn import linear_model #数据读取 Train_data = pd.read_csv('F:/data/used_car_train_20200313.csv', sep=' ') TestA_data = pd.read_csv('F:/data/used_car_testA_20200313.csv', sep=' ') #选择前面特征工程过程中筛选出的特征 Train_data=Train_data


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3