這是給完全不了解Python而想找到從零到一的最簡單的路徑的人的建議:
1. 在這里(https://www.continuum.io/downloads)下載適用于你的操作系統的Python 3.X的Anaconda發行版本。這個預先捆綁的發行版會幫助你避開很多跟安裝相關的頭疼問題。有很多重要的數據分析包都會被預先安裝好。
2. 等你安裝好之后,測試一下,確認默認的Python解釋器是你剛剛安裝的版本。這非常重要,因為可能在你的系統里已經安裝了一個版本的Python,但是它并不會包含Anaconda發行版中的所有東西,所以你得確保新的版本才是默認版本。在Mac/Linux系統上,你可以在終端輸入which python,或者你也可以運行Python的解釋器并且確保版本跟你下載的是相符的。如果這一切運行良好,在安裝的時候就應該被設置成默認的版本。如果并非如此,你就得停下來并且解決它。
3. 在命令解釋器(Shell)中輸入jupyter notebook命令,這會打開一個瀏覽器窗口。如果沒有的話,打開瀏覽器,在地址欄輸入:http://localhost:8888。在你打開這個頁面之后,創建一個新的Python筆記本(Python notebook)。
4. 點擊http://www.kaggle.com/最上面菜單欄中的kernels,并在新打開的頁面中的語言過濾器中選擇Python(https://www.kaggle.com/kernels?language=Python)。這里大部分都是其他人利用Kaggle上免費公開的數據集做分析或者組建模型時使用的Jupyter筆記本(Jupyter Notebook)。在其中尋找標題里包含類似EDA(Exploratory Data Analysis,探索性數據分析)的筆記本,而不是那些創建預測模型的筆記本。找一個你覺得有趣的,并且在你的筆記本中再現它。
注意: 你會發現,當你再現某些分析的時候,你會遭遇導入錯誤(Import error)。這常常是因為分析者安裝了并沒有包含在Anaconda發行版中的包。你最終會需要學習如何跟conda包管理器(Conda package manager)交互,這將是你最終會走入的許多兔子洞之一。通常而言,事情都非常簡單,你只需要用到conda install就可以了,但是你需要找出正確的包的名稱,有時候,你還得確認一些其他的細節。還有的時候你可能得用到pip install,遲一點你都會學到的。
高級庫總結
這里是對你會經常接觸的重要的庫的簡要總結:
NumPy:擁有大量的科學計算的核心功能。由于它的內部運算是通過C語言實現的,所以比用Python寫成的同樣的函數,它的速度會快許多。但它并不是最用戶友好的包。
SciPy:跟NumPy非常相似,但是有更多的方式來從分布中取樣,計算檢驗統計量,等等。
MatPlotLib:主要的畫圖框架。不太討喜,但卻是必備的包。
Seaborn:在導入MatPlotLib包之后導入Seaborn包,默認地,它會使你的繪圖變得漂亮許多。它也有一些獨特的功能,但是我發現它最酷炫的功能運行起來實在太慢了。
Pandas:基本上是對NumPy/SciPy進行輕量的包裝,使它們更用戶友好一些。對于和表格數據交互非常理想,Pandas中把表格數據稱為數據框(DataFrame)。對畫圖功能也有一些包裝,使得無需使用MPL(Meta-Programming Library,元編程庫)就可以快速實現畫圖。我使用Pandas而非其他的工具來操作數據。
Scikit-learn:包含大量的監督和非監督機器學習算法,以及許多做模型選擇的度量工具,是一個優秀的預處理庫。這個預處理庫可以做主成分分析(Principal Component Analysis),對分類變量進行編碼,等等。
小技巧
1. 在Jupyter筆記本中,在運行代碼塊(Cell)前,于任何一個對象前放置一個問號,它會為你打開這個對象的文檔。在你遺忘了你所使用的函數的細節的時候,這是非常方便的。比如說,my_dataframe.apply會解釋pandas.DataFrame對象中的apply方法,而這個my_dataframe是pandas.DataFrame的一個實例。
2. 無論你在使用什么庫,你通常都需要一直查閱文檔,那么就干脆一直在瀏覽器中打開它。可選變量以及細微的差別實在是太多了。
3. 當你遇到無可避免的故障檢修的時候,stackoverflow上也許已經有了問題的答案。
4. 接受這個事實吧:你正在做并不是完全理解的事情,又或者你會被并不重要的細節拖入泥淖。某一天你也許需要理解虛擬環境,它并沒有那么困難,只是會有一些彎路給新手增加一些不必要的痛苦而已。
5. 閱讀別人的代碼。這是最好的方式,可以學習到規范,也是最佳的實踐。這就是Kaggle kernels能夠幫助你的地方。Github同樣也支持在瀏覽器中展示Jupyter筆記本。
掃一掃 加微信咨詢