二手车交易价格预测:模型融合

【数据挖掘竞赛】零基础入门数据挖掘-二手汽车价格预测 数据预处理时首先可以对偏度比较大的数据用log1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续的分类结果得到一个好的结果.notRepairedDamage 中存在空缺值,但空缺值用“-”表示,所以数据查看发现不了空缺值,将“-”替换成NaN。图中可以看出,seller,offerType,creatDate这几个特征值分布不均匀,分别查看。可以看出,seller,offerType这两个特征的取值无变化,几乎倒向同一个值,可以删除。一般来说汽车价格与使用时间成反比。 阅读详情

模型融合听起来高大上,感觉其实是三个臭皮匠顶个诸葛亮的意思(弱弱弱弱地说)
之前用过加权平均法,但是没有完整地学习模型融合方法,由此结合赛题整理一些资料打卡如下:
资料来源:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.15.1cd8593aDCDfxr&postId=95535

学习内容

模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。
1.简单加权融合:
回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean);
分类:投票(Voting)
综合:排序融合(Rank averaging),log融合

2.stacking/blending:
构建多层模型,并利用预测结果再拟合预测。

3.boosting/bagging
(在xgboost,Adaboost,GBDT中已经用到):多树的提升方法

另外,对于如何降低再训练的过拟合性,这里我们一般有两种方法:
1.次级模型尽量选择简单的线性模型
2.利用K折交叉验证

部分代码展示

1)简单加权平均,结果直接融合

#生成一些简单的样本数据,test_prei 代表第i个模型的预测值
test_pre1 = [1.2, 3.2, 2.1, 6.2]
test_pre2 = [0.9, 3.1, 2.0, 5.9]
test_pre3 = [1.1, 2.9, 2.2, 6.0]
#y_test_true 代表第模型的真实值
y_test_true = [1, 3, 2, 6]
import numpy as np
import pandas as pd
## 定义结果的加权平均函数
def Weighted_method(test_pre1,test_pre2,test_pre3,w=[1/3,1/3,1/3]):
    Weighted_result = w[0]*pd.Series(test_pre1)+w[1]*pd.Series(test_pre2)+w[2]*pd.Series(test_pre3)
    return Weighted_result
    from sklearn import metrics
# 各模型的预测结果计算MAE
print('Pred1 MAE:',metrics.mean_absolute_error(y_test_true, test_pre1))
print('Pred2 MAE:',metrics.mean_absolute_error(y_test_true, test_pre2))
print('Pred3 MAE:',metrics.mean_absolute_error(y_test_true, test_pre3))
## 根据加权计算MAE
w = [0.3,0.4,0.3] # 定义比重权值
Weighted_pre = Weighted_method(test_pre1,test_pre2,test_pre3,w)
print('Weighted_pre MAE:',metrics.mean_absolute_error(y_test_true, Weighted_pre))

可以发现加权结果相对于之前的结果是有提升的,这种我们称其为简单的加权平均。
还有一些特殊的形式,比如mean平均,median平均
(2)Stacking融合回归

from sklearn import linear_model
def Stacking_method(train_reg1,train_reg2,train_reg3,y_train_true,test_pre1,test_pre2,test_pre3,model_L2= linear_model.LinearRegression()):
    model_L2.fit(pd.concat([pd.Series(train_reg1),pd.Series(train_reg2),pd.Series(train_reg3)],axis=1).values,y_train_true)
    Stacking_result = model_L2.predict(pd.concat([pd.Series(test_pre1),pd.Series(test_pre2),pd.Series(test_pre3)],axis=1).values)
    return Stacking_result
    ## 生成一些简单的样本数据,test_prei 代表第i个模型的预测值
train_reg1 = [3.2, 8.2, 9.1, 5.2]
train_reg2 = [2.9, 8.1, 9.0, 4.9]
train_reg3 = [3.1, 7.9, 9.2, 5.0]
# y_test_true 代表第模型的真实值
y_train_true = [3, 8, 9, 5] 
test_pre1 = [1.2, 3.2, 2.1, 6.2]
test_pre2 = [0.9, 3.1, 2.0, 5.9]
test_pre3 = [1.1, 2.9, 2.2, 6.0]
# y_test_true 代表第模型的真实值
y_test_true = [1, 3, 2, 6] 
model_L2= linear_model.LinearRegression()
Stacking_pre = Stacking_method(train_reg1,train_reg2,train_reg3,y_train_true,
                               test_pre1,test_pre2,test_pre3,model_L2)
