引子
最近在学习数据分析,发现pythonprogramming上的教学非常不错,只可惜是英文的。学着学着发现,其中有许多需要注释之处。于是决定发一篇关于python机器学习-数据分析的教程,正好也能作为一种“温故而知新”的手段。
文中的许多知识,是摘自以上这个网站的,起地址为:pythonprogramming.net,也可以直接上那里学习,再来看看我的注释。
下面我先来写环境变量配置。
1. 环境配置
这里的环境配置就是配置一个python开发环境,同时安装教程所需要的python库。机器学习主要在Linux上搭建环境,Windows并非主流,因此也就不写Windows方面的教程(其实是因为我不会…);
Mac系统由于基于Unix,与Linux同根同源,因此方法上也有类似之处,但我并不是非常推荐(麻烦挺多);
如果你仍坚持使用Windows,我推荐使用一台云主机或者VPS,搭建一个云计算python环境,这样可不限于任意系统,只要有浏览器就可以。
1.1 linux环境下
1.1.1 安装系统,安装pip
首先是在你的电脑上安装Linux,系统建议使用Ubuntu 16.04或是基于它的发行版(例如Mint18)。具体教程网上非常多,这里就不赘述了。
装完系统以后第一件事是更新包管理源:
$ sudo apt-get update
然后试试系统有没有安装pip(pip是基于python的包管理器):
$ pip
如果没出来,需要安装pip:
$ sudo apt-get install python-pip
然后我们要安装后面需要用到的python库:
$ sudo pip install numpy
$ sudo pip install scipy
$ sudo pip install pandas
$ sudo pip install sklearn
$ sudo pip install matplotlib
先下载这么多,后面需要再安装。这些都是后面教程里面需要用到的工具包。
如果你觉得下载速度慢(因为这是链接到python官方源的下载方式),你可以使用:
$ sudo pip install numpy -i https://pypi.douban.com/simple
这样就连接到了豆瓣的python镜像源。
1.1.2 运行python代码
命令行模式
Linux下一般已经配置好了python环境,在命令行下输入$ python
一般可直接进入。因此只需要一个文本编辑器即可。
推荐使用sublime text,简洁又大方。
如何使用python呢?我们抛开任何“调试”的思想,尝试用命令实现:
- 先用文本编辑器在路径下编写一段代码:
a = 1
b = 2
c = a + b
print('Hello World!\n')
print(c)
保存为test.py
- 然后打开命令行引导至该路径(在mint下可以右键-Open in Termianl,要是不清楚怎么用命令行至路径,google或百度吧,这里不赘述了),输入:
$ python test.py
就运行了python脚本,也就是运行了这段代码。
你也可以在命令行下输入:$ python
,也可以进入python的交互模式,但它只是交互式的,不适合大段代码的写入。
jupyter notebook编辑模式
另外再推荐一种方法:使用jupyter notebook,这是一种文本编辑器+运行的环境
刚开始你会无所适从,但用习惯以后会觉得非常方便。如果不是大爱命令行操作,那么我推荐这一种。
1.首先是安装jupyter,jupyter在python2环境下需要安装ipython 5.0
$ pip install ipython==5.0
$ pip install jupyter
2.然后打开termianl至某一路径下,输入$ jupyter notebook
,它就启动了。你可以用它创建一个python脚本,然后一行一行地运行你想要的脚本(里面还可以插入markdown文本)
jupyter notebook支持显示matplotlib的图,因此它完全适合我们这个教程。
1.2 mac环境下
mac环境下相对麻烦一些,因为mac不能使用apt-get
作为包管理。而且mac的每一个版本又有所不同,可能会出现不同的错误,需要读者自己搞清楚。
在我的版本下(EI-Capitan),机器自带了python2.7.10,对于我们的教程应该是够了。
然后我们要安装pip,如果你的系统没有自带pip,那么就需要安装一个,这里使用easy_install
:
$ sudo easy_install pip
然后就安装上一借所说的一系列python工具包。
另外mac也支持sublime text,这是一个全平台通用文本编辑器,而且还近乎于免费,简直良心。
1.3 云计算环境下
这是我自己使用的模式,因为这样移动性最强(不需要随身携带自己的电脑,只要有一台能上网的、带浏览器的设备即可),最像hacker又满足需求。
具体配置方法可以参考我的另一篇文章。
网友评论