【ML&DL学习】2 tf keras classification model normalize

上次讲到了需要对输入数据进行归一化,那么现在来看看怎么进行归一化吧!

打印训练值中的最大值和最小值

print(np.max(x_train), np.min(x_train))

在这里插入图片描述

# 归一化方法 (x - 均值) / 方差 处理完数据符合均值是0方差是1的正态分布
# x = (x - u) / std

# 使用sklearn 里面的 StandardScaler
from sklearn.preprocessing import StandardScaler
# 初始化一个 StandardScaler对象
scaler = StandardScaler()
# x_train: [None, 28, 28] -> [None, 784]
# fit_transform 记录训练集归一化的均值和方差
x_train_scaled = scaler.fit_transform(
	# 先变为二维数据 归一化完后 在转为三维数据
    x_train.astype(np.float32).reshape(-1, 1)).reshape(-1, 28, 28)
# 验证集不用fir 直接transform
x_valid_scaled = scaler.transform(
    x_valid.astype(np.float32).reshape(-1, 1)).reshape(-1, 28, 28)
x_test_scaled = scaler.transform(
    x_test.astype(np.float32).reshape(-1, 1)).reshape(-1, 28, 28)

归一化之后的最大值和最小值

print(np.max(x_train_scaled), np.min(x_train_scaled))

在这里插入图片描述

重新构建模型图
在这里插入图片描述
使用归一化后的数据进行训练

history = model.fit(x_train_scaled, y_train, epochs=10,
                    validation_data=(x_valid_scaled, y_valid))

在这里插入图片描述
准确率提高到了0.8894,比之前的效果好一些
在这里插入图片描述
在测试集上进行测试吧

model.evaluate(x_test_scaled, y_test)

在这里插入图片描述
感谢观看!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值