代码解析-鸢尾花神经网络分类

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

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)

将导入的数据打乱,注意要设置随机种子,打乱对于train和test数据的划分准备的哦😁😁😁😁

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

我们使用Sequential搭建神经网络:

3:神经元个数;
Dense:全连接层;
kernel_regularizer=tf.keras.regularizers.l2():l2正则化;
activation='softmax':激活函数;
model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),#优化器
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),#损失函数,from_logits=False:输出前是否经过概率分布
              metrics=['sparse_categorical_accuracy'])#评测指标

在这里插入图片描述

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

batch_size:一次喂入神经网络多少个数据
epochs:迭代次数
validation_split:测试集划分比例
validation_freq:20次迭代测试一次

model.summary()#打印出网络结构

在这里插入图片描述
在这里插入图片描述

搭建神经网络的步骤:

  1. import
  2. train、test
  3. models.Sequential
  4. model.compile
  5. model.fit
  6. model.summary()

本demo使用tf2:

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

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)

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

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

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

model.summary()
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读