想要參加Kaggle,首先要搭建好我們的機器學習環(huán)境。
參加Kaggle競賽的第一步,選定一個平臺。目前,在數(shù)據(jù)分析方向最主流的兩個平臺是R語言和python,相比較之下,我更推薦大家使用Python來完成Kaggle上的競賽。
原因主要包括以下幾點:
- Python的生態(tài)系統(tǒng)比較完善,針對數(shù)據(jù)分析、機器學習的各個領域都有相對應的包來解決我們的問題,比如:sklearn,pandas,xgboost 等。
- Python有一些非常優(yōu)秀的深度學習框架供我們選擇,比如Theano,TensorFlow,Keras 等
- Python語法簡單,上手速度快,能夠用最少的代碼解決我們的問題,讓我們的主要精力放在解決業(yè)務問題而不是編程問題上。
1、操作系統(tǒng)選擇
Windows是我們平時辦公用的較多的操作系統(tǒng),但是,在這里還是推薦使用Linux。Ubuntu是目前使用比較多的桌面Linux系統(tǒng),各種軟件的支持也比較好。
2、Python開發(fā)環(huán)境搭建
Python有兩個版本可供我們選擇,python3.x和python2.x。由于3.x與2.x的差異問題,有很多包對3.x的支持不太好,所以建議選擇Python2.x。
Ubuntu系統(tǒng)都自帶Python,我們只需要安裝常用的數(shù)據(jù)分析包:numpy,scipy,pandas,sciket-learn,matplotlib等。
Ubuntu下可以用命令安裝:
sudo apt-get install python-numpy sudo apt-get install python-scipy sudo apt-get install python-matplotlib sudo apt-get install python-pandas sudo apt-get install python-sklearn
Anaconda
如果覺得手動一個一個安裝比較麻煩,我們可以選擇打包好的Python環(huán)境。比較推薦大家使用Anaconda來搭建數(shù)據(jù)分析環(huán)境。
Anaconda是一個用于科學計算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。**
3.深度學習
AlphaGo在2017年年初化身Master,在弈城和野狐等平臺上橫掃中日韓圍棋高手,取得60連勝,未嘗敗績。AlphaGo背后神秘的推動力就是深度學習。深度學習領域目前最為流行的框架主要有:
(1)TensorFlow

TensorFlow是一款開源的數(shù)學計算軟件,使用數(shù)據(jù)流圖(Data Flow Graph)的形式進行計算。圖中的節(jié)點代表數(shù)學運算,而圖中的線條表示多維數(shù)據(jù)數(shù)組(tensor)之間的交互。TensorFlow靈活的架構(gòu)可以部署在一個或多個CPU、GPU的臺式以及服務器中,或者使用單一的API應用在移動設備中。TensorFlow最初是由研究人員和Google Brain團隊針對機器學習和深度神經(jīng)網(wǎng)絡進行研究所開發(fā)的,目前開源之后可以在幾乎各種領域適用。
(2)Torch
Torch是一個有大量機器學習算法支持的科學計算框架,其誕生已經(jīng)有十年之久,但是真正起勢得益于Facebook開源了大量Torch的深度學習模塊和擴展。Torch另外一個特殊之處是采用了編程語言Lua(該語言曾被用來開發(fā)視頻游戲)。
(3)Theano
2008年誕生于蒙特利爾理工學院,Theano派生出了大量深度學習Python軟件包,最著名的包括Blocks和Keras。Theano的核心是一個數(shù)學表達式的編譯器,它知道如何獲取你的結(jié)構(gòu)。并使之成為一個使用numpy、高效本地庫的高效代碼,如BLAS和本地代碼(C++)在CPU或GPU上盡可能快地運行。它是為深度學習中處理大型神經(jīng)網(wǎng)絡算法所需的計算而專門設計的,是這類庫的首創(chuàng)之一(發(fā)展始于2007年),被認為是深度學習研究和開發(fā)的行業(yè)標準。
結(jié)束語
本篇文章主要是搭建入門機器學習的基礎環(huán)境,所以不過多介紹深度學習環(huán)境的搭建,有興趣的同學在入門之后可以在這些框架的官方網(wǎng)站得到更多詳細的介紹。
完成基礎環(huán)境搭建后,下篇文章,我選擇最簡單的Titanic幸存者預測來入門Kaggle。
歡迎關注微信公眾號:kaggle數(shù)據(jù)分析!