安装numpy、scipy等机器学习相关的库
0 机器学习 rabin 144 阅读 • 10个月前

今天起开始折腾机器学习相关的东西了。我的开发环境用的是python3.6。

dm工具做好了包,可以直接用:

dm run py-learn

python3

不过这只是核心包,只能做些简单的调试。没有安装视图工具。无法显示图表。

这个包里包含了numpy、scipy、matplotlib、pandas、scikit-learn

想显示图表,请使用jupyter工具包:

dm run py-note

该工具包包含了上述类库,同时包含scrapy、gevent、pymysql、psycopg2等类库,也有golang、scala、js等语言的支持(后续加入)。并支持使用juputyerlab。注意这些类库只能用在python3下。

然后访问你的ip:10001即可。参考:http://www.5dev.cn/?forum/view?id=7

截图如下:

AB5643EC-39E6-4E5F-BE62-3485718C399B.png

如果不想用dm工具,想自己折腾一下,那么可以用pip来安装:

1、安装numpy:

pip3 install numpy 

这个很好装,把python3-dev装上就行了。爆编译器错误就把gcc啥的装上。

安装命令:

ubuntu:apt-get install python3-dev

centos:yum install python3-devel

我用的alpine,大同小异。包安装要比源码安装省心省力不少。下述的依赖安装方法同上。

2、安装scipy:

pip3 install scipy

需要依赖lapack、lapack-dev、gfortran。装上即可。

3、安装matplotlib:

pip3 install matplotlib

需要依赖freetype、freetype-dev

其中如果要显示图表,得安装tk-dev、python3-tkinter或者wxpython。

其中tk-dev、python3-tkinter解决plt.show()无法显示图的问题。

4、安装pandas:

pip3 install pandas

5、安装scikit-learn:

pip3 install scikit-learn

依赖libstdc++

暂时安装了这几种,以后会持续加入。

也可以直接用apt-get、yum来安装,这个比较简单,直接apt-get install python3-numpy就行了。


附知乎上对这几种工具的介绍:

作者:Feater Ni

链接:https://www.zhihu.com/question/37180159/answer/96682815

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Numpy:

来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。

  1. Python对象的转换
  2. 通过类似工厂函数numpy内置函数生成:np.arange,np.linspace.....
  3. 从硬盘读取,loadtxt

快速入门:Quickstart tutorial

Pandas:基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。学习Pandas你要掌握的是:

  1. 汇总和计算描述统计,处理缺失数据 ,层次化索引
  2. 清理、转换、合并、重塑、GroupBy技术
  3. 日期和时间数据类型及工具(日期处理方便地飞起)

快速入门:10 Minutes to pandas

Matplotlib:

Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。创世人John Hunter于2012年离世。这个绘图系统操作起来很复杂,和R的ggplot,lattice绘图相比显得望而却步,这也是为什么我个人不丢弃R的原因,虽然调用

plt.style.use("ggplot")

绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

需要掌握的是:

  1. 散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
  2. 绘图的三大系统:pyplot,pylab(不推荐),面向对象
  3. 坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
  4. 金融的同学注意的是:可以直接调用Yahoo财经数据绘图(真。。。)

Pyplot快速入门:Pyplot tutorial

Scipy:方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。

基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。(略)近期发现有个statsmodel可以补充scipy.stats,时间序列支持完美

Scikit-learn:

关注机器学习的同学可以关注一下,很火的开源机器学习工具,这个方面很多例如去年年末Google开源的TensorFlow,或者Theano,caffe(贾扬清),Keras等等,这是另外方面的问题。

主页:An introduction to machine learning with scikit-learn

图书:

  1. Pandas的创始者:利用Python进行数据分析 (豆瓣)(力荐)
  2. 教材的集合:Scipy Lecture Notes(写的非常棒!遗憾缺少Pandas)
  3. 提升自己:机器学习实战 (豆瓣)

评论:0