基于Keras的鸢尾花分类代码

搭建八股sequential的六个步骤:

1. import导入相关模块

import tensorflow as tf
from sklearn import datasets
import numpy as np

2.train,test

这一步主要是指定训练集、测试集的输入特征x_train,x_test以及测试集、训练集标签y_train,y_test

x_train = datasets.load_iris().data
y_train = datasets.load_iris().target
#数据集乱序
np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)

3. model=tf.keras.models.Sequential

这一步主要是搭建网格结构,逐层描述每层网格

model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
])

在这里3代表的是神经元个数,activation='softmax'指的是选用softmax激活函数,后面的意思是选用的是L2正则化方法

4.compile

这一步主要完成配置训练方法,告知训练时使用哪种优化器,哪种损失函数,哪种评测指标

model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])

在这里使用的是SGD优化器,学习率设置为0.1

第二行表示的是选择sparseCategoricalCrossentropy损失函数,后面等于false的原因是神经网络预测结果输出前已经经过概率分布了,所以是false ,如果没有经过概率分布就是true。

第三行表示的是评测指标,预测值y_为独热码,真实值y是数值。

5.fit

执行训练过程,告知batch是多少,要迭代多少次数据集

model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)

括号中x_train代表训练集输入特征,y_train代表训练集标签,batch_size指一次喂入多少组数据,epchs代表迭代了多少次,validation_split指的是从数据集中选取多少作为测试集,这里0.2就是指20%的数据拿出来做测试集,validation_freq指的是每迭代多少次训练集,要在测试集中验证一次准确率,这里是每20次。

6.summary

输出网络结构和参数统计

model.summary()

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值