动手学深度学习18 预测房价竞赛总结

动手学深度学习18 预测房价竞赛总结

  • 李沐老师代码
  • AutoGluon
  • h2o
  • 集成学习
  • automl
  • QA

视频: https://www.bilibili.com/video/BV15Q4y1o7vc/?vd_source=eb04c9a33e87ceba9c9a2e5f09752ef8
代码: https://www.bilibili.com/video/BV1rh411m7Hb/?vd_source=eb04c9a33e87ceba9c9a2e5f09752ef8

在这里插入图片描述

李沐老师代码

第一部分代码是kaggle预测泰坦尼克号人生还。

conda create -y --force -n ag python=3.8 pip
conda activate ag
pip install 'mxnet<2.0.0'
pip install autogluon
pip install kaggle 
# 配置kaggle秘钥 下载数据集
kaggle c doenload titanic
unzip -o titanic.zip

from autogluon.tabular import TabularDataset, TabularPredictor
# 训练
train_data = TabularDataset('train.csv')
# id, label = 'PassengerId', 'Survived'
id, label = 'ID', 'Sold Price'
# 数据预处理
large_val_cols = ['Lot', 'Total interior livabel area', 'Tax assessed value',
          'Listed Price', 'Last Sold Price']
# 对字符串较长的列取log操作
for c in large_val_cols + [label]:
  train_data[c] = np.log(train_data[c]+1)
# 把pandas自动生成的id列去掉 不参与训练  label列做label
# predictor = TabularPredictor(label=label).fit(train_data.drop(columns=[id]))
# 更好的模型 multimodal选项用transformer抽取特征+多模型融合
predictor = TabularPredictor(label=label).fit(train_data.drop(columns=[id]), 
                        hyperparameters='multimodal',
                        num_stack_levels=1, num_baf_folds=5)

# 预测
import pandas as pd
test_data = TabularDataset('test.csv')
preds = predictor.predict(test_data.drop(columns=[id]))
submission = pd.DataFrame({id:test_data[id], label:preds})
# 生成提交的csv文件
submission.to_csv('submission.csv', index=False)

# 1. autogluon在合理的计算开销下模型还不错
# 2. 虽然可以做自动特征抽取,但是人为数据预处理可能效果更好
# 3. 对于比较大的数据集,计算开销仍旧是瓶颈 gpu或者多台gpu分布式训练。

AutoGluon

代码: https://github.com/autogluon/autogluon
文档: https://auto.gluon.ai/stable/index.html

AutoGluon是一个开源的自动化机器学习(AutoML)工具包,旨在使机器学习变得更加易于使用和普及。它提供了高度自动化的机器学习管道,可以帮助开发者和数据科学家快速构建和部署高性能的机器学习模型,而无需深入了解每个模型的细节。

以下是AutoGluon的一些主要特点和功能:

  1. 自动化调参:AutoGluon能够自动搜索最佳的超参数配置,包括模型选择、特征工程、调参等,从而提高模型的性能和泛化能力。

  2. 多模型支持:支持多种机器学习模型,包括集成学习、神经网络、决策树等,可以根据数据集自动选择合适的模型进行训练。

  3. 高性能:AutoGluon针对大规模数据和高维特征进行了优化,具有较高的训练速度和效率。

  4. 易于使用:提供简洁的API和命令行界面,使用户可以轻松地进行模型训练、评估和部署。

  5. 自动化特征工程:自动处理数据预处理和特征工程,包括缺失值处理、数据标准化、特征选择等。

  6. 模型解释性:提供模型解释性功能,可以帮助用户理解模型的预测结果和特征重要性。

AutoGluon适用于各种机器学习任务,包括分类、回归、聚类等,可以在不同的领域和应用中使用,如金融、医疗、电子商务等。它为机器学习的开发和应用提供了更高的效率和便利性,使更多的开发者和科学家可以利用机器学习技术解决实际问题。

h2o

https://zhuanlan.zhihu.com/p/638874401

集成学习

集成学习会让模型更稳定。

automl

80%的时间去处理数据。
怎么搜集数据,搜集什么样的数据,怎么做数据清洗,搭建数据pipeline, 怎么低成本的获取存储数据。

QA

