集智专栏
资源加载中,请稍后...
集智专栏

边看边练的简明机器学习教程 Part II

集智小编

往期内容:

Part I: 边看边练的简明机器学习教程 Part I


4. Serverless Predictions at Scale


4.1 数据集


4.2 导入模块与数据

上一节的Iris数据集来自Scikit-Learn,这次用TensorFlow读取外部数据文件。

  • TensorFlow读取csv文件的函数是base.load_csv_with_header()
  • 请阅读代码,根据提示完成以下数据导入过程
程序说明
鸢尾花数据集
预处理代码
!cp /mnt/vol0/tensorflow/iris/* ~/work
示例代码
import tensorflow as tf import numpy as np print(tf.__version__) from tensorflow.contrib.learn.python.learn.datasets import base # 数据文件 IRIS_TRAINING = 'iris_training.csv' IRIS_TEST = 'iris_test.csv' # 载入数据集 training_set = base.load_csv_with_header(filename=________, features_dtype=np.float32, target_dtype=np.int) test_set = base.load_csv_with_header(filename=________, features_dtype=np.float32, target_dtype=np.int) print(training_set.data) print(training_set.target)
正确答案
training_set = base.load_csv_with_header(filename=IRIS_TRAINING, ... test_set = base.load_csv_with_header(filename=IRIS_TEST
程序验证过程
training_set.data.shape == (120, 4) and test_set.data.shape == (30, 4)
提示信息
注意training与test的对应关系。


4.3 模型搭建

程序说明
模型搭建
示例代码
# 所有特征皆为实数 feature_name = "flower_features" feature_columns =[tf.feature_column.numeric_column(feature_name, shape=[4])] classifier = tf.estimator.LinearClassifier( feature_columns=feature_columns, n_classes=3, model_dir="/tmp/iris_model") # 输入函数 def input_fn(dataset): def _fn(): features = {feature_name: tf.constant(dataset.data)} label = tf.constant(dataset.target) return features, label return _fn print(input_fn(training_set)()) # raw data -> input function -> feature columns -> model
程序验证过程
True


4.4 训练-预测

  • 设置训练步数,使分类准确度accuracy_score大于0.95
程序说明
Train/Evaluate
示例代码
# 训练模型 classifier.train(input_fn=input_fn(training_set), steps=____) print('fit done') # 评估准确度 accuracy_score = classifier.evaluate(input_fn=input_fn(test_set), steps=100)["accuracy"] print('\nAccuracy:{0:f}'.format(accuracy_score)) # 输出模型 feature_spec = {'flower_features': tf.FixedLenFeature(shape=[4], dtype=np.float32)} serving_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec) classifier.export_savedmodel(export_dir_base='/tmp/iris_model' + '/export', serving_input_receiver_fn=serving_fn)
正确答案
程序验证过程
accuracy_score > 0.95
提示信息




5. Visualizing Your Model Using TensorBoard


因TensorBoard需要启动网络服务并新建浏览器窗口查看,所以暂时未集成至Amalthea,请在本地部署。

您也许喜欢这些文章

集智专栏

如何创造心智:揭示人类思维的秘密

发表至趣味项目
原作者Milo毕业于牛津大学经济学专业,也是一名Python开发者和人工智能爱好者。本文是他对Ray Kurzweil的著作_How to create a mind: The secret of human thought revealed_的读后感,首发于Medium,原文链接及作者主页可见于文首。
集智专栏

玩儿懂深度学习Part 1:传统机器学习的回顾

发表至系列教程
这是《玩儿懂深度学习》系列文章的第一篇。本系列文章主要介绍如何使用GPU服务器进行深度学习运算,前面主要介绍原理部分,后期则以实践为主。
集智专栏

土法神经网络 VI:TensorFlow

发表至系列教程
这是本系列教程的最终章。本章将带你用 TensorFlow 实现之前的土法神经网络。

文章评论(2)

新用户501 发表于 7月前回复
回复新用户724:4.2 NotFoundError: iris_training.csv
i got the same error:"4.2 NotFoundError: iris_training.csv"
新用户724 发表于 8月前回复
4.2 NotFoundError: iris_training.csv