汽车燃料效率预测

简介: 本教程的目的是要预测汽车的燃料效率,相比于之前的分类,这是一个回归问题,回归是针对连续变量的,分类是针对离散变量的用的数据集是 Auto MPG ,包含有 MPG、Cylinders、Displacement、Horsepower、Weight、Acceleration、Model Year、Origin 这么 8 个特征,我们的目的是根据其它 7 个特征去预测 MPG ,数据如下图所示

本教程的目的是要预测汽车的燃料效率,相比于之前的分类,这是一个回归问题,回归是针对连续变量的,分类是针对离散变量的

用的数据集是 Auto MPG ,包含有 MPG、Cylinders、Displacement、Horsepower、Weight、Acceleration、Model Year、Origin 这么 8 个特征,我们的目的是根据其它 7 个特征去预测 MPG ,数据如下图所示

由于本教程篇幅过长,我们这里就不粘贴过多代码了,如果需要查看代码,文末有提供链接地址

第一步我们需要加载数据,然后对数据进行清理,把一些 unknown values 去除,如下图所示,我们可以发现 Horsepower 这一列有 6 个需要清除的值

我们仔细观察下数据可以发现,Origin 这一列的值,其实是类别,不是数值,所以需要转化成 one-hot ,处理结果如下图所示

接下来我们需要进行数据集的划分,执行如下代码

train_dataset = dataset.sample(frac=0.8, random_state=0)
test_dataset = dataset.drop(train_dataset.index)

我们再来查看下各个特征的一些统计结果

我们可以发现一些特征的数值特别大,比如 Weight ,一些特征的数值特别小,比如 Cylinders ,所以我们需要对数据进行标准化

Linear Regression

用一个变量预测 MPG

horsepower = np.array(train_features['Horsepower'])

horsepower_normalizer = preprocessing.Normalization(input_shape=[1,], axis=None)
horsepower_normalizer.adapt(horsepower)

horsepower_model = tf.keras.Sequential([
    horsepower_normalizer,
    layers.Dense(units=1)
])

horsepower_model.summary()

上面是核心代码,其中输入的一个变量指 Horsepower ,预测的目标是 MPG

用多个变量预测 MPG

normalizer = preprocessing.Normalization(axis=-1)
normalizer.adapt(np.array(train_features))

linear_model = tf.keras.Sequential([
    normalizer,
    layers.Dense(units=1)
])

上面是核心代码,其中输入的多个变量指 Cylinders、Displacement、Horsepower、Weight、Acceleration、Model Year、Origin 这么 7 个特征,预测的目标是MPG

DNN regression

def build_and_compile_model(norm):
  model = keras.Sequential([
      norm,
      layers.Dense(64, activation='relu'),
      layers.Dense(64, activation='relu'),
      layers.Dense(1)
  ])

  model.compile(loss='mean_absolute_error',
                optimizer=tf.keras.optimizers.Adam(0.001))
  return model

上面是 DNN 的模型搭建代码

dnn_horsepower_model = build_and_compile_model(horsepower_normalizer)

上面是用一个变量去预测 MPG

上图是 dnn_horsepower_model.summary() 的结果

dnn_model = build_and_compile_model(normalizer)
dnn_model.summary()

上面是用所有特征去预测 MPG

上图是 dnn_model.summary() 的结果

针对 4 个方案,我们可以进行对比,如上图所示,我们发现 dnn_model 的 MAE 最低,也就是该模型效果最好

代码地址: https://codechina.csdn.net/csdn_codechina/enterprise_technology/-/blob/master/basic_regression_fuel_efficiency.ipynb

