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

边看边练的简明机器学习教程 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,请在本地部署。

您也许喜欢这些文章

极简增强学习新手教程

发表至趣味项目
介绍“增强学习”的基本概念、问题解决框架,并展示喜闻乐见的实例。

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

发表至系列教程
来自 Google 的 Yufeng Guo 尝试把常人眼中高大上的机器学习用最直观、简短的方式传授与你,你可以选择静静地看视频,看完第二天忘了;也可以看完视频自己哼哧哼哧地去搭建环境练习代码;又或者,你可以在集智一边看视频一边在线调戏代码。省时省力,岂不美哉?

[2018.01.14] “女生科技体验节” TensorFlow Workshop

发表至业界新闻
Kaiser在2018年1月14日“女生科技体验节”主持关于TensorFlow的workshop,这次用Fashion-MNIST替换了过度使用的MNIST(手写数字)数据集,并以此为实例展示TensorFlow的基本操作。

文章评论(0)