专题一:预处理数据(使用sklearn-preprocessing)
时间:2022-07-22
本文章向大家介绍专题一:预处理数据(使用sklearn-preprocessing),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
环境:Python3.6.5 编译器:jupyter notebook
注:这篇文章会不断更新…
1. 标准化
数据集的标准化(Standardization)
对scikit-learn
中实现的大多数机器学习算法来说是常见的要求 。如果个别特征或多或少看起来不是很像标准正态分布(具有零均值和单位方差),那么这些机器学习算法的表现可能会比较差。
在机器学习算法的目标函数(例如SVM的RBF内核或线性模型的l1和l2正则化) 中有很多地方都假定了所有特征都是以0为中心而且它们的方差也具有相同的阶数。 如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法的目标函数中占据主导位置, 导致学习器并不能像我们所期望的那样,从其他特征中学习。
函数scale
提供了一个快速简单的方法来在单个array-like数据集上执行上述标准化操作
from sklearn import preprocessing
import numpy as np
#创建一组特征数据,每一行表示一个样本,每一列表示一个特征
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
#将每一列特征标准化为标准正太分布,注意,标准化是针对每一列而言的
X_scaled = preprocessing.scale(X_train)
X_scaled
"""
输出:
array([[ 0. , -1.22474487, 1.33630621],
[ 1.22474487, 0. , -0.26726124],
[-1.22474487, 1.22474487, -1.06904497]])
"""
被缩放的数据具有零均值和单位方差:
X_scaled.mean(axis=0)
"""
输出:array([0., 0., 0.])
"""
X_scaled.std(axis=0)
"""
输出:array([1., 1., 1.])
"""
preprocessing
模块还提供了一个工具类StandardScaler
,它实现了Transformer
的API来计算训练集上的平均值
和标准偏差
,以便以后能够在测试集上重新应用相同的变换。
scaler = preprocessing.StandardScaler().fit(X_train)
#将每一列特征标准化为标准正太分布,注意,标准化是针对每一列而言的
scaler.transform(X_train)
"""
输出:
array([[ 0. ..., -1.22..., 1.33...],
[ 1.22..., 0. ..., -0.26...],
[-1.22..., 1.22..., -1.06...]])
"""
(本文参考官网文档)
- 想玩集群?读写分离?你要先懂这个!
- 三分钟理解“状态模式”——设计模式轻松掌握
- JS生成UUID
- Mysql性能优化之开启Mysql慢查询日志
- 三分钟理解“命令模式”——设计模式轻松掌握
- 把表单转成json,并且name为key,value为值
- PHP经典面试题目汇总(上篇)
- 横向滑动的HorizontalListView滑动指定位置的解决方法
- 高可用架构-- MySQL主从复制的配置
- 零基础入门深度学习 | 第二章:线性单元和梯度下降
- 比特币价,黄金和无稽之谈 - 怎样不去给比特币估值
- 在PHP中,cookie和session的使用
- 剑指 offer代码解析——面试题29数组中出线次数超过一半的数字
- 剑指offer代码解析——面试题25二叉树中和为某一值的路径
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为容器化的 Postgres 数据库启用 ssl 连接
- 【SpringBoot web-1】web项目数据校验
- 【SpringBoot web-2】web项目参数传递
- 筛法求素数
- redis学习(十三)
- 【SpringBoot web-3】web项目统一数据封装与全局异常处理
- 送你 8 张图,好好理解一下。
- 【前端系列-1】ajax与Springboot通信将数据库数据渲染到前端表格
- 【前端系列-2】layui+springboot实现表格增删改查
- 容器技术|Docker三剑客之docker-swarm
- 【前端系列-3】layui表格使用自定义模板templet
- 【前端系列-4】layui表格集成select选择框和switch开关
- 使用docker Registry快速搭建私有镜像仓库(内附干货)
- 【前端系列-5】layui-from swtich使用小结
- Python解析变长结构体