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

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

您也许喜欢这些文章

集智专栏

卷积:如何成为一个很厉害的神经网络

发表至趣味项目
最直观的、最容易理解的卷积神经网络(CNN)入门教程,配合丰富的示意图和可视化。以最经典的LeNet为例,涵盖CNN最常用的卷积、ReLU、池化三大操作。最后还有互动答题环节,让读者巩固自己的理解。
集智专栏

iPhone光鲜外衣的背后,是人工智能展现出的强大魅力

发表至业界新闻
相对于其他科技巨头在人工智能领域的大张旗鼓攻城略地,苹果公司似乎显得非常保守,但事实真的如此吗?即将到来的iPhone X会有哪些「黑科技」?又是什么让这些「黑科技」得以走进现实?本文将会为您细细阐述iPhone背后苹果公司所带来的卓越的人工智能以及机器学习技术。
集智专栏

浅说深度学习(3):序列学习

发表至系列教程
系列第3篇:本系列旨在提供一个直观、易懂的深度学习入门导论,不需要太多数学和理论支撑就能明白。

文章评论(2)

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