鸢尾花的类别包括:Setosa Iris(狗尾鸢尾),Versicolor Iris(杂色鸢尾),Virginica(弗吉尼亚鸢尾)。我们可以根据花萼长,花萼宽,花瓣长,花瓣宽这四个特征值对鸢尾花进行分类。
神经网络设计
神经网络结构:单层前馈型神经网络
激活函数:softmax函数
损失函数:交叉熵损失函数
Y=WX+B
共有四个特征值,结果分为三类
自动求导
with tf.GradientTape() as tape:
函数表达式
grad=tape.gradient(函数,自变量)
训练集: 训练模型
测试集: 评估模型性能
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
TRAIN_URL="http://download.tensorflow.org/data/iris_training.csv"
train_path=tf.keras.utils.get_file(TRAIN_URL.split('/')[-1],TRAIN_URL)
TEST_URL="http://download.tensorflow.org/data/iris_test.csv"
test_path=tf.keras.utils.get_file(TEST_URL.split('/')[-1],TEST_URL)
#读取数据集文件
df_iris_train=pd.read_csv(train_path,header=0)
df_iris_test=pd.read_csv(test_path,header=0)
#转为数组
iris_train=np.array(df_iris_train)
iris_test=np.array(df_iris_test)
#将前四列存入X中,结果存入Y中
x_train=iris_train[:,0:4