几天的忙碌都没有空更新博客了,忙什么呢?不是学术,不是科研,而是淘宝店(http://seanwang.taobao.com),哈哈。在学术气息这么浓厚的这里说淘宝未免有些煞风景,不过博主开淘宝店并不是为了赚钱,同样也是为了学术、为了学习、为了帮助大家解决程序难题,你们信吗?反正我是不信。好了,扯淡完了,说正事。
用Python做机器学习大概需要下面这些软件:
1).Python(废话)
2).NumPy
3).SciPy
4).Scikit-learn
5).Matplotlib
一、软件简介
Numpy
NumPy是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和scipy配合使用更加方便。
关于NumPy的使用在其官网上有很多的说明,这里就不再介绍了。
官网地址:http://www.numpy.org
SciPy
SciPy是一个科学计算工具集。如果说NumPy提供了高效的数据结构,那么SciPy则是提供了基于这些数据结构的算法级应用。无论是矩阵运算、线性代数、最优化方法、聚类、空间运算,还是傅里叶变换都囊括其中。
SciPy工具包 | 功能 |
---|---|
cluster | 层次聚类(cluster.hierarchy)
矢量量化/K均值(cluster.vq) |
constants | 物理和数学常量 |
fftpack | 离散傅里叶变换算法 |
integrate | 积分例程 |
interpolate | 插值(线性的、三次方的等等) |
io | 数据输入和输出 |
linalg | 采用优化BLAS和LAPACK库的线性代数函数 |
maxentropy | 最大熵模型的函数 |
ndimage | N维图像工具包 |
odr | 正交距离回归 |
optimize | 最优化(寻找极小值和方程的根) |
signal | 信号处理 |
sparse | 稀疏矩阵 |
spatial | 空间数据结构和算法 |
special | 特殊数学函数如贝塞尔函数或雅克比函数 |
stats | 统计学工具包 |
对于机器学习来说,最常用的大概有scipy.stats、scipy.interpolate、scipy.cluster和scipy.signal。
官网地址:http://www.scipy.org
Scikit-Learn
Scikit-Learn是基于python的机器学习模块,而Scikit-Learn的安装需要numpy,scipy,matplotlib等模块。基本功能主要被分为六个部分,分类,回归,聚类,数据降维,模型选择,数据预处理。详细的信息可以访问官网了解,有大量的文档。
Matplotlib
Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。在数据分析中,常常需要直观的去观察数据,这时候就需要将数据图形化的表示出来。这就是这个库的用处。
二、软件安装
首先当然要安装pip,怎么安装就不说了,中间安装的话会需要很多其他依赖包,遇到什么就安装什么就好了。说了这么多不得不说windows真的好坑,常常出现一些麻烦的问题,那么推荐一款软件(Anaconda),直接一键安装所有的包。这个软件是逗比CharyXiao推荐的,直接到这https://www.continuum.io/downloads下载对应版本就好了。
转载请注明出处fullstackdevel.com:SEAN是一只程序猿 » 用Python做机器学习(一)之sklearn安装
评论前必须登录!