数据科学与机器学习中的特征工程

在数据科学和机器学习领域,特征工程是一个至关重要的过程。它涉及到将原始数据转换成适合机器学习模型处理的形式。特征工程不仅包括数据的清洗和准备,还包括模型的构建和评估。这个过程可以通过饼图来形象地展示每个阶段的重要性和作用。需要注意的是,根据数据的性质和来源,这些阶段的比重可能会有所变化,因此并不需要严格遵循某种固定模式。

特征的定义

数据科学和机器学习中,特征指的是数据集中的一个或一组特征。简单来说,就是数据集中的列、字段或属性。当这些列、字段或特征被转换成可量化的形式,比如数值型,它们就被称为特征。大多数情况下,数值型数据直接作为特征用于分析。有时,字符型/字符串型或其他非数值型数据也会被转换成数值型以便于分析。

理解特征的重要性

理解特征工程的性质对于数据集至关重要。这能帮助提取出有价值的信息和洞察,这对于选择合适的算法构建模型以及解决问题声明至关重要。

特征工程的4W-1H

什么是特征工程?特征工程是数据科学/机器学习生命周期中的一个主要过程。它涉及将给定的数据转换成更易于解释的形式,使数据更加透明,帮助机器学习模型,并创建新的特征以增强模型。

为什么进行特征工程?特征的数量可以显著影响模型,因此特征工程是数据科学生命周期中的一个重要任务。它能够提高机器学习模型的性能

何时何地进行特征工程?当在给定的数据集中拥有大量特征时,特征工程可能成为一个相当具有挑战性和趣味性的任务。特征的数量可以显著影响模型,因此特征工程是数据科学生命周期中的一个关键任务。

特征改进 -特征缩放

在特征改进的讨论中,有很多内容可以探讨,但这里只关注特征缩放,因为它涉及到数学和统计学。在将机器学习算法应用于数据集之前,需要仔细理解所有关键特征的大小,这对于特征选择和找到独立变量和因变量至关重要。因此,需要相应地缩放它们,以适应分析和模型准备的过程,这个过程被称为特征缩放。

特征缩放的方法

  • 标准化缩放(Standard Scalar):通过减去均值然后按单位方差缩放来标准化特征。单位方差意味着将所有值除以标准差。标准化缩放使得分布的均值为0,大约68%的值位于-1和1之间。
  • 最小-最大缩放(Min-Max Scalar)/归一化:将列中的每个值按比例转换到[0,1]的范围内。这是转换特征的首选缩放器,因为它会保留数据集的形状(无失真)。
  • 鲁棒缩放(Robust Scalar):专门用于处理异常值。由于其他缩放方法不能有效支持,这种方法通过移除中位数并根据分位数范围(默认为四分位距:IQR,即25%-75%)来缩放数据。

代码示例

import numpy as np from sklearn import preprocessing data1 = np.array([[-100.3], [27.5], [0], [-200.9], [1000]]) print('Before scaling', data1) minmax_scale = preprocessing.MinMaxScaler(feature_range=(1, 2)) scaled = minmax_scale.fit_transform(data1) print('After Min-Max Scaling', scaled) import numpy as np from sklearn import preprocessing data1 = np.array([[-100.3], [27.5], [0], [-200.9], [1000]]) print('Before Scaling', data1) robust_scaler = preprocessing.RobustScaler() scaled = robust_scaler.fit_transform(data1) print('After Robust Scaling', scaled)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485