专栏首页人工智能机器学习并不难

机器学习并不难

在这篇文章中,我们将讨论一般情况下的机器学习的方法以及其与数据库之间的交互途径。如果你是一个不知从何开始学起的初学者,有兴趣知道到底为何我们需要机器学习,并且疑惑它近期为何备受欢迎,我将会回答你所有的问题。此文中,我们将使用Python 3作为讲解语言,因为它是学习机器学习中的一个相对简单的工具。

谁适合读这篇文章?

任何有兴趣在发现真相后想要追溯其原因的人,亦或是任何一个在心中疑惑过“这些机器学习方法到底是如何运作的?”的人,通过阅读这篇文章,都能够找到他们感兴趣的问题的答案。然而更有可能出现的情况是,有经验的机器学习的学习者在这里找不到任何他们感兴趣的东西,因为本文在程序方面其实还有很多不足之处。为了能够让初学者更加易懂,程序做了一些简化的处理,但是这对你机器学习的起步和未来的整体发展不会有任何的影响。

与学习机器学习有关的数据

每年不管是对于公司亦或是狂热的机器学习的热爱者来说,他们对机器语言的学习需求只增不减。在大公司中,像R语言或者Python库这样的数据分析工具也越来越多地被利用(在本文中,范例都是通过Python 3编写的)。

根据摩尔定律(上图为摩尔照片),集成电路上的晶体管数量每24个月便会翻一番。这就意味着每年电脑在生产力上都在不断增长,因此过去难以接近的知识界限又一次的被扩展----为大数据的研究留出了一片空间,这项研究始于“大数据科学“学科的诞生。通过上文所描述的机器学习算法的应用,使得这项学科的研究开始变得可能了,而在过去可能需要半个世纪才能够被实现出来。谁知道呢?也许只需几年,人类就可以毫无差错地描述出流体运动的各种形式了。

所以数据分析很简单么?

是的。除了全人类都需要学习大数据的重要性之外,我们自身对从其他数据爱好者那里所得到的问题答案进行自主学习和自主应用也会使得数据分析相对更简单。为了解决现存的大量的资源的分类问题,我们可以放弃其中的大部分,通过使用库scikit-learn(SKlearn)工具来学习。通过该工具,我们创造了我们的第一台学习机如下:

clf = RandomForestClassifier()
clf.fit(X, y)

如上我们创建了一个简单的能够通过属性来预测(或分类)其参数的值的机器。

接下来的步骤需要读者对Python的语法及其功能有一定的了解。通常情况下,我们导入我们所需的库进行工作:

import numpy as np
from pandas import read_csv as read

有时候,将可用数据进行可视化会使得我们对其的操作和使用更加的方便。此外,绝大多数的数据都是用户自行收集的CSV格式文件。接下来让我们转到文章的主要部分:解决分类问题。按照顺序执行以下操作:

  • 创建一个汽车训练样本。
  • 使用随机选择的参数和相应的类别来训练汽车。
  • 计算出已经售出的汽车的现有质量。

让我们来看看他们是如何实现的(代码中的每一条都是输入时的一个单独的行):

X = data.values[::, 1:14]
y = data.values[::, 0:1]
from sklearn.cross_validation import train_test_split as train
X_train, X_test, y_train, y_test = train(X, y, test_size=0.6)
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=100, n_jobs=-1)
clf.fit(X_train, y_train)clf.score(X_test, y_test)

创建数组,其中X = 符号(从1到13列)和y = 类(第0列)。接着从原始数据中采集测试和训练的样本,我们使用在scilit-learn中方便的交叉验证功能 train_test_split。随着样品的输出,我们从合集中将 RandomForestClassifier 类导入sklearn。这个类中包含了训练和测试机器所需的所有方法和功能。将类clandom (分类器)分配给 RandomForestClassifier 类,然后调用函数 fit() 来训练 clf 类中的机器 ,其中X_train 类是 y_train类的属性。现在,你可以使用内置度量标准分数来观察X_train类中的预测值和 y_train类中的真实值实际相差多少。当使用这个度量时,输出精度值是从0到1,其中1代表着100%!

结语

我希望这篇文章能至少帮助你掌握Python中的简单机器学习。这些知识足以让你继续深入研究大数据和机器学习。在学习中,最重要的是逐渐从简单到深入。

本文的版权归 KX_WEN 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习的基本概念

    我发现,查阅和掌握机器学习基本概念的最佳方法是,回顾机器学习教科书的介绍章节,并观看典型的在线课程视频。

    人工智能资讯小编
  • AI的元学习之路

    人类的智能的一个关键点在于能力多样性 —— 我们能胜任各种各样的任务。而目前的AI系统则擅长掌握单一技能,例如围棋,Jeopardy(美国的一档电视智力竞赛节目...

    人工智能资讯小编
  • DeepMind的小窍门,究竟如何给AI提的速?

    人工智能里一直以人类为学习榜样。而在面部识别、电子游戏、甚至围棋等领域,深度学习都已经超越了人类,以至于造成人类已经失败了的感觉。

    人工智能资讯小编
  • 高效学习HTML5大前端的方法有哪些?

    同样是前端岗位,明明学历不如你的人,手头上却有三、四个offer。同样是做前端,工作两年后,有的人几个月的薪资等于你的年薪。不仅如此,就连刚毕业的初级前端工程师...

    用户5827212
  • AAAI2019《图表示学习》Tutorial, 180 页 PPT 带你从入门到精通(下载)

    图表示学习,是 2018 年火爆全球的一个深度学习方向,从以 Line, meta-path 等为首的节点表示学习,到以 GCN,GraphSAGE,为首的图卷...

    新智元
  • 我是如何刷 LeetCode 的?

    虽然我是软件工程专业毕业的,但是由于大学的时候一门心思在应用开发身上,「算法与数据结构」这门课重要的课程我并没有学好。所以开始刷 LeetCode 的时候我完全...

    江不知
  • Facebook团队提供视频教程:机器学习指南

    Facebook机器学习指南是由Facebook机器学习团队开发的视频系列,由六部分组成。该系列分享了现实世界实践,提供了如何将机器学习功能应用于实际问题的实用...

    AiTechYun
  • 《coredump问题原理探究》windows版6.2节有成员变量的类

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 第 9 章:递归(下) 栈、堆 ...

    iKcamp
  • Virtual Machine Manager 2012 SP1部署过程

    Virtual Machine Manager (VMM) 是一种用于虚拟化数据中心的管理解决方案,我们能够使用它来配置和管理虚拟主机、网络和存储资源,以便创建...

    李珣

扫码关注云+社区

领取腾讯云代金券