03_数据的特征预处理

03 数据特征预处理

特征的预处理

特征的预处理

  1. 定义:通过特定的统计方法(数学方法),将数据转换成算法要求的数据。
  2. 数值型数据:标准缩放
    • 归一化
    • 标准化
  3. 类别性数据: one-hot编码
  4. 时间类型: 时间的切分

归一化

  1. 定义: 通过对原始数据的变化把数据映射到 [0,1] 之间

    • 优点:多个特征时,某一个特征对最终结果不会造成更大的影响 (同一个维度)
    • 缺点:容易受到极大值和极小值的影响


标准化

  1. 定义: 将原始数据变换为均值为0标准差为1的范围内

    • 如果出现异常点,由于具有一定的数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小
    • 在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
from sklearn.preprocessing import MinMaxScaler, StandardScaler
def mm():
    """
    归一化预处理
    :return:None
    """
    mm = MinMaxScaler()
    data = mm.fit_transform([[90, 2, 10, 40], [60, 4, 15, 45], [75, 3, 13, 46]])
    print(data)

def stand():
    """
    标准化预处理
    :return: None
    """
    st = StandardScaler()
    data = st.fit_transform([[90, 2, 10, 40], [60, 4, 15, 45], [75, 3, 13, 46]])
    print(data)

if __name__ == '__main__':
    mm()
    print('*' * 50)
    stand()

缺失值的处理

  1. 缺失值的处理方法

    • 删除: 如果每列或者行数缺失值达到一定的比例,建议放弃整行或者整列
    • 插补: 通过缺失值每行或者每列(特征值)的平均值、中位数来填补
  2. sklearn缺失值API: sklearn.preprocessing.Imputer # impute 归咎于
import numpy as np
from sklearn.preprocessing import Imputer

def im():
    """
    缺失值处理
    :return: None
    """
    # NaN, nan都可以
    im = Imputer(missing_values='NaN', strategy='mean', axis=0)  # axis=0 列,可以记忆0是竖着圈
    data = im.fit_transform([[1, 2], [np.nan, 3], [7, 6]])
    print(data)
    return None

if __name__ == '__main__':
    im()
  1. 关于np.nan(np.NaN)

    • numpy的数组中可以使用np.nan来代替缺失值,属于float类型
    • 如果是文件中的一些缺失值,可以替换成nan,通过np.array转化成float型的数组即可

原文地址:https://www.cnblogs.com/hp-lake/p/11827623.html

时间: 2024-10-09 14:46:21

03_数据的特征预处理的相关文章

1.3_数据的特征预处理

数据的特征预处理 单个特征 (1)归一化 归一化首先在特征(维度)非常多的时候,可以防止某一维或某几维对数据影响过大,也是为了把不同来源的数据统一到一个参考区间下,这样比较起来才有意义,其次可以程序可以运行更快. 例如:一个人的身高和体重两个特征,假如体重50kg,身高175cm,由于两个单位不一样,数值大小不一样.如果比较两个人的体型差距时,那么身高的影响结果会比较大,k-临近算法会有这个距离公式. min-max方法 常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间,变换的函

1. 特征工程之特征预处理

1. 前言 "数据决定了机器学习的上限,而算法只是尽可能逼近这个上限",这里的数据指的就是经过特征工程得到的数据.特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限.特征工程能使得模型的性能得到提升,有时甚至在简单的模型上也能取得不错的效果.特征工程在机器学习中占有非常重要的作用,主要包括数据与特征预处理.特征选择和数据的降维三部分.接下去会通过3篇文章对这三方面进行介绍.今天首先讲讲数据与特征的预处理. 2. 数据与特

机器学习系列(6)_从白富美相亲看特征预处理与选择(下)

作者:viewmode=contents">龙心尘 &&寒小阳 时间:2016年1月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50493845. http://blog.csdn.net/han_xiaoyang/article/details/50503115 声明:版权全部,转载请联系作者并注明出处 1. 剧情一:挑螃蟹的秘密 李雷与韩梅梅的关系发展得不错.趁国庆休假一起来天津玩. 今天,李雷十分

特征工程之特征预处理

在前面我们分别讨论了特征工程中的特征选择与特征表达,本文我们来讨论特征预处理的相关问题.主要包括特征的归一化和标准化,异常特征样本清洗与样本数据不平衡问题的处理. 1. 特征的标准化和归一化  由于标准化和归一化这两个词经常混用,所以本文不再区别标准化和归一化,而通过具体的标准化和归一化方法来区别具体的预处理操作. z-score标准化:这是最常见的特征预处理方式,基本所有的线性模型在拟合的时候都会做 z-score标准化.具体的方法是求出样本特征x的均值mean和标准差std,然后用(x-me

特征工程——特征预处理

特征的标准化和归一化 异常特征样本清洗 处理不平衡数据 特征的标准化和归一化   由于标准化和归一化这两个词经常混用,所以本文不再区别标准化和归一化,而通过具体的标准化和归一化方法来区别具体的预处理操作. z-score标准化:这是最常见的特征预处理方式,基本所有的线性模型在拟合的时候都会做 z-score标准化.具体的方法是求出样本特征x的均值mean和标准差std,然后用(x-mean)/std来代替原特征.这样特征就变成了均值为0,方差为1了.在sklearn中,我们可以用Standard

【炼数成金 RapidMiner 二 】数据导入、预处理、导出

(1)链接数据库 (2)选择相关数据 (3)导入数据显示 (4)第二种方案 直接打开一个csv文件 (5) 设定存储位置 得到插入csv文件的数据表 (6)元数据视图和"数据视图"中查看数据集.注意是否有任何属性具有缺失或不一致的数据. (7)替换缺失值 结果buying属性下的缺失个数为0 (7)使用过滤器 过滤其他的缺失数据 元数据缺失的数据 被删除 [炼数成金 RapidMiner 二 ]数据导入.预处理.导出

OpenCV实践之路——人脸识别之一数据收集和预处理

本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51386949 微博:http://weibo.com/xingchenbing  前段时间对人脸检测和人脸标记进行了一些尝试:人脸检测(C++/Python)和用Dlib库进行人脸检测和人脸标记.但是检测和识别是不同的,检测解决的问题是图片中有没有人脸:而识别解决的问题是,如果一张图片中有人脸,这是谁的脸.人脸检测可以利用op

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

前言: 在前一篇中,已经搭建好了Tensorflow环境,本文将介绍如何准备数据与预处理数据. 正文: 在机器学习中,数据是非常关键的一个环节,在模型训练前对数据进行准备也预处理是非常必要的. 一.数据准备: 一般分为三个步骤:数据导入,数据清洗,数据划分. 1.数据导入: 数据存放在原始格式多种多样,具体取决于用于导入数据的机制和数据的来源.比如:有*.csv,*.txt,*xls,*.json等. 2.数据清洗: 数据清洗主要发现并纠正数据中的错误,包含检查数据的一致性,数据的无效值,以及缺

特征预处理

# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ import numpy as np from sklearn.preprocessing import StandardScaler #模块1 标准化 #无量纲化使不同规格的数据转换到同一规格.常见的无量纲化方法有标准化和区间缩放法. #标准化的前提是特征值服从正态分布,标准化后,其转换成