Kaggle回归问题Mercedes——Benz Greener Manufacturing

目录

  • 前言
  • 1 题目介绍
  • 2 数据清洗
  • 3 数据可视化分析
  • 4 模型训练
  • 5 源码

前言

这是我在大三选修课的课程设计,内容参考了Kaggle上高赞的代码,有详细批注,整体比较基础,结构相对完整,便于初学者学习。这个是一个回归问题,我的另外一篇博客《Kaggle分类问题Titanic——Machine Learning from Disaster》介绍了回归问题。除此之外我的《电商评论文本挖掘》也是我当年的课程设计,也有详细的批注,相比这个难度会稍微高些。

1 题目介绍

题目背景:自1886年第一辆奔驰汽车问世以来,梅赛德斯奔驰一直代表着重要的汽车创新。为确保每一款独特的汽车配置在上路之前的安全性和可靠性,Daimler的工程师开发了一个强大的测试系统。但是,如果没有强大的算法,为如此多可能的特征组合计算他们的测试系统的速度,这将是复杂且耗时的。而我们的任务是使用代表奔驰汽车功能的不同排列的数据集,以预测通过测试所需的时间。这个时间将有助于更快的测试,在不降低Daimler标准的情况下,减少二氧化碳排放。

数据介绍:数据匿名,没有具体介绍,共有378个变量,分别为时间y以及其他相关特征。
在这里插入图片描述

2 数据清洗

1)对数据进行概览。
在这里插入图片描述
2)查看所有变量的种类。
在这里插入图片描述
在这里插入图片描述

3)查看为object类的列
在这里插入图片描述
4)查看是否有缺失值(无)
5)查看int列,可以看出大部分整数列的值都是0与1,有些全为0的可以将他们删去。
在这里插入图片描述
在这里插入图片描述

3 数据可视化分析

1)利用stripplot绘制X0与y的关系。
在这里插入图片描述
2)利用boxplot绘制X2与y的关系。
在这里插入图片描述
3)利用violinplot绘制X3与y的关系。
在这里插入图片描述
4)利用barh绘制水平条形图,展现01变量0与1的比重。
在这里插入图片描述
5)利用heatmap查看每列0或1所对应的平均y值,可以发现出现了很好的区分。
在这里插入图片描述
6)利用regplot绘制ID列的线性回归图,可以看出随着id的增大,有个轻微下降的趋势。
在这里插入图片描述
7)利用violinplot查看查看训练集与测试集ID的分布,可以看出ID是随机的。
在这里插入图片描述
8)根据xgboost,得到重要的变量。
在这里插入图片描述
在这里插入图片描述
9)根据随机森林得到重要的变量。
在这里插入图片描述
在这里插入图片描述

4 模型训练

使用PCA、ICA、tSVD等对数据进行降维。
在这里插入图片描述
在这里插入图片描述
使用TPOT自动选择机器学习模型和参数。搜索整个管道空间是特别耗时的,在默认的TPOT参数下(100 generations with 100 population size),TPOT将在完成前评估1万个管道配置。网格搜索1万个超参数组合用于机器学习算法,而且用10倍的交叉验证来评估这1万个模型,这意味着大约有10万个模型在一个网格搜索的训练数据中被匹配和评估。这是一个非常耗时的过程,即使对于像决策树这样的简单模型也是如此。

典型的TPOT运行将需要数小时到数天才能完成(除非是一个小数据集),但是可以中断运行,并看到目前为止最好的结果。TPOT还提供warm_start参数,可以从中断的地方重新启动之前运行的TPOT。

generations(default=100),运行管道优化过程的迭代次数。一定是正数。一般来说,值越大,性能越好。

population_size(default=100),在每一代遗传中保留的个体数(基因编程)。一定是正数。一般来说,值越大,性能越好。

verbosity(default=0),0将不会打印任何东西;1将打印很少的信息;2打印更多的信息并提供一个进度条;3打印所有内容,并提供一个进度条。
在这里插入图片描述
导出TPOT选择好的模型与其参数。
在这里插入图片描述

5 源码

为了更好的观看效果,我将源码放在了Github上,如有帮助,希望点个星星支持一下,感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

⌈算法进阶⌋图论::拓扑排序(Topological Sorting)——快速理解到熟练运用

目录 一、原理 1. 引例:207.课程表 2. 应用场景 3. 代码思路 二、代码模板 三、练习 1、210.课程表Ⅱ🟢 2、2392.给定条件下构造举证🟡 3、310.最小高度树 🟡 一、原理 1. 引例:207.课程表 就如大学课程安排一样&…

21.2 CSS 三大特性与页面布局

1. 开发者工具修改样式 使用开发者工具修改样式, 操作步骤如下: * 1. 打开开发者工具: 在浏览器中右键点击页面, 然后选择检查或者使用快捷键(一般是 F12 或者 CtrlShiftI)来打开开发者工具.* 2. 打开样式编辑器: 在开发者工具中, 找到选项卡或面板, 一般是Elements或者Elemen…

【Go Web 篇】从零开始:构建最简单的 Go 语言 Web 服务器

随着互联网的迅速发展,Web 服务器成为了连接世界的关键组件之一。而在现代编程语言中,Go 语言因其卓越的性能和并发能力而备受青睐。本篇博客将带你从零开始,一步步构建最简单的 Go 语言 Web 服务器,让你对 Go 语言的 Web 开发能力…

线性代数的学习和整理14: 线性方程组求解

目录 1 线性方程组 2 有解,无解 3 解的个数 1 线性方程组 A*xy 3根直线的交点,就是解 无解的情况 无解: 三线平行无解:三线不相交 有解 有唯一解:三线相交于一点有无数解:三条线重叠 2 齐次线性方程组…

