机器学习快速入门1分类

什么是分类?

MNIST

图片.png

MNIST(Modified National Institute of Standards and Technology database)

这是机器学习的经典案例。数据由一组手写0到9数字图像组成,多用于OCR(光学字符识别 optical character recognition)。

数据类型

在机器学习中,您会发现有两种非常常见的数据类型。

MNIST由图像组成。图像通常属于“计算机视觉”领域。

机器学习中使用的另一种常见数据格式是文本。比如“自然语言处理”。

垃圾邮件分类

Gmail,Yahoo,Hotmail等会自动为您分类垃圾邮件和非垃圾邮件。他们并不总能做对,但非常好。

这是怎么做到的?机器学习算法接收电子邮件作为输入,并输出预测:它将该电子邮件分类为垃圾邮件或非垃圾邮件。机器学习分类算法接受输入,并输出分类预测!

业务场景

当然,必须有些不属于图像和文本的分类示例。企业正在利用机器学习来改善服务并赚更多钱。比如在线广告,这通常采用横幅广告或视频广告的形式。广告客户收集了一些您的数据。例如,他们知道您的年龄,性别和位置。

他们知道昨天,你做了谷歌搜索“太阳镜”。
重要的一个细节是广告客户有一组可能的广告向您展示(这些广告由其客户提供)。
假设他们的客户包括:

  • 太阳镜公司
  • 泳装公司
  • 办公家具公司
  • 化妆美容公司
  • 跑鞋公司

对于每个广告,我们希望能够预测用户是否会点击广告。在上面列出的公司中,属于太阳镜公司的广告可能最适合您(但基于其他属性,可能不是!)这个例子和垃圾邮件分类示例都是二进制分类的例子,意味着您的预测始终是2个类别中的一个。

-(1)垃圾邮件(2)不是垃圾邮件

  • (1)点击(2)无点击

模式是什么?

对于每个例子,我们有3件事:

  • 输入数据(图像,文本或识别你的属性列表)
  • 机器学习分类器
  • 分类器做出的预测。比如图像代表什么数字?电子邮件是垃圾邮件还是垃圾邮件?
    此用户是否会点击广告?

即:输入>模型>预测

做出正确的预测

机器学习分类器如何学会做出正确的预测?这就是“机器学习”中的“学习”所在。

通常,在机器学习中,我们有一个数据表可供学习(我们将很快看到它的编程方式)。
但是我们不仅拥有输入数据,如图像或文本或用户属性,而且我们也有正确的答案。
通常,人们将这些称为标签或目标。

分类器学习如何做出正确预测的简短答案是模型给出了大量输入和真实标签的例子,并且一些算法学会识别这种模式。

详细答案是,一旦给出一组数据(包括输入和相应的目标),实际上可以应用许多不同类型的学习算法。比如线性回归,逻辑回归,决策树,随机森林,神经网络等,本书只要结果,不会涉及中间过程和这些具体的算法。

数据“看起来像什么”?

我们已经看了一些例子(图像分类,文本分类,点击分类)。

假设我想预测班上的学生是否会通过考试(另一个二元分类问题)。我从过去的学生那里做了一些测量,以帮助我做出这个预测:他们研究的小时数以及他们在学习期间玩电子游戏的小时数。我可以制作一张包含所有这些测量值的表格。每行代表不同学生的测量值,并将数据存储为CSV(逗号分隔值)电子表格。


图片.png

在内存中,输入数据(表的前2列)将由2-D数组表示。您的目标(表格的最后一列,以灰色突出显示)将由相同长度的一维数组表示。
机器学习背后的想法是我可以学习从这些数据中识别模式。
因此,对于明年的课程,我可以问一个学生,“你学了几个小时,你花了多长时间玩视频游戏?”并使用这些数据我可以预测那个学生是否会通过我的考试。

黑盒

我们将机器学习算法视为黑盒子,它能够做两件事。

  • 它可以根据训练数据学习模式。请记住,此训练数据由两部分组成:输入和相应的目标。人们通常分别称这些X和Y.
  • 在从训练数据中学习模式后,它可以对新数据进行预测。

例如,Gmail的垃圾邮件分类器可能从未见过我今天收到的电子邮件。
那么Gmail的垃圾邮件分类器如何收集它从未见过的电子邮件并预测它是垃圾邮件还是垃圾邮件?
原因在于它已经学会正确识别垃圾邮件和非垃圾邮件之间的模式。

参考资料

如何用代码实现?

scikit-learn API具有执行我们刚才谈到的2个任务所需的功能。

我们首先考虑一下我们的数据。记住,我们通常将这些称为X和Y.我们之前讨论过,X将是一个二维数组,Y将是一个相同长度的一维数组。

一般来说,我们的数据X可以被认为是NxD矩阵。N代表样本数,D代表维数。请注意,如果X有N行,那么Y也必须有N行。这是因为对于我们拥有的每个输入样本,我们必须有一个相应的目标。

假设现在我们有一些数据加载函数,它返回我们需要的2个数组:

X,  Y   =   load_data()。

现在我们有了数据,我们需要一个分类器。让我们选择scikit-learn的RandomForestClassifier。由于RandomForestClassifier是一个对象,我们需要实例化它:

model = RandomForestClassifier()

记住,分类器必须做的两件事:#1:学习,#2:做出预测。
学习很简单。我们只是调用实例方法“fit”,然后传入X和Y.model.fit(X, Y)
预测同样非常简单。我们将实例方法称为predict,并传入一些数据X.

predictions = model.predict(X)

注意预测不必接受任何Y参数。为什么会这样?当我们做出预测时,我们根本不需要被告知正确的答案。如果我们已经知道正确的答案,就没有必要做出任何预测!

模型评估

我们还想做的一件事是评估我们的模型。换句话说,在我们训练了模型之后,我们想要问:“这个模型有多好?”通过分类,我们对分类率感兴趣,也称为准确度。
这两个术语也可互换使用。
这只是你得到的预测数量除以你做出的预测总数。
准确度=#correct / #total在scikit-learn中,这只是另一个称为“得分”的函数。当然,您也可以尝试自己实施分数功能,作为练习。您应该只使用模型的预测功能来完成此操作。

accuracy = model.score(X, Y)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358