TF Learn入门 —— 简单使用举例

Iris数据集上的TensorFlow分类
本文介绍如何使用TensorFlow构建神经网络分类器来预测鸢尾花的种类。通过加载鸢尾花数据集并训练模型,最终实现对新样本的有效分类。文中详细展示了数据载入、模型构建、训练及评估的过程。
部署运行你感兴趣的模型镜像

一、载入数据

载入常用库

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'
training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
filename=IRIS_TRAINING
target_dtype=http://np.int
features_dtype=np.float(32)
test_set = tf.contrib.learn.datasets.base.load_csv_with_header(
filename=IRIS_TEST
target_dtype=http://np.int
feature_dtype=np.float(32)

二、构建神经网络分类器

features_columns = [tf.contrib.layers.real_valued_column('', dimension=4) #数据连续,4特征
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[10, 20, 10], #3层隐藏层,分别10,20,10个神经元
n_classes=3, #3目标类别
model_dir='/tmp/iris_model') #保存训练记录

三、训练模型

classifier.fit(x=training_set.data, y=training_set.target, steps=2000)

四、评估模型

accuracy_score = classifier.evaluate(x=test_set.data, y=test_set.target)['accuracy']
print('Accuracy: {0:f}'.format(accuracy_score))

五、对新样本进行分类

new_samples = np.array(
[[6.4, 3.2, 4.5, 1.5], [5.8, 3.1, 5.0, 1.7]], dtype=float)
y = list(classifier.predict(new_samples, as_iterable=True))
print('Prediction: {}'.format(str(y)))





您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

使用TensorFlow构建神经网络的入门教程可从以下几个方面展开: ### 深度学习基础概念 深度学习包含自动特征提取、层次化表示、大规模数据处理等基本概念,了解这些概念有助于理解神经网络的工作原理和优势 [^2]。 ### TensorFlow基本使用 需要掌握TensorFlow的基本元素,如张量、计算图和会话。张量是TensorFlow中的基本数据结构,计算图定义了操作之间的依赖关系,会话则用于执行计算图 [^2]。 ### 构建神经网络的主要步骤 结合TensorFlow_PlayGround示例,使用神经网络解决分类问题主要有4个步骤:提取问题中实体的特征向量作为神经网络的输入;定义神经网络结构,并定义如何从神经网路的输入得到输出;通过训练数据来调整神经网络中参数的值;使用神经网络来预测未知的数据 [^3]。 ### 用TensorFlow和Keras构建简单神经网络 #### 主要步骤 包括数据准备、模型构建、编译、训练、评估和预测,还涉及模型保存与加载,即如何保存训练好的模型,并在需要时加载使用 [^2]。 #### 简单例子 以分类MNIST数据集中的手写数字为例,使用Keras(TensorFlow的高级API)构建一个简单的全连接(密集)神经网络。定义一个三层结构,输入层、隐藏层和输出层。输入层为展平的28×28的图像像素输入,隐藏层有128个神经元,输出层有10个神经元,代码如下 [^1][^4]: ```python import tensorflow as tf from tensorflow import keras # 定义一个三层结构,输入层,隐藏层,输出层 model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), # 图片为28×28格式 keras.layers.Dense(128, activation=tf.nn.relu), # 隐藏层有128个神经元,这个数字是自己定的 keras.layers.Dense(10, activation=tf.nn.softmax) # 10指的输出有10个类别,10个神经元 ]) ``` ### 可选实验室操作 #### 导入第三方库 在开始构建模型前,需要导入必要的第三方库 [^1]。 #### 数据集 选择合适的数据集,如MNIST数据集,并进行数据准备 [^1]。 #### 归一化数据 对数据进行归一化处理,有助于提高模型的训练效果 [^1]。 #### TensorFlow模型 构建TensorFlow模型,定义好模型的结构和参数 [^1]。 #### 预测 使用训练好的模型对未知数据进行预测 [^1]。 #### Epochs and batches 理解训练过程中的Epochs和batches概念,合理设置相关参数 [^1]。 #### 层函数 了解不同层函数的作用和使用方法,如`Flatten`、`Dense`等 [^1][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值