Python机器学习:数据预处理
·
"""
数据预处理
"""
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)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)