数据预处理与特征工程

本文详细介绍了数据预处理的重要性,包括数据清洗、特征工程的步骤。讨论了数据无量纲化、缺失值处理、分类型特征编码、连续型特征的二值化与分段。还提到了特征选择的方法,如过滤法、嵌入法和包装法,以及在不同算法中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数据预处理与特征工程

  • 数据挖掘的5大流程:
  1. 获取数据
  2. 数据预处理

    数据预处理是从数据中检测、纠正或删除损坏、不准确或不适用于模型记录的过程。

    可能问题:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断;也可能,数据质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小。

     数据预处理的目的:让数据适应模型,匹配模型的需求。

     3.特征工程

      特征工程:是将原始数据转换为更能代表预测模型的潜在问题的特征的过程,可以通过挑选最相关的特征,提取特征以及创造特征来实现。创造特征:降维算法实现。

可能问题:特征之间有相关性,特征和标签无关,特征太多或太小,或无法表现出应有的数据现象或数据真实面貌。

特征工程的目的:降低计算成本;提升模型上限;

     4. 建模,测试模型并预测结果

     5. 上线,验证模型效果

  • sklearn中数据预处理和特征工程模块:

(1)模块preprocessing:数据预处理

(2)模块Impute:填补缺失值专用

(3)模块feature_selection:特征选择

(4)模块decomposition:降维

2、数据预处理preprocessing & Impute

2.1 数据无量纲化

       数据的无量纲化包括中心化(Zero_centered或Mean-subtraction)处理和缩放处理Scale。中心化的本质是让所有记录减去一个固定值,即让样本数据平移到某个位置,缩放本质是除以一个固定值,降数据固定在某个范围内,取对数也是一种缩放处理。

(1)数据归一化(Normalization或Min-Max Scaling):preprocessing.MinMaxScaler

归一化后的数据服从正态分布:

                                        $$ x^{*}=\frac{x-m i n(x)}{\max (x)-\min (x)} $$

class sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), *, copy=True)[source]
最小值、最大值= feature_range
import pandas as pd
from sklearn.preprocessing import MinMAXScaler

>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))   # fit 计算用于以后缩放的最小值和最大值
MinMaxScaler()
>>> print(scaler.data_max_)
[ 1. 18.]
>>> print(scaler.transform(data))   # transform根据feature_range缩放X
[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[1.5 0. ]]

# inverse_transform()  根据feature_range 撤销X的缩放比例
result_ = scaler.fit_transform(data)                #训练和导出结果一步达成 
scaler.inverse_transform(result)                    #将归一化后的结果逆转
 
#使用MinMaxScaler的参数feature_range实现将数据归一化到[0,1]以外的范围中 
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]] 
scaler = MinMaxScaler(feature_range=[5,10])         #实例化 
r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值