Python 机器学习 数据归一化

news2024/11/18 16:22:42

众所周知机器学习使计算机从研究数据和统计数据中学习机器学习是向人工智能(AI)方向迈进的一步。机器学习是一个分析数据并学习预测结果的程序。此篇文章主要介绍Python机器学习的数据归一。

1、数据归一化

当您的数据具有不同的值,甚至具有不同的度量单位时,可能很难比较它们。与米相比,公斤是多少?还是海拔比时间?

这个问题的答案是扩展。我们可以将数据缩放为易于比较的新值。

看看下表,它与我们在多元回归一章中使用的数据集相同,但是这次,volume列包含的单位是升,而不是立方米(1.0而不是1000)。

这是csv在pycharm中显示的效果如下(该文件命名为cars2.csv):

Car,Model,Volume,Weight,CO2
Toyota,Aygo,1,790,99
Mitsubishi,Space_Star,1.2,1160,95
Skoda,Citigo,1,929,95
Fiat,500,0.9,865,90
Mini,Cooper,1.5,1140,105
VW,Up!,1,929,105
Skoda,Fabia,1.4,1109,90
Mercedes,A-Class,1.5,1365,92
Ford,Fiesta,1.5,1112,98
Audi,A1,1.6,1150,99
Hyundai,I20,1.1,980,99
Suzuki,Swift,1.3,990,101
Ford,Fiesta,1,1112,99
Honda,Civic,1.6,1252,94
Hundai,I30,1.6,1326,97
Opel,Astra,1.6,1330,97
BMW,1,1.6,1365,99
Mazda,3,2.2,1280,104
Skoda,Rapid,1.6,1119,104
Ford,Focus,2,1328,105
Ford,Mondeo,1.6,1584,94
Opel,Insignia,2,1428,99
Mercedes,C-Class,2.1,1365,99
Skoda,Octavia,1.6,1415,99
Volvo,S60,2,1415,99
Mercedes,CLA,1.5,1465,102
Audi,A4,2,1490,104
Audi,A6,2,1725,114
Volvo,V70,1.6,1523,109
BMW,5,2,1705,114
Mercedes,E-Class,2.1,1605,115
Volvo,XC70,2,1746,117
Ford,B-Max,1.6,1235,104
BMW,2,1.6,1390,108
Opel,Zafira,1.6,1405,109
Mercedes,SLK,2.5,1395,120

很难将体积1.0与权重790进行比较,但是如果将它们都缩放为可比较的值,我们可以很容易地看到一个值与另一个值相比较的多少。

缩放数据有多种方法,在本教程中,我们将使用一种称为数据归一的方法。

标准化方法使用以下公式:

z = (x - u) / s

其中z是新值,x是原始值,u是平均值,而s是标准值偏差。

如果从上面的数据集中获取权重列,则第一个值为790,缩放后的值为:

(790 - 1292.23) / 238.74 = -2.1

如果从上面的数据集中获取“体积”列,则第一个值为1.0,缩放后的值为:

(1.0 - 1.61) / 0.38 = -1.59

现在,您可以将-2.1与-1.59相比较,而不是将790与1.0相比较。

不必手动执行此操作, Python sklearn模块有一个称为StandardScaler()的方法,该方法返回带有转换数据集方法的Scaler对象。

例如:

缩放“重量”和“体积”列中的所有值:请注意,前两个值为-2.1和-1.59,与我们的计算相对应:运行示例»

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]

scaledX = scale.fit_transform(X)

print(scaledX)

运行效果如下:

