特征处理是什么:

  通过特定的统计方法(数学方法)将数据转化成为算法要求的数据

sklearn特征处理API:

  sklearn.preprocessing

代码示例:  文末!

归一化:

公式:       

注意:作用于每一列,max为一列的最大值,min为一列的最小值,那么X''为最终结果,mx、mi分别为指定区间,默认mx为1,mi为0

sklearn归一化API:

  sklearn.preprocessing.MinMaxScaler

归一化总结:

  注意在特定场景下最大值与最小值是变化的,另外,最大值与最小值非常容易受到异常点的影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景

标准化:

公式:

对于归一化来说,如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变

对于标准化来说,如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小

sklearn标准化API:

  sklearn.preprocessing.StandardScaler

标准化总结:

  在已有样本足够多情况下比较稳定,适合现在嘈杂的大数据

缺失值:

sklearn缺失值API:

  sklearn.preprocessing.imputer

代码示例:

 from sklearn.preprocessing import MinMaxScaler, StandardScaler, Imputer
import numpy as np def mm():
"""归一化处理
X' = (x-min)/(max-min)
X'' = X'*(mx-mi)+mi
"""
m = MinMaxScaler(feature_range=(5,10)) # 默认范围为0-1
array = [[90,2,10,40],[60,4,15,45],[75,3,13,46]]
data = m.fit_transform(array)
print(data) def standard():
"""标准化缩放
相比于归一化,标准化对于存在异常值而对结果的影响不大,适合大数据
而归一化,由于受异常点的影响,所以......
"""
s = StandardScaler()
array = [[1,-1,3], [2,4,2], [4,6,-1]]
data = s.fit_transform(array)
print(data) def im():
"""缺失值处理"""
im = Imputer(missing_values='NaN', strategy='mean', axis=0) # nan 或 NaN都可以,固定写法,填补策略(平均值),按列填充
data = im.fit_transform([[1,2],[np.nan,3],[7,6]])
print(data) if __name__ == '__main__':
mm()
standard()
im()

数据的特征预处理?(归一化)&(标准化)&(缺失值)的更多相关文章

  1. 什么是机器学习的特征工程?【数据集特征抽取(字典,文本TF-Idf)、特征预处理(标准化,归一化)、特征降维(低方差,相关系数,PCA)】

    2.特征工程 2.1 数据集 2.1.1 可用数据集 Kaggle网址:https://www.kaggle.com/datasets UCI数据集网址: http://archive.ics.uci ...

  2. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std  计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并处以其方差.得到的结果是,对于每个属 ...

  3. 【原】关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std  计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并处以其方差.得到的结果是,对于每个属 ...

  4. 使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std  计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并除以其方差.得到的结果是,对于每个属 ...

  5. [Scikit-Learn] - 数据预处理 - 归一化/标准化/正则化

    reference: http://www.cnblogs.com/chaosimple/p/4153167.html 一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/ ...

  6. 特征预处理之归一化&标准化

    写在前面 这篇博客的主要内容 应用MinMaxScaler实现对特征数据进行归一化 应用StandardScaler实现对特征数据进行标准化 特征预处理 定义 ​ 通过一些转换函数将特征数据转换成更加 ...

  7. 使用Tensorflow搭建回归预测模型之二:数据准备与预处理

    前言: 在前一篇中,已经搭建好了Tensorflow环境,本文将介绍如何准备数据与预处理数据. 正文: 在机器学习中,数据是非常关键的一个环节,在模型训练前对数据进行准备也预处理是非常必要的. 一.数 ...

  8. AI学习---特征工程【特征抽取、特征预处理、特征降维】

    学习框架 特征工程(Feature Engineering) 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已 什么是特征工程: 帮助我们使得算法性能更好发挥性能而已 sklearn主 ...

  9. Alink漫谈(十) :特征工程 之 特征哈希/标准化缩放

    Alink漫谈(十) :特征工程之特征哈希/标准化缩放 目录 Alink漫谈(十) :特征工程之特征哈希/标准化缩放 0x00 摘要 0x01 相关概念 1.1 特征工程 1.2 特征缩放(Scali ...

随机推荐

  1. 下载安装 binary editor

    http://www.eecanalyzer.net/downloads

  2. table表格整体居中

    代码: <div style="text-align:center"> <table border="1" cellpadding=" ...

  3. Angular4.x+Ionic3 踩坑之路之打包时出现JAVASCRIPT HEAP OUT OF MEMORY的几种解决办法

    最近开发的一个比较大型的App时打生产环境包是出现内存不足导致打包失败的问题.然后百度发现解决方法都是一样,自己试了一下都没什么暖用,心里只想用呵呵来形容了.最后经朋友介绍,技术问题还得去谷歌,git ...

  4. html中如何获取元素在文档中的位置

    html中如何获取元素在文档中的位置 一.总结 一句话总结: $("#elem").offset().top $("#elem").offset().left ...

  5. Ubuntu: Linux下查看本机显示器分辨率(xrandr)

    版权声明:转载请注明出处 https://blog.csdn.net/JNingWei/article/details/75044598   Linux下查看本机显示器分辨率: $ xrandr Sc ...

  6. Programming a Hearthstone agent using Monte Carlo Tree Search(chapter one)

    Markus Heikki AnderssonHåkon HelgesenHesselberg Master of Science in Computer Science Submission dat ...

  7. ajax调用c#后端,发现参数没数值

    之前是int的数据,名字是id 后面被改成字符串的数据,名字是encrptedId 因为名字不匹配,导致找不到数值.只需要把js里调用传递的参数名字改一下,或者C#后端,继续保持原来的名字

  8. <JavaScript>谈谈javascript语法里一些难点问题(一)

    1)    引子 前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示: var a = 1; function hehe() { window.alert(a); var a = ...

  9. AnimationDrawable

    ①先定义一个AnimationDrawable的xml资源文件: <?xml version="1.0" encoding="utf-8"?> &l ...

  10. 通过id获取指定元素内容(标签里面的 标签内容获取)

    html页面如下 <tr style="background-color:#fff;"> <td colspan="2" align=left ...