机器学习中数据预处理
-
正则化Normalizer
多个维度处理,以行为计算单位
-
L1
-
L2
-
max
-
-
标准化Standardizer
单个维度处理,以列为计算单位,特征缩放
-
StandardScaler
-
RobustScaler
-
MaxAbsScaler
-
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:近似于与斜卡方核类似的特征映射,后者在计算机视觉中也会用到。


浙公网安备 33010602011771号