机器学习中数据预处理

 

  • 正则化Normalizer

    多个维度处理,以行为计算单位

    1. L1

    2. L2

    3. max

  • 标准化Standardizer

    单个维度处理,以列为计算单位,特征缩放

    1. StandardScaler

    2. RobustScaler

    3. MaxAbsScaler

    4. MinMaxScaler

  • 二值化Binarizer

    'sklearn.preprocessing.Binarizer': { 'threshold': np.arange(0.0, 1.01, 0.05) },
  • FastICA

  • Feature agglomeration

  • Nystroem

  • PCA

  • PolynomialFeatures

  • RBFSampler

 

参考:

  • Binarizer

这个就是根据阈值将数值型转变为二进制型,阈值可以进行设定,另外只能对数值型数据进行处理,且传入的参数必须为2D数组,也就是不能是Series这种类型,shape为(m,n)而不是(n,)类型的数组

'sklearn.preprocessing.Binarizer': { 'threshold': np.arange(0.0, 1.01, 0.05) },

 

  • FastICA

独立成分分析(Independent Component Analysis,ICA)是近年来提出的非常有效的数据分析工具,它主要用来从混合数据中提取出原始的独立信号。它作为信号分离的一种有效方法而受到广泛的关注。ICA算法从提出至今就处于不断改进的进程中,到现在,经典的ICA算法已经基本不再使用,而是被一种名为FastICA的改进算法替代。顾名思义,该算法的优点在与Fast,即运算速度快
'sklearn.decomposition.FastICA': {
        'tol': np.arange(0.0, 1.01, 0.05)
    },

 

  • Feature agglomeration

    •   



'sklearn.cluster.FeatureAgglomeration': { 'linkage': ['ward', 'complete', 'average'], 'affinity': ['euclidean', 'l1', 'l2', 'manhattan', 'cosine'] },

 https://www.jianshu.com/p/d59cf1618dbd

 

    'sklearn.preprocessing.MaxAbsScaler': {
    },
MaxAbsScaler:归一到 [ -1,1 ] X/X绝对值最大的
'sklearn.preprocessing.MinMaxScaler': { },
MinMaxScaler:归一到 [ 0,1 ] (X-Xmin)/(Xmax-Xmin)

'sklearn.preprocessing.Normalizer': { 'norm': ['l1', 'l2', 'max'] },
利用normalize方法进行标准化

norm:可以为l1、l2或max,默认为l2

若为l1时,样本各个特征值除以(各个特征值的绝对值之和)   X / (|X1|+...+|Xn|)  以行为单位

若为l2时,样本各个特征值除以(各个特征值的平方之和开方)X / sqrt(x1平方+...+xn平方) 

若为max时,样本各个特征值除以(样本中特征值绝对值最大的值)


'sklearn.kernel_approximation.Nystroem': { 'kernel': ['rbf', 'cosine', 'chi2', 'laplacian', 'polynomial', 'poly', 'linear', 'additive_chi2', 'sigmoid'], 'gamma': np.arange(0.0, 1.01, 0.05), 'n_components': range(1, 11) },
 Nystroem:近似于使用训练数据子集的核映射。

'sklearn.decomposition.PCA': { 'svd_solver': ['randomized'], 'iterated_power': range(1, 11) }, 'sklearn.preprocessing.PolynomialFeatures': { 'degree': [2], 'include_bias': [False], 'interaction_only': [False] },
这个类可以进行特征的构造,构造的方式就是特征与特征相乘(自己与自己,自己与其他人),这种方式叫做使用多项式的方式。 例如:有 a、b 两个特征,那么它的 2 次多项式的次数为 [1,a,b,a2,ab,b2]。 'sklearn.kernel_approximation.RBFSampler': { 'gamma': np.arange(0.0, 1.01, 0.05) }, RBFSampler:近似于RBF核的特征映射。

'sklearn.preprocessing.RobustScaler': { },

针对离群点的RobustScaler有些时候,数据集中存在离群点,用Z-Score进行标准化,但是结果不理想,因为离群点在标准化后丧失了利群特性。
RobustScaler针对离群点做标准化处理,该方法对数据中心化的数据的缩放健壮性有更强的参数控制能力。  RobustScaler:是一种鲁棒性特别好的算法;如果数据有很多异常值,那么使用该方法对数据进行处理
  

'sklearn.preprocessing.StandardScaler': { },

Standard Scala(z-score standardization):是标准化处理;将元素通过下面的公式进行处理:

x =(x - 𝜇)/𝜎

标准缩放只是是和数据近似服从正态分布的场景;而且数据的分布发生变化,变为相对标准的正态分布


'tpot.builtins.ZeroCount': { }, 'tpot.builtins.OneHotEncoder': { 'minimum_fraction': [0.05, 0.1, 0.15, 0.2, 0.25], 'sparse': [False], 'threshold': [10] },

sklearn.kernel_approximation模块包含以下算法:

 RBFSampler:近似于RBF核的特征映射。

 Nystroem:近似于使用训练数据子集的核映射。

 AdditiveChi2Sampler:近似于附加的chi2核的特征映射,chi2核主要用于计算机视觉功能。

 SkewedChi2Sampler:近似于与斜卡方核类似的特征映射,后者在计算机视觉中也会用到。

 

posted @ 2020-12-05 17:20  CeasonCing  阅读(365)  评论(4)    收藏  举报