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

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

您也许喜欢这些文章

集智专栏

来自Google的小游戏,让任何人都能参与到机器学习中来

发表至趣味项目
Quick,Draw是来自Google的一些工程师完成的一个网页小游戏,其本质上是一项人工智能实验项目,使用神经元网络和机器学习方法来猜测用户所绘制的图形含义,并在不断练习中进一步提升其识别能力。通过这个游戏,普通人也能参与到复杂的机器学习过程中来,同时领略到目前人工智能的强大之处。
集智专栏

TensorFlow+Keras检测恶意请求

发表至数据科学
在大数据时代,信息的获取成本越来越低,但不仅对普通人,对不怀好意者也是如此。有的黑客已经应用机器学习、深度学习理念和技术,制造更强大的网络攻击。为了应对黑客们的惦记,网络安全人员也要以子之矛攻子之盾,把AI用在安全防护上。本文介绍了基于TensorFlow+Keras构建的恶意请求的简单实例。
集智专栏

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

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

文章评论(12)

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