前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习并不难

机器学习并不难

作者头像
花落花飞去
发布2018-01-26 16:58:18
6300
发布2018-01-26 16:58:18
举报
文章被收录于专栏:人工智能人工智能

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

谁适合读这篇文章?

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

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

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

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

所以数据分析很简单么?

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

代码语言:javascript
复制
clf = RandomForestClassifier()
clf.fit(X, y)

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

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

代码语言:javascript
复制
import numpy as np
from pandas import read_csv as read

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

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

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

代码语言:javascript
复制
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中的简单机器学习。这些知识足以让你继续深入研究大数据和机器学习。在学习中,最重要的是逐渐从简单到深入。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 谁适合读这篇文章?
  • 与学习机器学习有关的数据
  • 所以数据分析很简单么?
  • 结语
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档