TensorFlow学习笔记--(4)神经网络模型-数据集预处理

神经网络初步

以scikit-leran鸢尾花为例

通过scikit-learn库自带的鸢尾花数据集 来测试数据的读入

python 复制代码
from sklearn import datasets
from pandas import DataFrame
import pandas as pd

x_data = datasets.load_iris().data  # .data返回iris数据集所有输入特征
y_data = datasets.load_iris().target  # .target返回iris数据集所有标签
print("x_data from datasets: \n", x_data)
print("y_data from datasets: \n", y_data)

x_data = DataFrame(x_data, columns=['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度']) # 为表格增加行索引(左侧)和列标签(上方)
pd.set_option('display.unicode.east_asian_width', True)  # 设置列名对齐
print("x_data add index: \n", x_data)

x_data['类别'] = y_data  # 新加一列,列标签为'类别',数据为y_data
print("x_data add a column: \n", x_data)

#类型维度不确定时,建议用print函数打印出来确认效果

使用pandas包中的dataframe类来完成数据的表格输出

可以自定义行,列的索引名

打印结果:

网络构造流程

将数据集完成分类:训练集-测试集 并将输入特征与标签进行配对

每次读入一个batch进行训练 嵌套循环迭代 显示当前的loss与acc

数据集预处理

每次喂入神经网络模型的数据单位为batch

每个batch包含的数据组数可以自定义

python 复制代码
from sklearn import datasets
from pandas import DataFrame
import pandas as pd
import numpy as np

#数据集的读入:
x_data = datasets.load_iris().data  # .data返回iris数据集所有输入特征
y_data = datasets.load_iris().target  # .target返回iris数据集所有标签


# 随机打乱数据:
# seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样
np.random.seed(116)  # 使用相同的seed,保证输入特征和标签一一对应
np.random.shuffle(x_data) #将输入特征以seed进行随机打乱
np.random.seed(116)
np.random.shuffle(y_data) #将数据标签以seed进行随机打乱
tf.random.set_seed(116)

#将数据集分为训练集和测试集:
#数据集和测试集必须没有交集
x_train = x_data[:-30] #训练集为前120行
y_train = y_data[:-30] 
x_test = x_data[-30:]  #测试集为后30行
y_test = y_data[-30:]


#将特征与标签进行配对,并且每次只喂入模型一小撮数据
train_db = tf.data.Dataset.from_tensor_slices((x_train, y_train))
train_db = train_db.batch(32)

test_db = tf.data.Dataset.from_tensor_slices((x_test, y_test))
test_db = test_db.batch(32)
相关推荐
南境十里·墨染春水1 分钟前
C++传记(面向对象)虚析构函数 纯虚函数 抽象类 final、override关键字
开发语言·c++·笔记·算法
白慕慕1 小时前
文档网站大全
学习
中屹指纹浏览器2 小时前
2026基于内核隔离的浏览器环境虚拟化技术在企业数字化运营中的应用研究
经验分享·笔记
一轮弯弯的明月3 小时前
Python基础-速通秘籍(下)
开发语言·笔记·python·学习
charlie1145141915 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
wsx_iot6 小时前
TDengine学习
数据库·学习·tdengine
AI成长日志6 小时前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
nqqcat~6 小时前
shell入门
笔记
Aaswk7 小时前
刷题笔记(回溯算法)
数据结构·c++·笔记·算法·leetcode·深度优先·剪枝
m0_564914927 小时前
AI学习课堂网站丨OPENMAIC丨清华团队开源项目
学习