[[-2.10389253 -1.59336644]
 [-0.55407235 -1.07190106]
 [-1.52166278 -1.59336644]
 [-1.78973979 -1.85409913]
 [-0.63784641 -0.28970299]
 [-1.52166278 -1.59336644]
 [-0.76769621 -0.55043568]
 [ 0.3046118  -0.28970299]
 [-0.7551301  -0.28970299]
 [-0.59595938 -0.0289703 ]
 [-1.30803892 -1.33263375]
 [-1.26615189 -0.81116837]
 [-0.7551301  -1.59336644]
 [-0.16871166 -0.0289703 ]
 [ 0.14125238 -0.0289703 ]
 [ 0.15800719 -0.0289703 ]
 [ 0.3046118  -0.0289703 ]
 [-0.05142797  1.53542584]
 [-0.72580918 -0.0289703 ]
 [ 0.14962979  1.01396046]
 [ 1.2219378  -0.0289703 ]
 [ 0.5685001   1.01396046]
 [ 0.3046118   1.27469315]
 [ 0.51404696 -0.0289703 ]
 [ 0.51404696  1.01396046]
 [ 0.72348212 -0.28970299]
 [ 0.8281997   1.01396046]
 [ 1.81254495  1.01396046]
 [ 0.96642691 -0.0289703 ]
 [ 1.72877089  1.01396046]
 [ 1.30990057  1.27469315]
 [ 1.90050772  1.01396046]
 [-0.23991961 -0.0289703 ]
 [ 0.40932938 -0.0289703 ]
 [ 0.47215993 -0.0289703 ]
 [ 0.4302729   2.31762392]]

2、预测CO2值

“多元回归”一章的任务是在仅知道汽车的重量和体积的情况下预测其排放的二氧化碳。

缩放数据集后,在预测值时必须使用缩放比例:

例如:

预测1.3升重2300公斤的汽车的二氧化碳排放量:运行示

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

scaledX = scale.fit_transform(X)

regr = linear_model.LinearRegression()
regr.fit(scaledX, y)

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

运行结果如下:

[107.2087328]

有需要数据和代码的同学可以找我。

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

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

相关文章

一些神经网络基础知识归纳

神经网络(NN)复杂度 NN复杂度,多用NN层数和NN参数个数表示 如上图示 空间复杂度 层数隐藏层的层数1个输出层 上图为2层NN 总参数 3*44 4*2226 时间复杂度 乘加运算次数 3*44*220 指数衰减学习率 可以先用较大学习率,快速得…

KingbaseES V8R3数据库运维案例之---不完整的启动包(incomplete startup packet)复现

案例说明: 在KingbaseES V8R3数据库的sys_log日志中,出现以下故障信息“不完整的启动包(incomplete startup packet)”日志信息。本案例复现此日志信息发生的原因。 如下图所示,日志信息: 适用版本: KingbaseES V8R3 1…

计算最大公约数和最小公倍数被Java程序员用代码写出来啦

沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 嘿,怎么突然讲到最大公约数了? 这么想你肯定是没有好好阅读前面章节中讲到的RSA算法,对于与欧拉结果计算的互为质数的公钥e,其实就需…

树莓派系统安装,网络配置,系统配置

如何安装树莓派的系统 以及 树莓派新系统SSH连接被拒绝的解决方法 1. 烧录方式1(官方,简单) 在下面网站下载 https://www.raspberrypi.com/software/ 打开以后选64位系统 选择安装的u盘 设置ssh,WiFi,登录密码等…

MySQL高级【表级锁】

1:表级锁1.1:介绍表级锁,每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、 InnoDB、BDB等存储引擎中。 对于表级锁,主要分为以下三类: 表锁元数据锁&#xff0…

PLC常见的输入设备及其接线方式列举

PLC常见的输入设备有按钮、行程开关、接近开关、转换开关、拨码器、各种传感器等,输出设备有继电器、接触器、电磁阀等。下面,我们来详细看看PLC如何与这些设备正确地连接输入和输出线路。1.PLC与主令电器类设备的连接下图是PLC与按钮、行程开关、转换开…

现代C++并行与并发笔记 附C++17线程池实现项目实战

文章目录让程序在特定时间休眠启动和停止线程互斥量(mutex)进行延迟初始化——std::call_once将执行的程序推到后台——std::async信号量(condition_variable)C11 线程池前置知识返回值类型推导 result_of 和 invoke_resultpackag…

天翼物联获中国信通院2022 AIoT先锋企业

