概念
特征预处理是什么呢?特征预处理是通过统计方法(数学方法)将数据转换成算法要求的数据,所以特征预处理也叫做数据预处理。
下面是几种数据预处理的方法
1、数值型数据:标准缩放:1、归一化2、标准化
2、类别型数据:one-hot编码
3、时间类别:时间的划分
下面介绍归一化和标准化归一化
归一化
特点:通过对原始数据进行变换把数据映射到(默认在[0,1])之间公式:
其中公式作用于每一列(列:特征,行:样本),max和min分别代表每一列的最大值和最小值,X''为最终结果,mx,mi分别为指定的映射区间的最大值和最小值默认值为1和0。
下面是归一化的例子:
当多个特征同等重要的时候需要进行归一化处理,目的是使每一个特征不会对最终结果造成更大的影响。
归一化的缺点是:异常点对最大值和最小值影响太大,所以说只适合传统精确小数据场景。
下面是归一化的Python代码(使用sklearn):
def mm():
"""
归一化处理
:return: None
"""
mm = MinMaxScaler(feature_range=(0,1))
data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
print(data)下面是运行结果:
标准化
特点:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内。
公式:(由于输入不方便,所以直接引用)
标准化的优点是具有一定数据量,少量的异常点对于平均值得影响并不太大即异常点对于方差和平均值得影响是比较小。
下面是标准化的Python代码:
def stand():
"""
标准化处理
:return: None
"""
std = StandardScaler()
data = std.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
print(data)
return None运行结果:
...
特征工程-数据预处理 1、标准化 值转换为0,方差为1的分布 如SVM的RBF核和线性模型的L1和L2正则化项,都假设所有特征的均值都为零,并且方差在同一个数量级。如果一个特征的方差比其余特征的方差大许多个数量级,那么该特征将会主导整个目标函数,使得模型不能从其余特征学习到数据的特征 1)Min-Max标准化 可以将数据放缩到一个指定区间 2)稀疏数据的标准化 对稀疏数据直接进行标准化会破坏数据的...
特征工程部分内容 对于原始数据: 首先明确有多少特征,哪些是连续的,哪些是类别的 检查特征是否有确实,对缺失的特征选择适当的方法进行填充 对连续性特征进行标准化, 对类别特征进行one-hot编码 将需转换成类别型数据的连续型数据二值化 为防止过拟合,选择是否要将数据进行正则化 若对数据初探之后效果不佳可以尝试使用多项式方法寻找非线性关系 根据实际问题分析是否需要对特征进行相应的函数转换 缺失值处...
特征预处理 通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程 包含内容 数值型数据的无量纲化 归一化 标准化 特征预处理API sklearn.preprocessing 为什么进行无量纲化: 特征单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响目标结果,使得一些算法无法学习到其他特征 归一化 1. 定义 将原始数据进行变换把数据映射到(默认为0-1)之...
我在前面的几篇文章里面介绍了一些机器学习的算法,当然不是非常全面,只是大致介绍,但我觉得对我来说已经对算法有了一定的理解。但是当我想完成一个真正的数据处理任务的时候,发现还是不够,从原始数据到开始用算法训练之间还有一部分空白,这个空白就是——特征工程。 我在一些文章里面都看到这种说法数据和特征决定了最后结果的上限,而算法只是用来逼近这个上限的工具。对此我深以为然,数据和选择...
文章目录 数据挖掘的五大流程 数据预处理(preprocessing) 数据归一化 数据标准化 缺失值处理 处理离散型特征和非数值型标签 处理连续型特征 二值化 分箱 特征选择(feature selection) 特征提取(feature extraction) Filter过滤法 方差过滤 相关性过滤 卡方过滤 F检验 互信息法 Embedded嵌入法 Wrapper包装法 数据挖掘的五大流程...
数据预处理:从数据中检测、纠正、删除损坏的不准确的或者不适用于模型记录的过程 目的:让数据更加适应模型,匹配模型需求 特征工程:将原始数据转换为更能代表预测模型的潜在问题的特征工程。可以通过挑选最相关特征,提取特征以及创造特征来实现。其中创造特征又经常以将为的方式实现。 &n...
原则: 1.缺失数据的比例 2.数据的重要性 方法: 如果缺失的数据不重要或者缺失的很多可以直接删除。 删除: 1.删除所有包含缺失数据的行 2.删除所有包含缺失数据的列 3.删除缺失的某个数据列如:删除a,b列 如果缺失数据重要或者缺失的不多进行填充。 填充: 1.用均值、众数、中位数等填充 2.用没有缺失的数据当训练集,缺失的数据当测试集,用机器学习的方法去预测填充。 数据集使用的是华为算法精...
'''在实际工作中获取到的数据往往不那么理想,可能会存在非数值类型的文本数据、重复值、缺失值、异常值及数据分布不均衡等问题,因此,在进行数学建模前还需要对这些问题进行处理,这项工作称为特征工程。特征工程通常分为特征使用方案、特征获取方案、特征处理、特征监控几大部分,其中特征处理是特征工程的核心内容,有时称为数据预处理。''' #非数值类型数据处理 '''机器学习建模时处理的都是数值类型的数据,然而...
打算做个网站,学着安装mysql。网上查了一些教程,最后找到官网教程以及另一个教程,互为参照。我采用APT库安装方式,步骤如下: 在https://dev.mysql.com/downloads/repo/apt/下载.deb包并安装,出来图形界面直接默认选ok就行 更新 如果出现以下关于签名的问题 参考https://serverok.in/mysql-8-apt-error-the-follo...