人工智能深度学习TensorFlow通过感知器实现鸢尾花数据集分类

人工智能深度学习TensorFlow通过感知器实现鸢尾花数据集分类

一.iris数据集简介

iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson’s Iris data set。iris包含150个样本,对应数据集的每行数据。每行数据包含每个样本的四个特征和样本的类别信息,所以iris数据集是一个150行5列的二维表。

通俗地说,iris数据集是用来给花做分类的数据集,每个样本包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征(前4列),我们需要建立一个分类器,分类器可以通过样本的四个特征来判断样本属于山鸢尾、变色鸢尾还是维吉尼亚鸢尾(这三个名词都是花的品种)。

二、数据来源

https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

三、感知器表示R,评价E,优化O

参阅 深度学习与TensorFlow实战P45-47页

四、TensorFlow通过感知器实现鸢尾花数据集分类的python代码

import tensorflow as tf

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split

from sklearn import preprocessing

def init_weights(shape):

return tf.Variable(tf.random_normal(shape,stddev=0.01))

#创建分割线

def plotLine(slope,bias):

x = np.arange(-3,3,0.5)

y