1: 避免overfit, 调参是必要的,要有一个比较好的验证集。当找到一个很好的超参数效果特别好,就在这个超参数附近调一下看看效果是否会有很大变化。实际应用中调参没那么重要。
2:kaggle比赛 公榜数据是测试数据前半部分,私榜是测试数据后半部分。
3:数据处理,难的是要预测一个任务,机器学习能不能做,要什么样的数据,历史数据是否有用,从哪里找数据,数据怎么获取,噪音数据怎么处理【90%的数据可能都是噪音】,哪些数据是对模型有用的。第一步:思考世界。
4:神经网络调参方法和需要调的参数。
5:nas 搜整个网络的架构【烧钱,还不成熟】,autogulon和pytorch结合做NAS?
Autogluon 和 PyTorch 结合起来进行 NAS(神经架构搜索)是指使用 Autogluon 框架与 PyTorch 深度学习库结合,进行神经网络架构的自动搜索和优化。这种方法旨在通过自动化技术来发现和优化深度学习模型的架构,以提高模型的性能和效率。

Autogluon 是一个自动机器学习工具包,它可以帮助开发者在各种机器学习任务中自动搜索和选择最佳的模型和超参数配置。PyTorch 则是一个流行的深度学习框架,提供了丰富的工具和功能,使得在构建、训练和部署深度学习模型时更加便捷。

因此,将 Autogluon 与 PyTorch 结合使用进行 NAS,意味着利用 Autogluon 提供的自动化搜索技术,结合 PyTorch 提供的深度学习能力,来寻找最优的神经网络结构和超参数配置,以达到更好的模型性能和效果。
6:AutoML是自动机器学习,给一个处理过,样本处理过但是特征没有抽取好的数据,能自动做特征提取训练模型,是ML的一个算法。
7:层数深预测输出的房价都是一样的,说明数值稳定性出了问题,可能把bias弄出来了。或者梯度爆炸或者梯度为0.
8:autogluon有用树模型,DeepLearning大部分模型,autogluon可以理解为一个大容器,里面塞了好多模型。
9:MLP有精细调参的价值。bert transformer也有MLP的实现。
10:xgboost训练房价预测.
11:看数据看那些数据是有用的。可以尝试把单词逐一创建特征项,看看是否有效果,没有的话不要浪费时间。
12:第一版kaggle竞赛,MLP比赛经验。
13:AutoGluon从最简单最快的模型开始,继续往下训练,一直试不同的模型。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA系列:IO流

JAVA IO流 IO流图解 一、什么是IO流 I/O流是Java中用于执行输入和输出操作的抽象。它们被设计成类似于流水&#xff0c;可以在程序和外部源&#xff08;如文件、网络套接字、键盘、显示器等&#xff09;之间传输数据。按处理数据单位分为&#xff1a; 1字符 2字节 、 1字节(…

Linux修炼之路之权限

目录 引言 一&#xff1a;Linux中用户的分类 二&#xff1a;在Linux中的权限 1.权限的两种属性 1.人的属性 2.事物属性 -主要以文件属性为主 3.文件权限值的两种表示方式方法 2.更改文件访问者(拥有者&#xff0c;所属组&#xff0c;其他人)权限属性 3.更改文件的拥有…

电子作业指导书系统如何提升医疗设备工厂的生产效率

在医疗设备工厂中&#xff0c;电子作业指导书&#xff08;ESOP&#xff09;正逐渐成为提升生产效率的关键因素。 一、电子作业指导书系统提供了即时可得的准确信息。 电子作业指导书系统与传统的纸质作业指导书相比&#xff0c;员工可以在工作现场通过电子设备随时查阅最新、最…

基于PSO优化的PV光伏发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于PSO优化的PV光伏发电系统simulink建模与仿真。其中PSO采用matlab编程实现&#xff0c;通过simulink的函数嵌入模块&#xff0c;将matlab调用进simulink中。 2.系统仿真结…

【Linux系统化学习】守护进程 | 序列化和反序列化

目录 前言 守护进程 会话 进程组 setsid系统调用 守护进程系统调用 再谈协议 序列化和反序列化 Json 前言 上两篇文章我们所编写的服务器&#xff0c;并算不上真正意义上的服务器一般的服务器都是要随时能够访问的&#xff0c;就像我们在任何时间段都可以打开抖音获取…

[C++核心编程-09]----C++类和对象之继承

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

【MQTT】paho.mqtt.cpp 库的 介绍、下载、交叉编译、MQTT客户端例子源码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-05-13 1…

实习大学生如何在Purple Pi OH鸿蒙开发板下调试Android串口?

本文适用于Purple Pi OH在Android固件后串口的开发与使用。触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党&#xff0c;极客&#xff0c;工程师&#xff0c;极大降低了开源鸿蒙开发者的入门门槛&#xff0c…