近日,由中国信息通信研究院组织开展的2022 AIoT先锋企业评选活动成果发布,中国电信天翼物联凭借为AIoT发展作出的积极贡献获“2022 AIoT先锋企业”,是唯一获得该奖项的通信企业。 2022 AIoT先锋企业评选活动由中国信息通信研究院组织开展&…

IDEA 下载依赖包源码报错Sources not found for: org.springframework.cloud:XXX

IDEA 在使用某些类方法想看下源码时,由于只有 class 反编译的类文件,没有原始 Java 文件,想要将源码下载下来,右下角一直报一个错误 Cannot download sources Sources not found for:XXX,很是烦恼,怎么解决…

数据结构---线性表课后习题详解(朱昌杰编著)

刘佳瑜*,王越 *, 黄扬* , 张钊* (淮北师范大学计算机科学与技术学院,安徽 淮北) *These authors contributed to the work equllly and should be regarded as co-first authors. 🌞欢迎来到数据结构的世界 🌈博客主页&#xff1…

【Docker】docker部署前后端分离项目( 前:nginx + vue 后:springboot+ redis + mysql)

目录一.安装docker二.docker安装和配置nginx1.拉取nginx2.创建临时nginx容器3.从nginx容器复制 nginx.conf 文件到宿主机4.删除临时nginx容器5.启动真正的nginx容器6.查看是否挂载成功7.配置nginx.conf 和 vue的包放到指定位置三 docker安装部署redis1.安装redis2.部署redis四 …

如何计算结构体的大小?结构体内存对齐【C语言】

今天我们来讲讲结构体的大小如何来计算 其中涉及到一个结构体中的热门考点:结构体内存对齐 话不多说,开始学习! 要想计算结构体的大小,首先要了解结构体的对齐规则。 目录 结构体内存对齐规则 举例 为什么存在内存对齐? 如…

测试用例该怎么设计?—— 日常加更篇(上)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

火山引擎 DataTester 升级:降低产品上线风险,助力产品敏捷迭代

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 在企业竞争加剧的今天,精益开发和敏捷迭代已成为产品重要的竞争力。如何保障每一次 Feature 高效迭代与安全,如何快速实现面对不同用户的精细化运营…

Java设计模式——单例模式

目录 一、设计模式介绍 二、设计模式类型 三、单例设计模式介绍 单例设计模式八种方式 (一)饿汉式(静态常量) (二)饿汉式(静态代码块) (三) 懒汉式(线程…

【Flink系列】部署篇(二):独立部署高可用Flink集群实战

服务器操作系统:centos7本机操作系统:MacFlink version: 1.15JDK version: java11HA service: ZookeeperFile System: NFS 资源分配: iphostnamerole10.250.0.1main0JM10.250.0.2main1JM10.250.0.3main2JM10.250.0.4worker1TM10.250.0.5wor…

Spring Cloud Eureka的使用

Spring Cloud Eureka 🐻 一个服务注册与发现的组件 🐻🐻🐻🐻🐻🐻ZT😄🐻🐻🐻🐻🐻🐻🐻🐻…

SAP S/4HANA 采购订单处理操作详解

SAP S 4HANA Cloud 被 IDC 评为全球 SaaS 和云 ERP 系统领导者。SAP S4HANA Cloud是一套接近于零配置的系统,基于最佳业务实践的配置已经内嵌在标准版本中,可以让购买企业在第一时间内获得最全面的解决方案。本文就以其中最为常见的采购订单创建及处理流…

一页PPT自动生成短视频的研究

希望通过一些技术,将以前自己讲过的PPT转换成有解说的短视频,从而进行一些分发 旁白到语音 从文字转换成语音我们首先想到的就是TTS,这其中我也是用了各式各样的TTS,发现发音电子音非常强,听听起来很不舒服。后来发现…

Spring 事务和事务的传播机制

1.Spring 中事务的实现方式Spring 中的操作主要分为两类: 编程式事务 (了解)声明式事务编程式事务就是手写代码操作事务, 而声明式事务是利用注解来自动开启和提交事务. 并且编程式事务用几乎不怎么用. 这就好比汽车的手动挡和自动挡, 如果有足够的的钱, 大部分人应该都会选择自…