目录
相关文章
|
3月前
|
人工智能 运维 调度
阿里云百炼Token Plan全维度剖析:底层能力、对比优势与订阅选择指南
阿里云百炼Token Plan是百炼平台推出的预付费大模型算力订阅方案,区别于平台原生按量付费、次数计费两类模式,以Credits作为统一算力计量积分,覆盖百炼内部全部公有大模型,包含通义千问全系文本模型、图文多模态模型、图像生成模型。该产品诞生主要解决传统大模型调用的普遍痛点:按量付费账单随业务流量无序波动,财务预算难以管控;多模型独立计费导致对账繁琐;团队多账号调用权限分散、算力无法统一调配;业务高峰期调用排队、响应延迟。按照使用主体分为个人版与团队版,个人版面向独立开发者,仅支持单人独立调用;团队版面向企业协作场景,具备席位拆分、权限隔离、用量审计能力,也是本次618活动主推版本。
485 1
|
3月前
|
存储 人工智能 自然语言处理
数字化转型赋能GEO(生成式引擎优化)全链路实践指南
本文系统阐述生成式引擎优化(GEO)与数字化转型的深度协同:以GEO五层架构为骨架、四标融合为治理准绳,从数据、流程、组织、技术四维推动企业构建AI可信数字资产,实现从“被搜索”到“被引用”的价值跃迁。(239字)
|
5月前
|
存储 缓存 Java
击穿 Java 高并发性能瓶颈:伪共享底层原理、缓存行填充与 @Contended 注解全维度深度拆解
本文深入剖析CPU缓存体系、MESI协议与缓存行原理,系统揭示伪共享(False Sharing)的本质、产生机制及对Java高并发性能的严重危害,并详解手动填充与JVM原生`@Contended`注解两种解决方案,涵盖检测定位、最佳实践与跨架构适配。
381 1
|
9月前
|
存储 运维 Serverless
🌤️ 玩转函数计算FC:无需服务器,三步实现每日天气邮件推送
一位开发者用57行代码、每周不到0.3元,借助阿里云函数计算FC,为团队搭建智能天气提醒系统。无需服务器运维,按需执行,自动定时推送邮件。本文详解从零搭建全过程,展现无服务器架构的高效与低成本,助你快速实现个性化定时任务。
|
9月前
|
传感器 人工智能 供应链
商业服务机器人的技术演进:咖啡机器人深度解析与主流产品评测
本文解析咖啡机器人三大核心技术:高精度双臂协作、AI视觉复刻与闭环反馈、智能操作系统与多模态交互,深入剖析猎户星空、ABB、越疆、川崎等主流产品的技术优势与适用场景,为商业选型提供科学依据。(238字)
615 0
|
11月前
|
人工智能 文字识别 安全
2025年企业防范员工向第三方人工智能工具泄露数据的全面防护方案
随着生成式人工智能工具的普及,企业员工在日常工作中越来越依赖ChatGPT、DeepSeek等第三方AI服务提升效率。然而,这种便利背后隐藏着严重的数据泄露风险。调查显示,近六成企业发生过敏感数据提交事件,其中三成导致实际泄露。传统防护手段在面对AI数据泄露场景时效果有限,企业急需建立针对性的防护体系。
|
10月前
|
机器学习/深度学习 人工智能 供应链
从“识图”到“购得”:图片搜索商品如何重构消费与供应链逻辑?
图片搜索正重塑电商:从“看到”到“买到”,只需一张图。它以AI解析视觉特征,精准匹配商品,打通C端购物与B端供应链,让找货、比价、溯源高效直达,成为连接视觉信息与交易的核心纽带。
|
前端开发
如何在Promise链中处理Promise.reject()抛出的错误?
如何在Promise链中处理Promise.reject()抛出的错误?
932 154
|
SQL 人工智能 程序员
AI狂飙,程序员饭碗要丢?
AI 编程工具正大幅提升程序员的效率:生成重复性代码(如 CRUD 接口)、解读报错信息加速 Debug、快速生成文档/注释、自动化测试和脚本编写。它们像效率倍增器,让新手更快上手,让老手省去大量“体力活”。 核心冲击在于:​ 单纯编写基础业务逻辑代码(尤其是模式化任务)的价值被稀释,能被 AI 有效替代。 出路是能力跃升,工作重心转移,掌握关键新技能,构筑护城河 本质:​ AI 如同强大新“实习生”。程序员需成为高效“指挥者”——善用 AI 者解决高阶问题腾飞,仅依赖基础编码能力者面临挤压。未来属于驾驭 AI 的程序员。
558 1