(一)大數據和機器學習練習環境搭建

前言

大數據和機器學習目前正處於風口,對相關人才需求很大,然而國內科班出身的人才確實不多,想要轉行的務必抓住這個短暫的時間窗口。而且,我個人認為目前經濟已經進入通縮狀態,失業率看漲,進入新興行業或許會有不錯的轉機。

我也是通過自學轉入這個領域的,我寫這個專欄的目的一方面是梳理我所學的專業知識以及工作中用到的一些演算法和項目,另一方面也希望能夠和大家一起互相學習、快速成長。

我在win下做項目,所以只講win下怎麼快速部署完整的學習和應用環境。

快速環境配置

想要節省時間,直接看這裡。想知道為什麼這麼安裝,以及一些優化和美化方法,可以直接看下面慢速環境配置。

1. 安裝python,安裝時要點選把python加入系統path,下載地址:Download Python;

2. 在某文件下放入如下3個文件:

  • numpy和mkl的打包版:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

  • scipy的打包版:lfd.uci.edu/~gohlke/pyt
  • rapid_install.py

# rapid-install.pyimport pipfrom subprocess import call# numpy, scipy換成你自己的版本 package_list = ["numpy?1.13.0+mkl?cp27?cp27m?win_amd64.whl", "scipy?0.19.0?cp27?cp27m?win_amd64.whl", "pandas", "matplotlib", "scikit-learn"]for package in package_list: call("pip install --upgrade " + package, shell=True)

然後,在此目錄下,按住shift+滑鼠右擊,選擇打開命令行,輸入 python rapid_install.py,之後就可以坐等完成了。

慢速環境配置

我崇尚簡約美,所以我並不喜歡用一體式的anaconda作為開發環境,anaconda優點在於集成了底層需要的c和fortran的編譯庫,也提供了numpy和scipy依賴的諸如BLAS、LAPACK等的性能優化(想要和GPU結合還需要付錢)。

不過,如果只是作為平時練習和項目demo使用,按照我用的開發環境就可以了,只需要官方python和最美、最強大的編輯器Visual Studio Code足以,很純潔。

1. Python 安裝

下載地址:Download Python。

我用的是python 2.7,因為2.x的庫相對完善,其實2.x和3.x在我看來都一樣,按自己喜好來就可以。根據自己操作系統位數來選擇合適的版本,32位選擇 x86 MSI,64位選x86-64 MSI。

安裝的過程中,注意如圖示這一步,把最後一個×改成下拉框內第一個,這樣可以將python路徑自動加到系統的path路徑下,此外可以看到pip這個包管理工具也默認安裝了。

到命令行工具下驗證python是否安裝成功,可以看到python版本和位數:

2. Visual Studio Code 安裝

下載地址:Download Visual Studio Code - Mac, Linux, Windows。

2.1 安裝時,在這一步建議把所有都勾上,這樣以後點擊滑鼠右鍵可以快速啟動。

2.2 優化和美化,按個人喜好設置。

File-> Preferences:

3. 大數據和機器學習庫 安裝

主要就是5個庫:numpy、scipy、pandas、matplotlib、scikit-learn。

打開vs code,按「 Crtl + ` 」進入vs code自帶的命令行環境—powershell,比win自帶的好用。

3.1 numpy 和 scipy 安裝

Overview(官方說明)

Compared to OSX and Linux, building NumPy and SciPy on Windows is difficult, largely due to the lack of compatible, open-source libraries like LAPACK or ATLAS that are necessary to build both libraries and have them perform relatively well. You can』t sudo apt-get install everything like you can on the other two platforms.

numpy是數值代數庫,scipy是科學計算庫。在win下安裝這兩包比較坑爹,主要是這倆包依賴的一些c和fortran底層庫存在平台兼容性問題。事實上,numpy可以直接用pip install numpy 安裝,但功能和性能受限,而scipy乾脆就是不能安裝。

幸好有高手對這倆包做了完整的binary庫,我們可以下載後直接安裝。

  • numpy和mkl的打包版:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

  • scipy的打包版:lfd.uci.edu/~gohlke/pyt

安裝:pip install xxx.whl注意:文件名要修改成你下載的,以及文件要在當前命令行所在目錄。)

可以進入ipython環境,輸入 import numpy, scipy,驗證是否安裝成功,無異常則成功。

3.2 pandas、matplotlib 、scikit-learn安裝

  • pandas是統計學庫,在數據處理中(數據清洗)用得很多;
  • matplotlib是2D可視化庫,用圖來說明問題是最好的方式;
  • scikit-learn是python領域比較火的機器學習庫。

安裝:

  • pip install pandas

  • pip install matplotlib

  • pip install scikit-learn

可以進入ipython環境,輸入 import pandas, matplotlib, sklearn,驗證是否安裝成功,無異常則成功。

3.3 ipython 安裝

其實到上面這一步就可以了,但是我們只要再多做一點點,就能成倍的提高工作效率。

ipython 是一個美化過的python解釋器,同時提供了和操作系統交互的能力,同時一些提供了很強大的magic命令,用起來真是異常方便。

安裝:pip install ipython

不出意外肯定會出如下錯誤—需要安裝python拓展C++ compiler模塊,下載Microsoft Visual C++ Compiler for Python 2.7。是個.msi文件,直接安裝即可,安裝好後,重新輸入安裝命令來安裝ipython。

在命令行輸入 ipython 來驗證是否安裝成功, 輸入 exit 退出ipython環境。

4. 庫更新

pip list --outdated 可以查看哪些庫已經更新了。下面我提供一個批量更新庫腳本,能夠保證numpy和scipy不出問題。

# pip-upgrade.pyimport pipfrom subprocess import call for dist in pip.get_installed_distributions(): call("pip install --upgrade " + dist.project_name, shell=True)# numpy 換成新的call("pip install numpy?1.13.0+mkl?cp27?cp27m?win_amd64.whl")# scipy 換成新的call("pip install scipy?0.19.0?cp27?cp27m?win_amd64.whl")

以後會寫的東西

環境配置是容易的,後面的練習和使用才是最困難的,numpy、scipy等等中都有很多的api,如何去學習讓人很頭疼。其實,每個庫都有真正核心的api,掌握這些就能幹大多數活了,以後的文章我會每個庫寫一些核心和常用的api,讓大家都能聚焦於最重要的東西,都能快速上手。

最後,是我的剛建立的微信訂閱號 ,文章會同時發送到訂閱號上,歡迎關注,搜索 鍵盤數據俠或者jp-sjx進行關注。


推薦閱讀:

Udacity的納米學位 (Nano degree)怎麼樣?
論文導讀 | TFX:基於TensorFlow可大規模擴展的機器學習平台
Andrew Ng對 Geoffrey Hinton 的採訪:致敬老爺子的一路堅持!
揭開機器學習的面紗

TAG:大数据 | 机器学习 | 人工智能 |