print('Stacking_pre MAE:',metrics.mean_absolute_error(y_test_true, Stacking_pre))

融合这个问题,个人的看法来说其实涉及多个层面,也是提分和提升模型鲁棒性的一种重要方法:

1)结果层面的融合,这种是最常见的融合方法,其可行的融合方法也有很多,比如根据结果的得分进行加权融合,还可以做Log,exp处理等。在做结果融合的时候,有一个很重要的条件是模型结果的得分要比较近似,然后结果的差异要比较大,这样的结果融合往往有比较好的效果提升。

2)特征层面的融合,这个层面其实感觉不叫融合,准确说可以叫分割,很多时候如果我们用同种模型训练,可以把特征进行切分给不同的模型,然后在后面进行模型或者结果融合有时也能产生比较好的效果。

3)模型层面的融合,模型层面的融合可能就涉及模型的堆叠和设计,比如加Staking层,部分模型的结果作为特征输入等,这些就需要多实验和思考了,基于模型层面的融合最好不同模型类型要有一定的差异,用同种模型不同的参数的收益一般是比较小的。

【我的数据挖掘竞赛之旅(二)】二手车交易价格预测——2020年天池阿里云竞赛Task5模型融合 文章目录模型融合是什么模型融合的类型Stacking相关理论本次比赛的代码stacking融合(回归)分类模型的融合 模型融合是什么 我理解的Kaggle比赛中提高成绩主要有3个地方 特征工程 调参 模型融合 模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升。顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起。模型融合主... 阅读详情

相关推荐

天池学习赛——二手车交易价格预测

# 5折交叉验证方式# 输出训练集和验证集的mae# 定义一个函数build_model_xgb,用于构建XGBoost模型,并返回模型对象。# 定义一个函数build_model_lgb,用于构建LightGBM模型,并返回模型对象。return gbm# 打印。

tao_0410的博客 3626

二手车价格预测——模型融合

模型融合的理论讲解和些许实战代码 模型融合的目标 对于多种调参完成的模型进行模型融合。 1、本赛题示例

小白cvnice的博客 3093

天池长期赛:二手车价格预测(422方案分享)

本次比赛是一次很好的锻炼数据挖掘能力的入门赛,从EDA-数据清洗-特征工程-模型调参-模型融合,能够完整的学习到大数据的分析和挖掘,值得历练。

weixin_46685991的博客 1万+

数据挖掘二手车价格预测 Task05:模型融合

模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升。 Stacking相关理论介绍 1) 什么是 stacking 简单来说 stacking 就是当用初始训练数据学习出若干个基学习器后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。 将个体学习器结

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 653

B.【机器学习实践系列二】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)

了解赛题赛题概况数据概况预测指标分析赛题数据读取pandas分类指标评价计算示例回归指标评价计算示例EDA探索载入各种数据科学以及可视化库载入数据总览数据概况判断数据缺失和异常了解预测值的分布特征分为类别特征和数字特征,并对类别特征查看unique分布数字特征分析类别特征分析用pandas_profiling生成数据报告特征工程导入数据删除异常值特征构造特征筛选建模调参,相关原理介绍与推荐线性回归模型决策树模型GBDT模型。

丨汀、的博客 1107

B.数据挖掘机器学习[五]---汽车交易价格预测详细版本{模型融合(Stacking、Blending、Bagging和Boosting)}

题目出自阿里天池赛题链接:零基础入门数据挖掘 - 二手车交易价格预测-天池大赛-阿里云天池 相关文章: 特征工程详解及实战项目【参考】 数据挖掘---汽车车交易价格预测[一](测评指标;EDA) 数据挖掘机器学习---汽车交易价格预测详细版本[二]{EDA-数据探索性分析} 数据挖掘机器学习---汽车交易价格预测详细版本[三]{特征工程、交叉检验、绘制学习率曲线与验证曲线} 前言 因为文档是去年弄的,很多资料都有点找不到了,我尽可能写的详细。后面以2021年研究生数学建模B题为例【空气质量预.

丨汀、的博客 1047

数据挖掘实战:二手车交易价格预测之模型融合

数据挖掘实战:二手车交易价格预测之模型融合 内容介绍 模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。 简单加权融合: 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean); 分类:投票(Voting) 综合:排序融合(Rank averaging),log融合 stacking/blending: 构建多层模型,并利...

guangyacyb的博客 891

