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

边看边练的简明机器学习教程 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
提示信息
参考测试集,设置训练集。

您也许喜欢这些文章

2016年机器学习行业应用国际峰会

发表至业界新闻
2016年11月22日,2016年机器学习行业应用国际峰会:唯「智」者,「造」未来在北大博雅国际酒店召开,会上邀请了来自IBM、阿里巴巴等行业巨头的资深机器学习从业者与数据科学家们来为大家展示了目前机器学习领域的各类尖端科技与产品。

机器学习算法分类一览[下]

发表至数据科学
机器学习种类繁杂,但并非无章可循。其步骤多样,但又蕴含潜在规律。本篇文章将从模型的角度出发,解释不同种类机器学习在具体实现过程中的异同。

[Scikit-learn教程] 03.01 文本处理:特征提取

发表至系列教程
文本数据的处理和分类是机器学习以及自然语言处理领域的一个重要方向,也是很多数据科学学习者所必须要掌握的案例之一。本节将通过介绍Scikit-learn中基本的文本处理方法,简要说明机器学习中从文本文件等非纯数据文件中提取数据特征的一般方法。

文章评论(12)

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