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

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

集智小编

1. What is Machine Learning?

首先我们要帮你解决的问题是:机器学习是个什么东西?它对于我们来说有什么意义?掌握它对我们有什么好处?相信你通过这5分钟的视频能找到答案。




2.The 7 Steps of Machine Learning

简单了解机器学习以后,我们就该发车了。古有七步成诗,今有 Yufeng Guo 七部搭建一个机器学习模型(当然是很粗犷的那种),相信你看完之后一定会惊叹:原来利用身边的这些东西就能完成机器学习!




3. 简单易懂的 Estimators(评估器)

终于在第三集开始上代码了,惊不惊喜?意不意外?其实本集的代码也一点不难,另外我们在视频后面还准备了肥肠基础的小练习(下方编程实践),方便大家边看♂边练。怎么样才能成为逐步成为一代宗师?无他,但手熟尔。




4.编程实践

数据准备

train_test_split()函数的参数test_size,表示训练集所占的比例,取值在0~1之间。如test_size=0.5则表示训练集和数据集五五开。

  • 请补全以下代码,设置参数test_size,点击运行检验答案。
程序说明
数据准备
示例代码
# 载入扩展库,并输出TensorFlow的版本 import numpy as np import tensorflow as tf from sklearn import datasets from sklearn.cross_validation import train_test_split print(tf.__version__) # 载入数据,划分训练/测试集 iris = datasets.load_iris() train_X, test_X, train_y, test_y = train_test_split(iris.data, iris.target, test_size = ____, random_state = 0)
正确答案
train_test_split(iris.data, iris.target, test_size = 0.2, random_state = 0)
程序验证过程
train_X.shape == (120, 4)
提示信息
test_size = 0.2


特征选择与模型搭建

建立TensorFlow格式的特征列,根据对数据的理解可知,共有4列特征。

  • 请补全以下代码,设置参数shape,点击运行检验答案。
程序说明
模型搭建
示例代码
# 所有特征都是实数值 feature_name = "flower_features" feature_columns = [tf.feature_column.numeric_column(feature_name, shape=[____])] classifier = tf.estimator.LinearClassifier( feature_columns=feature_columns, n_classes=3, model_dir="/tmp/iris_model")
正确答案
feature_columns = [tf.feature_column.numeric_column(feature_name, shape=[4])]
程序验证过程
feature_columns[0].shape[0] == 4
提示信息
shape参数设置为4


训练/评估

在准备好数据和模型之后,接下来只需让模型读取数据,再执行训练和测试。为了匹配TensorFlow的数据类型,首先需要定义输入函数。

  • 请根据_fn()已有的代码,完成以下设置,点击运行检验答案。
程序说明
Training/Evaluation
示例代码
# 输入函数,讲导入的数据转换为TensorFlow数据类型 def input_fn(set_split='train'): def _fn(): if set_split == "test": features = {feature_name: tf.constant(test_X)} label = tf.constant(test_y) else: features = {feature_name: tf.constant(____)} label = tf.constant(____) return features, label return _fn # 训练(拟合)模型 classifier.train(input_fn=input_fn(), steps=1000) print('fit done') # 评估准确率 accuracy_score = classifier.evaluate(input_fn=input_fn('test'), steps=100)["accuracy"] print('\nAccuracy: {0:f}'.format(accuracy_score))
正确答案
features = {feature_name: tf.constant(train_X)} label = tf.constant(train_y)
程序验证过程
accuracy_score > 0.95
提示信息
参考测试集,设置训练集。

您也许喜欢这些文章

集智专栏

水师提督速成指南:用Keras打造你的AI水军

发表至趣味项目
借助Keras,让AI为你创造以假乱真的顾客评论!
集智专栏

[Kaggle] 泰坦尼克号事故分析 01 数据清洗

发表至数据科学
Kaggle是一个全球性的机器学习竞赛网站,参赛者可以自己编写算法,预测更准者胜。参加竞赛是个练习机器学习技巧的好方法。 Kaggle上的竞赛有很多,目前最火热的一个是推测泰坦尼克号上哪些乘客幸存。本篇将介绍如何分析数据、训练模型、提交答案。当然如果想知道自己的真实成绩,还是需要到Kaggle.com上进行。
集智专栏

[Scikit-learn教程] 01 快速入门

发表至系列教程
从本篇文章开始,我们将在一系列的文章中介绍使用scikit-learn——一个著名的机器学习库件来完成机器学习过程的各种方法,包括算法的选择、模型的构建与训练、训练结果的评估等等。同时提供丰富的案例与小测试,帮助读者深刻掌握机器学习与数据挖掘领域中的各类基础知识与技能。

文章评论(12)

boyer 发表于 8月前回复
资料还是太少了,上述的python代码有无一个完整的项目demo?
发表于 9月前回复
test_size应该是指测试集的占比吧?
Nelson 发表于 9月前回复
新人,报道一下
逗留者 发表于 10月前回复
回复柯船长:您在这里找找 Dataset: https://goo.gl/UtccyH
好的,thank you
临书 发表于 10月前回复
好玩,就是「模型搭建」那个代码块的提示不对
船长集智 运营 发表于 10月前回复
回复逗留者:课程真的是太棒啦!!!!请问《简单易懂的 Estimators(评估器)》里的数据集下载地址能提供一个吗?
您在这里找找 Dataset: https://goo.gl/UtccyH
逗留者 发表于 10月前回复
课程真的是太棒啦!!!!请问《简单易懂的 Estimators(评估器)》里的数据集下载地址能提供一个吗?
蝎子家族的。。 发表于 10月前回复
回复柯船长:那还是得从一门语言开始入手,您可以从这个帖子开始看起:https://jizhi.im/blog/post/pyintro01
好的,非常感谢~
船长集智 运营 发表于 10月前回复
回复蝎子家族的。。:很好的文章,刚接触机器学习,可惜不是学计算机的,代码什么的都没接触过,求推荐入门自学书籍,完全小白,从零开始的自学书,谢谢大佬~
那还是得从一门语言开始入手,您可以从这个帖子开始看起:https://jizhi.im/blog/post/pyintro01
蝎子家族的。。 发表于 10月前回复
很好的文章,刚接触机器学习,可惜不是学计算机的,代码什么的都没接触过,求推荐入门自学书籍,完全小白,从零开始的自学书,谢谢大佬~