1 前言
这篇文章主要是根据Tensorflow官方的API文档整理得到的。
本文的主要目的是学习使用Tensorflow提供的机器学习API,构建一个基于神经网络的分类器,对经典的Iris分类数据进行分类。这里的高级API主要是指代tf.contrib.learn里提供的API,
2 步骤
首先这里说一下基本步骤:
- 从原始数据集的CSV里面读取数据,并且加载到Tensorflow当中
- 构建一个基于神经网络的分类器
- 使用训练数据进行模型训练
- 使用测试数据进行模型评估
- 使用训练好的模型对新的数据进行分类
2.1 数据加载
Iris这个数据集相信大家在往上看的也很多了,这里就不详细介绍了,只说明一些基本情况。
这个数据集包含150行数据,有三种不同的Iris品种。每一行数据出了品种的标注信息以外,还包含了一些参数如萼片的长度、宽度等信息。
在这里,已经提前将这些数据划分为训练集和测试集了,分别是120行和30行
A training set of 120 samples (iris_training.csv)
Atest set of 30 samples (iris_test.csv)..
准备好这些数据后,我们先完成第一部分代码,引入Tensorflow和加载数据
#coding:utf-8
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
import numpy as np
# 设定数据集的位置
IRIS_TRAINING = "iris_training.csv"
IRIS_TEST = "iris_test.csv"
# 使用Tensorflow内置的方法进行数据加载
,target_type是最终的label的类型,这里只有012三个取值,所以用int
training_set = tf.contrib