VS2022+Qt6保姆级环境配置指南:从插件安装到项目互通全流程

本文提供VS2022与Qt6深度整合的全流程指南,涵盖环境配置、插件安装、项目互通等关键步骤。详细解析编译器版本匹配、跨IDE协作方案及效能优化技巧,帮助开发者高效搭建C++界面设计开发环境,实现软件项目无缝互通。

zero1的博客 735

二手车交易价格预测----:模型结果融合

二手车交易价格预测 ——模型结果融合 通过对赛题的分析,我们可以看出此类问题是对价格进行回归预测,那我们对于数据需要事先做预处理分析,这里我们采用EDA探索性数据分析来进行。 探索性数据分析是对调查,观测所得到的一些初步的杂乱无章的数据,在尽可能量少的先验假定下进行处理。通过作图,制表等形式和方程拟合计算某些特征量等手段,探索数据的结构和规律的一种数据分析方法。 对于此类问题我们可以从以下五个方面...

kaxiaokui的博客 1089

海量数据 / Vastbase 深度研究笔记 v3.1

v3.1 重点修订:在 v3.0 审慎版基础上,新增“2026 新变量”章节,纳入 7 亿级定增、HTAP / 多模态时序数据库、G100 V3.0 Build 8 的 3CM+2DN 高可用补强、pgvector / V100 / AI 多模叙事,以及集成服务基因与标准软件 ARR 的拉扯。核心关注点是:Vastbase 能否把 openGauss 生态红利、数据库产品矩阵和行业交付能力,转化为可持续、可复购、低边际成本的标准软件收入。海量不是没有业务基本盘,也不是马上失血致死;客户越多,服务债越大。

喝醉酒的小白 578

RAGFlow API 实战指南:从数据集管理到智能对话

本文提供了RAGFlow API的实战指南,详细介绍了如何从零开始构建基于检索增强生成(RAG)的智能应用。内容涵盖环境准备、API密钥获取、核心概念理解,以及通过API进行数据集创建与管理、文档上传解析、知识块管理、检索测试,最终创建并配置智能聊天助手,实现基于私有知识库的精准对话。

weixin_29284885的博客 381

Task5:模型融合——二手车交易价格预测

