yongfuxue
 
简单函数处理

如平方、开方、取对数、差分运算

 

在数据挖掘中,简单的函数变换可能更为必要,如个人年收入范围从10000到10亿,这是一个很大的区间,使用对数变换对其进行压缩是常用的一种变换处理方法。

 

数据标准化

 

u  scale 零均值单位方差

1)直接标准化

from sklearn import preprocessing

x_scale = preprocessing.scale(x)  #x_scale即为标准化(均值为0,方差为1)后的数据

 

2)间接标准化,可以将测试集也标准化

scaler = preprocessing.StandardScaler().fit(train_set)

scaler.transform(train_set)

scaler.transform(test_set)

 

u  缩放至某一范围

 

1)最小最大值标准化(离差标准化),缩放到[0,1]

 

min_max_scaler = preprocessing.MinMaxScaler()

X_train_min_max = min_max_scaler.fit_transform(X_train)

 

2)MaxAbsScaler(绝对值最大标准化)

它通过将每个数据除以绝对值最大的值的绝对值,将数据缩放到[-1, 1]

使用这种标准化方法的原因是,有时数据集的标准差非常非常小,有时数据中有很多很多零(稀疏数据)需要保存住0元素。

 

max_abs_scaler = preprocessing.MaxAbsScaler()

X_train_maxabs = max_abs_scaler.fit_transform(X_train)

自定义数据处理函数

通常,您将需要将现有的Python函数转换,以协助数据清理或处理。您可以使用任意函数实现变压器FunctionTransformer。

 

import numpy as np

from sklearn.preprocessing import FunctionTransformer

transformer = FunctionTransformer(np.log1p)

X = np.array([[0, 1], [2, 3]])

transformer.transform(X)

>>> 

array([ [ 0.        ,    0.69314718],

      [ 1.09861229,    1.38629436] ])

 

分类:

技术点:

相关文章:

  • 2021-12-21
  • 2022-12-23
  • 2021-07-17
  • 2022-01-16
  • 2021-12-04
  • 2021-06-09
  • 2021-10-08
  • 2022-12-23
猜你喜欢
  • 2021-07-04
  • 2021-12-17
  • 2022-12-23
  • 2021-10-28
相关资源
相似解决方案