""" 数据预处理 """ import numpy as np import sklearn.preprocessing as sp # 均值移除 print('均值移除') # 数据预处理之:均值移除示例 # 样本数据 raw_samples = np.array([ [3.0, -1.0, 2.0], [0.0, 4.0, 3.0], [1.0, -4.0, 2.0] ]) print(raw_samples) print('每列的平均值', raw_samples.mean(axis=0)) # 求每列的平均值 print('每列的标准差', raw_samples.std(axis=0)) # 求每列标准差 print('*' * 22) std_samples = raw_samples.copy() # 复制样本数据 for col in std_samples.T: # 遍历每列 col_mean = col.mean() # 计算平均数 col_std = col.std() # 求标准差 col -= col_mean # 减平均值 col /= col_std # 除标准差 print(std_samples) print('每列的平均值', std_samples.mean(axis=0)) print('每列的标准差', std_samples.std(axis=0)) print('*' * 22) # sklearn提供sp.scale函数 std_samples = sp.scale(raw_samples) # 求标准移除 print(std_samples) print('每列的平均值', std_samples.mean(axis=0)) print('每列的标准差', std_samples.std(axis=0)) # 范围缩放 print('范围缩放') # 样本数据 raw_samples = np.array([ [1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]).astype("float64") # print(raw_samples) mms_samples = raw_samples.copy() # 复制样本数据 for col in mms_samples.T: col_min = col.min() col_max = col.max() col -= col_min col /= (col_max - col_min) print(mms_samples) # sklearn的API mms = sp.MinMaxScaler(feature_range=(0, 1)) # 定义对象(修改范围观察现象) # 使用范围缩放器实现特征值范围缩放 mms_samples = mms.fit_transform(raw_samples) # 缩放 print(mms_samples)
Python机器学习:数据预处理
最新推荐文章于 2024-05-30 07:32:10 发布