keras 入门

本文介绍了Keras入门,包括数据预处理的one-hot编码、数据打乱和标准化,接着讲解如何构建网络、训练模型,讨论激活函数、损失函数的选择以及评估指标如accuracy、mse和mae。还提到了防止过拟合的方法,如增加训练数据、减少网络复杂度、权重正则化和dropout技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keras 入门

keras 数据预处理

将数据变为one-hot编码

` from keras.utils.np_utils import  to_categorical`
`y_train = to_categorical(y_train, num_classes=10)`

打乱数据

#打乱数据
index = [i for i in range(len(x))]  
np.random.shuffle(index) 
#x.shape=(150,4)
x = x[index]
#Y.shape=(150,)
Y = Y[index]

数据标准化

x -= x.mean(axis=0)
#将每个特征分别标准化,使其平均值为 0。
x /= x.std(axis=0)
#将每个特征分别标准化,使其标准差为 1

构建网络

from keras import models
from keras import layers
#模型定义
model=models.Sequential()
model.add(layers.Dense(16,activation='relu',input_shape=(10000,)))
model.add(layers.Dense(16,activation='relu'))
model.add(layers.Dense(1,activation='sigmoid'))

#编译模型
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['accuray'])

训练模型

model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
history = model.fit(x, to_categorical(Y), epochs=20, batch_size=3, validation_split=0.2,shuffle=False,verbose=0)

激活函数以及损失函数的选择

在这里插入图片描述

选择指标metrics

accuracy 分类问题
mse 回归问题
mae 回归问题

预测结果

model.evaluate


 # 评估模型,不输出预测结果 
 loss,accuracy = model.evaluate(X_test,Y_test) print('\ntest loss',loss) print('accuracy',accuracy)

model.predict()

 #模型预测,输入测试集,输出预测结果
 y_pred = model.predict(X_test)

one_hot编码处理后的预测类别


predict_test = model.predict(X_test)
predict = argmax(predict_test,axis=1) 
#axis = 1是取行的最大值的索引,0是列的最大值的索引



model.predict_classes()
返回的是类别的索引,即该样本所属的类别标签。

#鸢尾花三分类
y_predict = model.predict_classes(x[:5])
print(y_predict)
y_predict.shape

out:
[1 0 1 1 2]
(5,)

防止过拟合

  • 获取更多的训练数据
  • 减小网络容量
  • 添加权重正则化
向模型添加 L2 权重正则化
from keras import regularizers
model = models.Sequential()
model.add(layers.Dense(16, kernel_regularizer=regularizers.l2(0.001),
activation='relu', input_shape=(10000,)))
  • dropout
    model.add(layers.Dropout(0.5))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值