深度学习-Tensorflow2.0实现全连接神经网络

本文使用Tensorflow2.0建立了一个3层全连接神经网络,对鸢尾花数据集进行多分类任务。通过数据预处理、网络模型构建,包括2层全连接层(Relu和Softmax激活函数),并进行模型训练和测试,最终计算出模型在测试集上的预测准确率。

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

1、数据和问题描述

  本文采用Tensorflow实现全连接神经网络,对鸢尾花数据进行分类。首先加载数据集,代码如下:

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

# 读取数据
x_data = datasets.load_iris().data
y_data = datasets.load_iris().target

  数据集的特征包含4列,如下图所示:

在这里插入图片描述
  标签列的取值为(0,1,2)三种,是一个多分类问题。

2、数据预处理

  将数据集打乱顺序,并划分为训练集和测试集,代码如下:

# 用相同的随机种子打乱数据集
np.random.seed(116)
np.random.shuffle(x_data)
np.random.seed(116)
np.random.shuffle(y_data)

tf.random.set_seed(116)

x_train = x_data[:-30]
y_train = y_data[:-30]

x_test = x_data[-30:]
y_test = y_data[-30:]

  这里查看一下 x_train 的数据类型:

x_train.dtype
# dtype('float64') #输出的类型是float64

  为了避免后续进行计算的时候出现数据类型不一致的情况,这里对 x_train、x_test 进行类型转换:

# 转换x的数据类型,否则后面矩阵相乘时会因数据类型不一致报错
x_train = tf.cast(x_train, tf.float32)
x_test = tf.cast(x_test, tf.float32
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值