详细学习视频见:
北京大学TF2.0教学视频(B站)
# TF2 实现利用鸢尾花数据集,实现前向传播、反向传播,可视化loss曲线
from sklearn import datasets
from pandas import DataFrame
import pandas as pd
import tensorflow as tf
from matplotlib import pyplot as plt
import numpy as np
'''
准备数据:
1.数据集读入
2.数据集乱序
3.生成训练集和测试集(x_train/y_train,x_test/y_train)
4.配对(输入特征,标签),每次读入一小撮(batch)
'''
# 1.数据集读入
# 从sklearn包datasets读入数据集
x_data=datasets.load_iris().data#.data返回iris数据集的所有输出特征
y_data=datasets.load_iris().target#.target返回iris数据集的所有标签
# print(x_data)
# print(y_data)
# # 为表格增加行索引(左侧)和列标签(上方)
# x_data=DataFrame(x_data,columns=['花萼长度', '花萼宽度', '花瓣长度', '花瓣宽度'])
# # 设置列名对齐
# pd.set_option('display.unicode.east_asian_width', True)
# # print(x_data)
#
# # 新加一列,列标签为‘类别’,数据为y_data
# x_data['类别']=y_data
# print(x_data)
#类型维度不确定时,建议用print函数打印出来确认效果
# 2.数据集乱序
# 随机打乱数据(因为原始数据是顺序的,顺序不打乱会影响准确率)
# seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样(为方便教学,以保每位同学结果一致)
# 使用相同的seed,保证随机打乱后输入特征和标签一一对应
np.random.seed(227)# 若不指定227,则每次产生的随机数不一样
np.random.shuffle(x_data)# 随机打乱
np.random.seed(227)
np.random.shuffle(y_data)
tf.random.set_seed(227)# 设置全局随机种子
# 3.生成训练集和测试集(x_train/y_train,x_test/y_train)\
# 训练集和测试集没有交集
x_train=x_data[:-30