Vue的使用

Vue的使用 Vue到底是啥?Vue中包含了两部分虚拟DOM 模块化编程虚拟DOM,在我们重用模板的时候,在Vue中存在虚拟DOM 虚拟DOM是为了更好的去重用我们的DOM (增加元素的时候,先去虚拟DOM找是否存在,如果有那么不用生成&am…

VUE笔记(六)vue路由

一、路由的简介 1、实现生活中的路由 路由:路由其实就是一个key-value对应关系 路由器:用于管理多个路由关系的设备被称为路由器 2、前端的路由 目前使用的前端项目都是单页面的应用(SPA),一个项目中只有一个html页…

c语言中编译过程与预处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、c语言的编译与链接1、编译与链接概述2、编译与链接详解 二、c语言预处理1.c语言中内置的预定义符号2、#define定义标识符3、#define定义宏4、#define 替换规…

CSS scoped 属性的原理

scoped 一、scoped 是什么?二、实现原理 一、scoped 是什么? 在 Vue 组件中,为了使样式私有化(模块化),不对全局造成污染,可以在 style 标签上添加 scoped 属性以表示它的只属于当下的模块&am…

数组和指针练习解析(6)

题目: int main() { char *c[] {"ENTER","NEW","POINT","FIRST"}; char**cp[] {c3,c2,c1,c}; char***cpp cp; printf("%s\n", **cpp); printf("%s\n", *--*cpp3); printf("%s\n&…

数据结构(Java实现)-包装类和泛型

包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了 一个包装类型。 基本数据类型和对应的包装类 装箱和拆箱 装箱操作,新建一个 Integer 类型对象,将 i 的…

【提升接口响应能力的最佳实践】常规操作篇

文章目录 1. 并行处理简要说明CompletableFuture是银弹吗?测试案例测试结论半异步,半同步总结 2. 最小化事务范围简要说明编程式事务模板 3. 缓存简要说明 4. 合理使用线程池简要说明使用场景线程池的创建参数的配置建议 线程池的监控线程池的资源隔离 5…

【jvm】双亲委派机制

目录 一、说明二、工作原理三、优势四、图示 一、说明 1.java虚拟机对class文件采用的是按需加载的方式,当需要使用该类时才会将它的class文件加载到内存生成class对象 2.加载某个类的class文件时,java虚拟机采用双亲委派模式,即把请求交给由…

curl --resolve参数的作用

之所以会有这样的操作,是因为域名一般对应的都是一个反向代理,直接请求域名,反向代理会将流量随机选一台机器打过去,而无法确保所有的机器都可用。所以直接用ip。 在 curl 命令中,--resolve 参数用于指定自定义的主机名…

想解锁禁用的iPhone?除了可以使用电脑之外,这里还有不需要电脑的方法!

多次输入错误的密码后,iPhone将显示“iPhone已禁用”。这种情况看起来很棘手,因为你现在不能用iPhone做任何事情。对于这种情况,我们提供了几种有效的方法来帮助你在最棘手的问题中解锁禁用的iPhone。你可以选择使用或不使用电脑来解锁禁用的iPhone。 一、为什么你的iPhone…

基于FPGA的FIR低通滤波器实现(附工程源码),matlab+vivado19.2+simulation

基于FPGA的FIR低通滤波器实现(附工程源码) 文章目录 基于FPGA的FIR低通滤波器实现(附工程源码)前言一、matlab设计FIR滤波器,生成正弦波1.设计FIR滤波器1.生成正弦波.coe 二、vivado1.fir滤波器IP核2.正弦波生成IP核3.时钟IP核设置4.顶层文件/测试文件代码 三.simul…

【30天熟悉Go语言】11 数组的全方位使用与解析

作者:秃秃爱健身,多平台博客专家,某大厂后端开发,个人IP起于源码分析文章 😋。 源码系列专栏:Spring MVC源码系列、Spring Boot源码系列、SpringCloud源码系列(含:Ribbon、Feign&…

OLED透明屏水波纹效果:打造独特的显示体验

OLED透明屏水波纹效果是一种独特的显示技术,通过模拟水波纹的视觉效果,为用户带来更加生动逼真的观感。 根据市场调研报告显示,OLED透明屏水波纹效果已经在广告、游戏和商业领域得到广泛应用,为品牌提供了新的展示方式&#xff0…

根据源码,模拟实现 RabbitMQ - 网络通讯设计,自定义应用层协议,实现 BrokerServer (8)

目录 一、网络通讯协议设计 1.1、交互模型 1.2、自定义应用层协议 1.2.1、请求和响应格式约定 ​编辑 1.2.2、参数说明 1.2.3、具体例子 1.2.4、特殊栗子 1.3、实现 BrokerServer 1.3.1、属性和构造 1.3.2、启动 BrokerServer 1.3.3、停止 BrokerServer 1.3.4、处…

【数据分析】波士顿矩阵

波士顿矩阵是一种用于分析市场定位和企业发展战略的管理工具。由美国波士顿咨询集团(Boston Consulting Group)于1970年提出,并以该集团命名。 波士顿矩阵主要基于产品生命周期和市场份额两个维度,将企业的产品或业务分为四个象限…

LAMP架构详解+构建LAMP平台之Discuz论坛

L A M P 一、LAMP架构简介1.1 LAMP架构的组成1.2 LAMP各组件的主要作用1.3 LAMP工作过程1.4 CGI和fastcgi 二、搭建Discuz论坛的思路三、编译安装Apache httpd3.1 前置准备3.2 移动apr包 apr-util包到安装目录中,并切换到 httpd-2.4.29目录中3.3 编译安装3.4 建立软…