一、内容介绍 简单加权融合: 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean); 分类:投票(Voting) 综合:排序融合(Rank averaging),log融合 stacking/blending: 构建多层模型,并利用预测结果再拟合预测。 boosting/bagging(在xgboost,Adaboost,GBD...

qq_21578849的博客 326

机器人路径规划:基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的机器人路径规划(提供MATLAB代码)

移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或局部已知的局部路径规划。随着科技的快速发展以及机器人的大量应用,人们对机器人的要求也越来越高,尤其表现在对机器人的智能化方面的要求,而机器人自主路径规划是实现机器人智能化的重要步骤,路径规划是指规划机器人从起点位置出发,无碰撞、安全到达指定目标位置的最优路径。

IT猿手 1368

《零基础入门数据挖掘 - 二手车交易价格预测》Task5:模型融合

经过前四个任务后,模型的分数已经比较稳定。 为了进一步提高分数,我们可以采取模型融合的方式。 网上有太多介绍融合的文章,不过我看完还是一头雾水,决定不在这里班门弄斧了,大家还是bing的好。 1. 模型建立 1.1 建立一个用于比较的线性回归模型 def build_model_lr(x_train, y_train): reg_model = linear_model.LinearReg...

hinker的专栏 471

世界模型和大语言模型结合开发自动驾驶算法

摘要:自动驾驶系统开发中,融合世界模型和大语言模型可显著提升效率和安全性。世界模型负责环境感知与预测(如目标检测、轨迹预测),而大语言模型优化代码生成、决策解释等环节。实施路径包括需求分析(1-2周)、模型开发(2-4个月)、模拟测试(1-2个月)、实车测试(2-3个月)和合规优化(1-2个月),总周期6-12个月。关键技术工具包括PyTorch/TensorFlow、CARLA模拟器和ROS系统,核心设计理念强调模块化、安全优先和敏捷迭代。示例代码展示了YOLO目标检测与大语言模型决策建议的集成方案。该方

ponygame的博客 827

ZYNQ 7020 之 FPGA知识点重塑笔记一——串口通信

通信方式一般分为串行通信和并行通信。并行通信是指多比特数据同时通过并行线进行传送。这种传输方式通信线多、成本高,故不宜进行远距离通信,通常传输距离小于 30 米。串行通信是指数据在一条数据线上,一比特接一比特地按顺序传送的方式。这种运输方式通常节省传输线,大大降低使用成本,但数据传送速度慢。综上可知,串行通信主要应用于长距离、低速率的通信场合。本次实验我们主要讲解下串行通信。串行通信一般有2种通信方式:同步串行通信和异步串行通信。同步串行通信。

m0_51430584的博客 3097

【算法竞赛学习】二手车交易价格预测-Task5模型融合

二手车交易价格预测-Task5 模型融合 五、模型融合 Tip:此部分为零基础入门数据挖掘的 Task5 模型融合 部分,带你来了解各种模型结果的融合方式,在比赛的攻坚时刻冲刺Top,欢迎大家后续多多交流。 赛题:零基础入门数据挖掘 - 二手车交易价格预测 地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX 5.1 模型融合目标 对于多

qq_41807261的博客 574

2024年软考信息安全工程师备考历年真题汇总

信息安全工程师分属“信息系统”专业,位处中级资格,2016年下半年,第一次开考信息安全工程师(中级)考试。目前每年考试一次。已开考六次,2016年11月12日,2017年5月20日,2018年5月26日,2019年5月25日,2020年11月7日,2021年11月6日为第六次考试。 第五次和第六次考试,采用第二版教材。 2024年软考信息安全工程师备考历年真题汇总

月梦工作室 5107

二手车交易价格预测学习笔记 -- Task5

赛题:零基础入门数据挖掘 - 二手车交易价格预测 地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX 模型融合 常用方法 from sklearn.datasets import make_blobs #聚类数据生成 from s...

weixin_45727892的博客 409

YOLOv11改进 | 注意力篇 | YOLOv11引入CA注意力机制

摘要:最近关于移动网络设计的研究已经证明了通道注意力(例如,挤压和激励注意力)对于提升模型性能的显着有效性,但它们通常忽略了位置信息,而位置信息对于生成空间选择性注意力图很重要。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~3.2 在Extramodule里创建CA。在CA.py文件里添加给出的CA代码。

tsg6698的博客 2981

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

零基础入门数据挖掘 - 二手车交易价格预测 模型融合

基于几个单模型进行模型融合, 1、stacking stacking的第二层无须用

beautiful_well的博客 518

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

二手车交易价格预测-task5-模型融合

二手车交易价格预测-task5-模型融合5.1 模型融合目标5.2 内容5.3 Stacking相关理论1) 什么是 stacking结合策略:2) 如何进行 stacking3)Stacking的方法讲解5.3 经验总结 5.1 模型融合目标 对于多种调参完成的模型进行模型融合。 5.2 内容 模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。 1. 简单加权融合: 回归(分类概...

吉祥街的个人沉淀 361

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数据挖掘实战:二手车交易价格预测

赛题数据 数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。 字段表 Field Description SaleID 交易ID,唯一编码 name 汽车交易名称,已脱敏 regDa...

guangyacyb的博客 1万+

阿里天池竞赛项目——二手车交易价格预测

二、特征工程 特征工程主要涉及数据的处理、特征的构造和特征帅选。 特征构造 我们对照官方给的变量的定义,发现model、 brand、 bodyType、 fuelType等为取几个值的离散变量。当我们采用基于树模型(XGBoost、LightGBM)来解决回归问题时,针对每一棵树,需要做的是确定分裂的变量,以及分裂点。一般采用启发式方法,根据分裂后的收益(误差)是否下降,并选择下降最多的分裂点,来逐步构建一棵树。由于上述的几个变量的值,只是代表类别,并不代表实际的大小,根据值大小的分裂并不能代表实际的

weixin_43823338的博客 1万+

【竞赛项目详解】二手车交易价格预测(附源码)

文章目录1 项目简介2 项目分析2.1 数据分析(EDA)2.2 难点分析2.3 可行性方案分析3 方案设计3.1 特征工程3.2 模型构建与训练4 结果分析5 源码链接 1 项目简介 赛题以预测二手车的交易价格为任务,数据来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。从中抽取15万条作为训练集,5万条作为测试集,同时对name、model、brand和regionCode等信息进行脱敏。评价标准为MAE。详情请看天池。 特征表如下所示。 2 项目分析 2.

小陈说CV的博客 1万+
上一篇: 二手车交易价格预测:建模调参
下一篇: Task01:Pandas基础
Simone_future
博客等级 码龄7年 0粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值