前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >六行代码!完成你的第一个机器学习算法

六行代码!完成你的第一个机器学习算法

作者头像
IT派
发布2018-03-28 17:25:34
7700
发布2018-03-28 17:25:34
举报
文章被收录于专栏:IT派IT派

Google出了一个面向新手的机器学习教程,每集六七分钟,言简意赅,只掌握最基础的Python语法知识,便可以实现一些基本的机器学习算法。接下来我准备分几次整理一下课程,和大家一起学习一下。

Machine learning recipes(一)

开始前,课程将用到两个Open source libraries—scikit-learn和Tensorflow。

接下来步入正题:写一个能区分苹果和橘子的代码,若写出大量规则是行不通的,因为现实生活中充满着不确定因素,制定的规则往往会被打破。所以我们需要一种算法能自动生成规则,这就需要训练一个分类器classifier(可以认为是一种方法:接收输入数据后给它们分配标签labels作为输出)。而用来实现分类器的技术称为监督学习(Supervised Learning)。

写这个分类器的代码要用到scikit-learn,推荐安装Anaconda的方法安装(个人认为最安装简单)。在Python中输入::

import sklearn

若没有报错则说明安装成功!

那么首先用第1行代码:引用分类器(决策树)后面解释

from sklearn import tree

对于监督学习有几个基本步骤我们得去实现:

Step1:Collect Training Data(收集训练数据)

Step2:Train Classifier(训练分类器)

Step3:Make Predictions(作出预测)

Step1:Collect Training Data

拥有越多的训练数据,我们的分类器就能工作越好。

下面用第2、3行代码表示训练数据,定义两个变量:features特征和labels标签并处理一下特性数据用整数而不用字符串,0代表Bumpy;1代表Smooth;0代表Apple;1代表橘子。

features = [[140, 1], [130, 1], [150, 0], [170, 0]] labels = [0, 0, 1, 1]

Step2:Train Classifier

这里用到的分类器类型为决策树Decision Tree,后面课程会深入解释。

在第4行代码中创建一个分类器:

clf = tree.DecisionTreeClassifier()

用第5行代码来训练分类器:

clf = clf.fit(features, labels)

现在就有了一个训练好的分类器啦!

Step3:Make Predictions

下面用最后一行第6行代码我们用训练好的分类器预测一个水果Weight:150g,表皮Bumpy的水果是什么?如果输出为0则为Apple,1为Orange。

print clf.predict([150, 0])

我们人为来预测一下会是什么?根据训练数据我们认为会是1即Orange

在Python中运行一下结果输出为

[1]

恭喜!我们用了6行代码就实现了一个机器学习程序!

作为练习,你可以再在另一个程序,改变训练数据,来创建一个新的分类器。数据如下,来动手练习一下吧!

你也会有疑问,为什么用水果特征来做训练数据而不用图片?

在后面的章节会提到,但是这次用的方法是最普遍的。

后续的课程我会继续和大家一起学习,有的小伙伴觉得节奏太慢忍不住要先学习一下,我把课程链接放在这里,方便小伙伴们自行观看学习!

传送门:http://i.youku.com/i/UMjczOTc0NDkzNg==/custom?id=87105

好了,以上就是本篇文章的所有内容了,强烈建议大家能够亲手实践一下,毕竟纸上得来终觉浅,绝知此事要躬行。由于我是个初学者水平有限,难免有错误疏漏。请不吝赐教,大家一起学习!最后感谢大家的阅读。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT派 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档