机器学习一(3)特征预处理

3.1概念

  • 含义:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程,包含归一化、标准化
  • 目标:了解数值型数据、类别型数据特点
    应用MinMaxScaler实现对特征数据进行归一化
    应用StandardScaler实现对特征数据进行标准化
  • 意义:特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征。所以要无量纲化,使不同规格的数据转换到同一规格
  • 导入模块
from sklearn.preprocessing import MinMaxScaler, StandardScaler

3.2 归一化

  • 定义:通过对原始数据进行变换把数据映射到(默认为[0,1])之间
    在这里插入图片描述
  • API

sklearn.preprocessing.MinMaxScaler (feature_range=(0,1))
MinMaxScalar.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array
  • 实例分析流程
    1、实例化MinMaxScalar

    2、通过fit_transform转换

import pandas as pd
from sklearn.preprocessing import MinMaxScaler

def minmax_demo():
    """
    归一化演示
    :return: None
    """
    data = pd.read_csv("dating.txt")
    print(data)
    # 1、实例化一个转换器类
    transfer = MinMaxScaler(feature_range=(2, 3))
    ##范围在2-3
    # 2、调用fit_transform
    data = transfer.fit_transform(data[['milage','Liters','Consumtime']])
    print("最小值最大值归一化处理的结果:\n", data)

    return None

3.3标准化

  • 定义:通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
  • 对于标准化来说:如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。
  • 在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。
    -在这里插入图片描述
  • API
sklearn.preprocessing.StandardScaler( )
处理之后每列来说所有数据都聚集在均值0附近标准差差为1
StandardScaler.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array
  • 实例分析
    1、实例化StandardScaler

    2、通过fit_transform转换

import pandas as pd
from sklearn.preprocessing import StandardScaler

def stand_demo():
    """
    标准化演示
    :return: None
    """
    data = pd.read_csv("dating.txt")
    print(data)
    # 1、实例化一个转换器类
    transfer = StandardScaler()
    # 2、调用fit_transform
    data = transfer.fit_transform(data[['milage','Liters','Consumtime']])
    print("标准化的结果:\n", data)
    print("每一列特征的平均值:\n", transfer.mean_)
    print("每一列特征的方差:\n", transfer.var_)
*****************************************************************************88
     milage     Liters  Consumtime  target
0     40920   8.326976    0.953952       3
1     14488   7.153469    1.673904       2
2     26052   1.441871    0.805124       1
..      ...        ...         ...     ...
997   26575  10.650102    0.866627       3
998   48111   9.134528    0.728045       3
999   43757   7.882601    1.332446       3

[1000 rows x 4 columns]
标准化的结果:
 [[ 0.33193158  0.41660188  0.24523407]
 [-0.87247784  0.13992897  1.69385734]
 [-0.34554872 -1.20667094 -0.05422437]
 ..., 
 [-0.32171752  0.96431572  0.06952649]
 [ 0.65959911  0.60699509 -0.20931587]
 [ 0.46120328  0.31183342  1.00680598]]
每一列特征的平均值:
 [  3.36354210e+04   6.55996083e+00   8.32072997e-01]
每一列特征的方差:
 [  4.81628039e+08   1.79902874e+01   2.46999554e-01]
    return None
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 机器学习中的数据预处理是指对原始数据进行清洗、转换和归一化等处理,以便让数据更加适合进行机器学习算法的训练和预测。数据预处理通常包括以下几个步骤: 1. 数据清洗:去除重复值、缺失值、异常值和不一致的数据,保证数据的完整性和准确性。 2. 数据转换:将非数值型数据转换为数值型数据,例如将文本数据进行编码,将类别型数据进行独热编码等。 3. 特征选择:选择与目标变量相关性高的特征,减少特征空间的维度,提高模型的泛化能力。 4. 特征缩放:对特征进行归一化或标准化,以便不同特征之间的权重更加平衡。 5. 数据集划分:将数据集划分为训练集、验证集和测试集,以便进行模型的训练、调参和评估。 机器学习中的数据预处理对于机器学习算法的性能和效果具有重要的影响,因此需要仔细进行处理。 ### 回答2: 机器学习中的数据预处理是为了提高模型的准确性和效果,通常包括以下几个步骤: 1. 数据清洗:对原始数据进行清洗,包括处理缺失值、异常值和重复值等。缺失值可以用插值法填充,异常值可以通过统计方法或者处理方法剔除或替换,并且去除重复值。 2. 特征选择:对原始数据中的多个特征进行选择,选取对目标变量影响最大的特征。这可以通过统计方法(如方差分析、协方差矩阵分析)或机器学习算法(如正则化方法、决策树)来进行。 3. 特征缩放:将不同特征的数值范围进行缩放,以便它们具有相似的数值范围。这可以通过标准化(减去均值,除以标准差)或归一化(将值缩放到0-1之间)来实现。 4. 特征变换:将原始特征进行变换,以便它们能提供更多的信息。常见的特征变换方法包括多项式扩展、指数变换、对数变换等。 5. 特征编码:将非数值型特征转化成数值型特征,以便机器学习算法能够处理。常用的编码方法包括独热编码、标签编码等。 6. 数据划分:将数据集划分成训练集、验证集和测试集,用于模型的训练、调参和评估。 7. 数据平衡:对于不平衡的数据集,可以采取欠采样、过采样或生成合成样本的方法来平衡数据。 以上是机器学习中常见的数据预处理步骤,不同的问题和数据集可能需要采取不同的预处理方法。数据预处理机器学习中不可忽视的一环,能够对模型的性能和效果产生重要影响。 ### 回答3: 机器学习中的数据预处理是指将原始数据进行清洗、转换和集成等操作,以便为后续的模型训练提供更好的数据输入。下面是机器学习中常见的数据预处理步骤: 1. 数据清洗:对原始数据进行缺失值处理和异常值处理。缺失值处理可以选择删除有缺失值的样本或者使用插值等方法填充缺失值;异常值处理可以通过标准差等统计方法检测异常值,并根据业务背景进行处理。 2. 特征选择:选择对模型有重要影响的特征,去除冗余或者不相关的特征。可以通过相关性分析、特征重要性评估等方法进行特征选择。 3. 特征转换:对原始特征进行转换,以便更好地满足模型的需求。常见的特征转换方法包括标准化、归一化、离散化、多项式转换等。 4. 数据集成:将多个数据源中的数据进行合并,以便为模型提供更丰富的信息。数据集成需要处理数据的一致性和冗余问题。 5. 数据降维:对高维数据进行降维,以减少特征数量,提高模型效率。常用的降维方法包括主成分分析(PCA)、线性判别分析(LDA)等。 6. 数据划分:将原始数据集划分为训练集、验证集和测试集。训练集用于模型的训练,验证集用于模型的调参和性能评估,测试集用于模型的最后评估。 通过以上的数据预处理步骤,可以为机器学习模型提供干净、合适的数据输入,提高模型的泛化能力和性能,从而更好地进行模型训练和预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值