专栏首页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

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

本文分享自微信公众号 - IT派(it_pai)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习之集成学习

    1. 关于集成学习的概念   集成学习是机器学习中一个非常重要且热门的分支,是用多个弱分类器构成一个强分类器,其哲学思想是“三个臭皮匠赛过诸葛亮”。一般的弱分类...

    IT派
  • 推荐 | 机器学习中的这12条经验,希望对你有所帮助

    华盛顿大学 Pedro Domingos 教授的“A Few Useful Things to Know about Machine Learning”这篇论文...

    IT派
  • 一只一元甜筒,一年卖了1200万,宜家的销售阴谋!

    如果列一份宜家的畅销榜单,排名第一的可能不是沙发、台灯、置物架, 而是出口处1元一支的冰淇淋甜筒。仅2015年,宜家中国就售出1200万支甜筒。

    IT派
  • Resample方法

    核心思想在于,给定训练集,当你认为给定的训练集不能够很好地反应数据的真实分布时,可以采用重采样的方法,来增大样本.

    JNJYan
  • 理解AdaBoost算法

    与随机森林一样,Boosting算法也是一种集成学习算法,随机森林和集成学习在SIGAI之前的公众号文章“随机森林概述”中已经介绍。Boosting的分类器由多...

    SIGAI学习与实践平台
  • MLK | 一文理清集成学习知识点(Boosting&Bagging)

    相信这个环节的内容大家都会比较熟悉的,因为我们经常用到的XGBoost、GBDT就是集成模型,今天这里就给大家系统地梳理一下知识点和原理,做到了然于胸。

    Sam Gor
  • 机器学习两大利器:Boosting 与 AdaBoost

    最近, 技术在 Kaggle 竞赛以及其它预测分析任务中大行其道。本文将尽可能详细地介绍有关 Boosting 和 的相关概念。

    小小詹同学
  • 实践秘籍:Boosting 与 AdaBoost

    源 / 机器之心 本文将尽可能详细地介绍有关 Boosting 和 AdaBoost 的相关概念。

    昱良
  • 手把手教你用PyTorch实现图像分类器(第一部分)

    经过几个月富有挑战性但是受益良多的学习,我最近从Udacity的Python Nanodegree program AI编程专业毕业。最后一个项目是用PyTor...

    AI研习社
  • 机器学习中最最好用的提升方法:Boosting 与 AdaBoost

    最近,Boosting 技术在 Kaggle 竞赛以及其它预测分析任务中大行其道。本文将尽可能详细地介绍有关 Boosting 和 AdaBoost 的相关概念...

    机器之心

扫码关注云+社区

领取腾讯云代金券