machine-learning开始使用机器学习


备注

机器学习是编程计算机的科学(和艺术),因此他们可以从数据中学习。

一个更正式的定义:

正是研究领域使计算机无需明确编程即可学习。亚瑟·塞缪尔,1959年

更加面向工程的定义:

据说计算机程序可以从经验E中学习一些任务T和一些绩效测量P,如果它在T上的表现,由P测量,随着经验的提高而改善E. Tom Mitchell,1997

资料来源:“使用Scikit-Learn和TensorFlow的动手机器学习由AurélienGéron(O'Reilly)。版权所有2017AurélienGéron,978-1-491-96229-9。“

机器学习(ML)是计算机科学领域,由人工智能研究产生。与其他形式的分析相比,机器学习的优势在于能够发现隐藏的见解并预测未来看不见的输入(概括)的结果。与明确声明操作的迭代算法不同,机器学习算法借用概率论中的概念来选择,评估和改进统计模型。

使用Python安装或设置

1)scikit学习

scikit-learn是一个用于机器学习的Python模块,建立在SciPy之上,并根据3-Clause BSD许可证进行分发。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度增强,k均值和DBSCAN,旨在与Python数值和科学库NumPy和SciPy互操作。

目前稳定版的scikit-learn 需要

  • Python(> = 2.6或> = 3.3),
  • NumPy(> = 1.6.1),
  • SciPy(> = 0.9)。

对于大多数安装pip python包管理器可以安装python及其所有依赖项:

pip install scikit-learn
 

但是对于Linux系统,建议使用conda 包管理器来避免可能的构建过程

conda install scikit-learn
 

要检查你是否有scikit-learn ,请在shell中执行:

python -c 'import sklearn; print(sklearn.__version__)'
 

Windows和Mac OSX安装:

除了用于Windows的大量科学python库,Mac OSX(也与Linux相关)之外, CanopyAnaconda都提供了最新版本的scikit-learn

官方源代码回复: https//github.com/scikit-learn/scikit-learn


2)用于智能计算的Numenta平台

Numenta智能计算平台(NuPIC)是一个实现HTM学习算法的机器智能平台。 HTM是新皮层的详细计算理论。 HTM的核心是基于时间的连续学习算法,用于存储和调用空间和时间模式。 NuPIC适用于各种问题,特别是流数据源的异常检测和预测。

NuPIC二进制文件可用于:

Linux x86 64位
OS X 10.9
OS X 10.10
Windows 64位

在所有操作系统上安装NuPIC需要以下依赖项。

  • Python 2.7
  • 点子> = 8.1.2
  • setuptools的> = 25.2.0
  • 轮> = 0.29.0
  • numpy的
  • C ++ 11编译器,如gcc(4.8+)或clang

其他OS X要求:

  • Xcode命令行工具

运行以下命令以安装NuPIC:

pip install nupic
 

官方源代码回复: https//github.com/numenta/nupic


3)nilearn

Nilearn是一个Python模块,用于快速简便地统计NeuroImaging数据。它利用scikit-learn Python工具箱进行多变量统计,并使用预测建模,分类,解码或连接分析等应用程序。

使用该软件所需的依赖关系是:

  • Python> = 2.6,
  • setuptools的
  • Numpy> = 1.6.1
  • SciPy> = 0.9
  • Scikit-learn> = 0.14.1
  • Nibabel> = 1.1.0

如果您正在使用nilearn绘图功能或运行示例,则需要matplotlib> = 1.1.1。

如果要运行测试,则需要nose> = 1.2.1,coverage> = 3.6。

首先确保已安装上面列出的所有依赖项。然后,您可以通过在命令提示符中运行以下命令来安装nilearn:

pip install -U --user nilearn
 

官方源代码回复: https//github.com/nilearn/nilearn/

4)使用Anaconda

Anaconda提供了许多科学Python库。您可以从此处获取安装文件。一方面,使用Anaconda,您不需要安装和配置许多软件包,它是BSD许可的,并且具有简单的安装过程,可用于Python 3和Python 2,而另一方面,它会降低灵活性。举个例子,一些最先进的深度学习python包可能会使用不同版本的numpy然后安装Anaconda。但是,这个缺点可以单独使用另一个python安装来处理(例如在linux和MAC中你的默认安装)。

Anaconda安装程序会提示您安装位置选择,并提示您添加PATH选项。如果你将Anaconda添加到你的PATH,你的操作系统应该会发现Anaconda Python是默认的。因此,仅适用于此Python版本的修改和将来的安装。

为了说清楚,安装Anaconda并将其添加到PATH后,如果键入,则使用Ubuntu 14.04 via terminal

python
 

Anaconda Python通过终端

Voila,Anaconda Python是您的默认Python,您可以立即开始享受使用许多库。但是,如果你想使用旧的Python

/usr/bin/python
 

默认Python通过终端

简而言之,Anaconda是使用Python开始机器学习和数据分析的最快方式之一。

使用R语言安装或设置

是以明确定义的格式的R函数,数据和编译代码的集合。公共(和私有)存储库用于托管R包的集合。 CRAN提供最大的R包集合。一些最受欢迎的R机器学习包包括以下内容:

1)rpart

描述:分类,回归和生存树的递归分区。 1984年由Breiman,Friedman,Olshen和Stone撰写的大部分功能的实现。

它可以使用以下代码从CRAN安装:

install.packages("rpart")
 

加载包:

library(rpart)
 

官方消息来源: https//cran.r-project.org/web/packages/rpart/index.html


2)e1071

描述:潜类分析,短时傅里叶变换,模糊聚类,支持向量机,最短路径计算,袋装聚类,朴素贝叶斯分类器等功能。

从CRAN安装:

install.packages("e1071")
 

加载包裹:

library(e1071)
 

官方消息来源: https//cran.r-project.org/web/packages/e1071/index.html


3) randomForest

描述:使用随机输入基于树木森林的分类和回归。

从CRAN安装:

install.packages("randomForest")
 

加载包裹:

library(randomForest)
 

官方消息来源: https//cran.r-project.org/web/packages/randomForest/index.html


4)插入符号

描述:杂项功能,用于训练和绘制分类和回归模型。

从CRAN安装:

install.packages("caret")
 

加载包裹:

library(caret)
 

官方消息来源: https//cran.r-project.org/web/packages/caret/index.html