python数据分析5 数据转换

1数据转换

  数据转换时数据准备的重要环节,它通过数据平滑,数据聚集,数据概化,规范化等凡是将数据转换成适用于数据挖掘的形式

1.1 数据平滑

  去除数据中的噪声,将连续数据离散化。这里可以采用分箱、聚类和回归的方式进行数据平滑

1,2 数据聚集

  对数据进行汇总,在sql中也有一些聚集函数比如Max求最大值

1.3 数据概化

  将数据由较低的概念抽象成较高的概念。比如重庆成都概化为中国

1.4 数据规范化

  将原来的数值映射到新的特定区域中。比如最大规范化

1.5 属性构造

  通过属性与属性的连接构造新的属性,其实就是特征工程。比如数据表中统计每个人的英语、语文和数学成绩,你可以构造一个“总和”这个属性,来作为新属性

2 规范化方法

(1) Min-max规范化

  将原始数据变换到[0,1]区间

  新数值=(原数值-极小值)/极大值-极小值

(2)Z-Score规范化

  比如A同学满分150,B同学满分100,但是两者都得了60分。

  数值=(原数值-均值)/ 标准差。

(3)小数制定规范化

  通过移动小数点的位置来进行规范化,小数点移动多少位取决于属性A的取值中的最大绝对值。

3 Scikit-Learn使用

(1)官网

https://sklearn.apachecn.org/

(2)Min-max规范化使用

 1 # coding:utf-8
 2 from sklearn import preprocessing
 3 import numpy as np
 4 # 初始化数据,每一行表示一个样本,每一列表示一个特征
 5 x = np.array([[ 0., -4.,  1.],
 6               [ 20.,  1.,  2.],
 7               [ 0.,  1., -1.]])
 8 # 将数据进行[0,1]规范化
 9 min_max_scaler = preprocessing.MinMaxScaler()
10 minmax_x = min_max_scaler.fit_transform(x)
11 print(minmax_x)

(3)Z_Score使用

1 from sklearn import preprocessing
2 import numpy as np
3 # 初始化数据
4 x = np.array([[ 0., -4.,  1.],
5               [ 20.,  1.,  2.],
6               [ 0.,  1., -1.]])
7 # 将数据进行Z-Score规范化
8 scaled_x = preprocessing.scale(x)
9 print(scaled_x)

(4)小数点规范化

 1 # coding:utf-8
 2 from sklearn import preprocessing
 3 import numpy as np
 4 # 初始化数据
 5 x = np.array([[ 0., -4.,  1.],
 6               [ 20.,  1.,  2.],
 7               [ 0.,  1., -1.]])
 8 # 标准差标准化
 9 j = np.ceil(np.log10(np.max(abs(x))))
10 scaled_x = x/(10**j)
11 print(scaled_x)

4 思维导图

python数据分析5 数据转换_第1张图片

5 总结

  为了寻找数据的规律,需要将其规范化。那么目前知道有三种方法,分别为Min-max规范化,Z-Score规范化,小数制定规定化等。

你可能感兴趣的:(python数据分析5 数据转换)