Ubuntu系统搭建Tipask开源问答系统并发布公网分享好友远程访问

文章目录 1. 前言2.Tipask网站搭建2.1 Tipask网站下载和安装2.2 Tipask网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3 Cpolar稳定隧道&#xff08;本地设置&#xff09; 4. 公网访问测试5. 结语…

神经网络复习--数学相关基础知识

文章目录 矩阵范数卷积激活函数信息熵 矩阵 标量&#xff1a;一个标量就是一个单独的数向量&#xff1a;一个向量是一列数。这些数是有序排列的。通过次序中的索引&#xff0c;我们可以确定每个单独的数矩阵&#xff1a;矩阵是一个二维数组&#xff0c;其中的每个元素被两个索…

基于网络的无人海洋船舶控制

书籍&#xff1a;Network-Based Control of Unmanned Marine Vehicles 作者&#xff1a;Yu-Long Wang&#xff0c;Qing-Long Han&#xff0c;Chen Peng&#xff0c;Lang Ma 出版&#xff1a;Springer 书籍下载-《基于网络的无人海洋船舶控制》控制系统中的通信网络可能引起延…

IDC 权威认可!Aloudata 入选金融领域中数据管理分析服务最佳实践案例

近日&#xff0c;国际知名数据咨询机构 IDC 重磅发布了《IDC PeerScape&#xff1a;金融领域中数据管理分析服务最佳实践案例》报告&#xff0c;Aloudata 与招商银行联合打造的 DDH 数据研发运维一体化平台成功入选&#xff0c;Aloudata 的技术、产品实力&#xff0c;以及在金融…

英语学习笔记12——名词所有格的运用

Whose is this … ? This is my/your/his/her … 这……是谁的&#xff1f;这是我的 / 你的 / 他的 / 她的…… Whose is that … ? That is my/your/his/her … 那……是谁的&#xff1f;那是我的 / 你的 / 他的 / 她的…… 词汇 Vocabulary father n. 爸爸 口语&#xf…

【Java】引用

变量的实质是一小块内存单元&#xff0c;这一小块内存里存储着变量的值 而当变量指向一个对象时&#xff0c;这个变量就被称为引用变量 比如 A anew A(); a 就是引用变量&#xff0c;它指向了一个A对象&#xff0c;也可以说它引用了一个A对象 我们通过操纵这个a来操作A对象。…

【RabbitMQ】消息队列 - RabbitMQ的使用记录

目录 一、什么是消息队列 二、什么是RabbitMQ 三、安装RabbitMQ 3.1 安装Erlang环境 3.2 安装RabbitMQ 3.3 打开服务管理界面 3.4 常用命令 四、Python示例代码 4.1 发送数据 4.2 接收数据 一、什么是消息队列 消息队列(Message Queue)是一种用于在应用程序之间传递消…

Docker 部署 Prometheus 实现一个极简的 QPS 监控

背景 : Prometheus 是近年来最流行的开源监控框架, 其功能强大且易于使用, 拥有各种主流后端语言(Java/Go/Python/Node.js等)与各种场景(如web handler/ k8s/Nginx/MySQL等)的客户端, 并自带图形化显示页面。分享一个快速入门Prometheus 的教程, 实现一个极简的, 后端开发需要特…

ICRA 2024 成果介绍:基于 RRT* 的连续体机器人高效轨迹规划方法

近来&#xff0c;连续体机器人研究受到越来越多的关注。其灵活度高&#xff0c;可以调整形状适应动态环境&#xff0c;特别适合于微创手术、工业⽣产以及危险环境探索等应用。 连续体机器人拥有无限自由度&#xff08;DoF&#xff09;&#xff0c;为执行空间探索等任务提供了灵…

有了这玩意,分分钟开发公众号功能!

大家好&#xff0c;我是程序员鱼皮。 不论在企业、毕设还是个人练手项目中&#xff0c;很多同学或多或少都会涉及微信相关生态的开发&#xff0c;例如微信支付、开放平台、公众号等等。 一般情况下&#xff0c;我们需要到官网查阅这些模块对应的 API 接口&#xff0c;自己编写…

数据结构(Java实现):顺序表

目录 1. 线性表2.顺序表2.1自己实现一个List接口2.2 IList接口的实现2.3 测试代码 1. 线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、…

下载npm I就包错解决方案

npm i xxxx -S --legacy-peer-deps 如果包错就执行以上命令