数据分析项目 基于K-Means算法的广告聚类分析(3)----数据标准化:归一化Min-Max,0-1区间

一、为什么要进行数据标准化

这是未标准化前的数据
这里取了原数据第2列到第7列的数据

日均UV   平均注册率   平均搜索量     访问深度   订单转化率  投放总时间
0        3.69  0.0071  0.0214   2.3071  0.0258     20
1      178.70  0.0040  0.0324   2.0489  0.0030     19
2       91.77  0.0022  0.0530   1.8771  0.0026      4
3        1.09  0.0074  0.3382   4.2426  0.0153     10
4        3.37  0.0028  0.1740   2.1934  0.0007     30
5        0.95  0.0141  0.4155   4.2113  0.0276      2

可以看到,这些数据都不在一个数量级,这就很难使用K-Means聚类算法进行分析,因此,我们需要使用sklearn中有关数据处理的算法MinMaxScaler(),对数据进行标准化,将数据缩放到0~1之间,以便使用K-Means进行聚类分析。

二、使用MinMaxScaler()对数据进行标准化

# 引入第三方库
from sklearn.preprocessing import MinMaxScaler
# 取第2列到第7列数据
matrix = data.iloc[:, 1:7]
# 初始化MinMaxScaler()
min_max_model = MinMaxScaler()
# 使用数据进行拟合并转化
data_rescaled = min_max_model.fit_transform(matrix)

结果

[[0.   0.18 0.02 0.01 0.12 0.66]
 [0.01 0.1  0.03 0.01 0.01 0.62]
 [0.   0.06 0.05 0.01 0.01 0.1 ]
 ...
 [0.01 0.01 0.   0.   0.   0.72]
 [0.05 0.   0.   0.   0.   0.31]
 [0.   0.   0.   0.53 0.   0.62]]

可见,不同数量级的数据全部缩放到0~1这个区间内,数据标准化完成

数据文件

你可能感兴趣的:(数据分析项目,聚类,算法,python)