Python 机器学习,数据的标准化

news/2024/7/9 8:38:33 标签: python, 机器学习, sklearn, 数据分析, 人工智能

数据的标准化方式

有两种常见的方法可以让所有的属性有相同的量度:线性函数归一化(Min-Max scaling)和标准化(standardization)。

方式 1:StandardScaler()

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()  # SS方式
for clo in train_x.columns:#循环每一列
    train_x[clo] = scaler.fit_transform(train_x[clo].values.reshape(-1, 1))

#转化函数为:z = (x - u) / s,Z为转化后的值,x为当 前值, u为均值, s为样本的标准差

代码解释:
该段代码使用了StandardScaler类从sklearn.preprocessing模块中进行数据标准化操作。

首先,创建了一个StandardScaler对象,并将其赋值给变量scaler

然后,通过一个循环遍历train_x的每一列(特征):

  • 针对每一列,将该列的值转换为一维数组形式,即使用values.reshape(-1, 1)
  • 调用scaler.fit_transform()方法,将该列的数据进行标准化转换。
  • 最后,将标准化后的结果赋值回原始数据集的相应列train_x[clo]

这段代码的转换函数为:z = (x - u) / s,其中z为转换后的值,x为当前值,u为均值,s为样本的标准差。通过该标准化操作,可以使每一列的数据都按照其均值为0,标准差为1的分布进行转换,以便更好地适应机器学习算法的训练和预测过程。

方式 2:归一化(normalization)

线性函数归一化(许多人称其为归一化(normalization))很简单:值被转变、重新缩放,直到范围变成 0 到 1。我们通过减去最小值,然后再除以最大值与最小值的差值,来进行归一化。Scikit-Learn 提供了一个转换器MinMaxScaler来实现这个功能。它有一个超参数feature_range,可以让你改变范围,如果不希望范围是 0 到 1。

python">from sklearn.preprocessing import StandardScaler, MinMaxScaler
std_scaler = StandardScaler()
mm_scaler = MinMaxScaler()
python">housing_num_ss = std_scaler.fit_transform(housing_num)
housing_num_ss

Reference

手把手带你开启机器学习之路——房价预测(一)

二、端到端的机器学习项目(StatLib 的加州房产价格数据集)


http://www.niftyadmin.cn/n/336278.html

相关文章

ffmpeg-转码脚本02

ffmpeg-转码脚本详解 高级脚本 以下为主要部分 更高级优化要见git上 mkv转码电影脚本 ECHO OFF REM 以下参数不可乱填 SET FFMPEG%~DP0\ffmpeg.exe ::------------------------------------------------------------------------------ CALL:PRO_LOOPDIR ::CALL:PRO_LOOPDIR_SU…

滨州实用新型申请流程

首先,实用新型专利申请程序 1、向专利局受理处提交申请文件的,通常可以收到国家知识产权局专利局(以下简称专利局)的受理通知书一个月左右。不符合受理要求的,将收到不受理通知书和退还申请文件的复印件。 2、根据专利法,实用新型…

09-DockerFile

文章目录 1 Dockerfile2 构建过程3 Dockerfile保留字3.1 FROM3.2 MAINTAINER3.3 RUN3.4 EXPOSE3.5 WORKDIR3.6 USER3.7 ENV3.8 VOLUME3.9 ADD3.10 COPY3.11 CMD3.12 ENTRYPOINT 4 构建镜像4.1 案例14.2 案例2 5 虚悬镜像 1 Dockerfile Dockerfile 是用来构建 Docker 镜像的文本…

论文解读 | 《基于采样的MPC控制的约束视觉》

原创 | 文BFT机器人 引言 Introduction 视觉伺服控制方案,如基于图像的(IBVS),基于姿态的(PBVS)或基于混合的(HBVS),在过去的几十年里得到了广泛的发展。众所周知,要处理的主要问题涉及局部极小点或奇异点的存在、可见性约束、联合…

技术日志2023-5-16

1、关于Java快速创建小集合的方式 1、可以直接使用 Arrays.asList(T… a) 来创建一个List。 Arrays.asList("1", "2", "1");2、使用 Stream.of(T… values) 来快速创建一个List或Set // 1.创建一个List List<String> l2 Stream.of(&qu…

详解FreeRTOS:嵌入式多任务系统的任务调度机制(理论篇—5)

目录 1、时间片调度算法 2、优先级调度算法 3、优先级的时间片调度算法 常见的任务调度机制主要有时间片调度算法(时分式)、优先级调度算法(抢占式)和基于优先级的时间片调度算法。 1、时间片调度算法 时间片调度算法指的是操作系统先让某个任务运行一个时间

2023—Unity打包Pico3全流程(Pico插件)

一、项目选择了2021.3.0版本的URP&#xff0c;把项目Build成Android 二、打开Project Setting→ 安装最下面的XR Plugin Management 安装完成后的界面&#xff0c;此时还没有Pico选项出现 三、我们需要在该网站下载Pico的SDK包 picoxr/VRTK-Support (github.com) 解压该文件到…

STM32单片机蓝牙APP自动伸缩遮阳棚雨伞雨滴角度温度光强控制

实践制作DIY- GC0130-蓝牙APP自动伸缩遮阳棚 一、功能说明&#xff1a; 基于STM32单片机设计-蓝牙APP自动伸缩遮阳棚 二、功能介绍&#xff1a; 基于STM32F103C系列&#xff0c;LCD1602显示器&#xff0c;光敏电阻采集光强&#xff0c;雨滴传感器&#xff0c;ULN2003控制步进…