亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標(biāo)——亞洲寵物展覽會深度解析
649
2022-05-30
有一個朋友最近問到這個問題,我覺得把它公開出來對其他人也會有幫助。這是給完全不了解Python而想找到從零到一的最簡單的路徑的人的建議:
1. 在這里(https://www.continuum.io/downloads)下載適用于你的操作系統(tǒng)的Python 3.X的Anaconda發(fā)行版本。這個預(yù)先捆 綁 的發(fā)行版會幫助你避開很多跟安裝相關(guān)的頭疼問題。有很多重要的數(shù)據(jù)分析包都會被預(yù)先安裝好。
2. 等你安裝好之后,測試一下,確認(rèn)默認(rèn)的Python解釋器是你剛剛安裝的版本。這非常重要,因?yàn)榭赡茉谀愕南到y(tǒng)里已經(jīng)安裝了一個版本的Python,但是它并不會包含Anaconda發(fā)行版中的所有東西,所以你得確保新的版本才是默認(rèn)版本。在Mac/Linux系統(tǒng)上,你可以在終端輸入which python,或者你也可以運(yùn)行Python的解釋器并且確保版本跟你下載的是相符的。如果這一切運(yùn)行良好,在安裝的時候就應(yīng)該被設(shè)置成默認(rèn)的版本。如果并非如此,你就得停下來并且解決它。
3. 在命令解釋器(Shell)中輸入jupyter notebook命令,這會打開一個瀏覽器窗口。如果沒有的話,打開瀏覽器,在地址欄輸入:http://localhost:8888。在你打開這個頁面之后,創(chuàng)建一個新的Python筆記本(Python notebook)。
4. 點(diǎn)擊http://www.kaggle.com/最上面菜單欄中的kernels,并在新打開的頁面中的語言過濾器中選擇Python(https://www.kaggle.com/kernels?language=Python)。這里大部分都是其他人利用Kaggle上免費(fèi)公開的數(shù)據(jù)集做分析或者組建模型時使用的Jupyter筆記本(Jupyter Notebook)。在其中尋找標(biāo)題里包含類似EDA(Exploratory Data Analysis,探索性數(shù)據(jù)分析)的筆記本,而不是那些創(chuàng)建預(yù)測模型的筆記本。找一個你覺得有趣的,并且在你的筆記本中再現(xiàn)它。
注意: 你會發(fā)現(xiàn),當(dāng)你再現(xiàn)某些分析的時候,你會遭遇導(dǎo)入錯誤(Import error)。這常常是因?yàn)榉治稣甙惭b了并沒有包含在Anaconda發(fā)行版中的包。你最終會需要學(xué)習(xí)如何跟conda包管理器(Conda package manager)交互,這將是你最終會走入的許多兔子洞之一。通常而言,事情都非常簡單,你只需要用到conda install就可以了,但是你需要找出正確的包的名稱,有時候,你還得確認(rèn)一些其他的細(xì)節(jié)。還有的時候你可能得用到pip install,遲一點(diǎn)你都會學(xué)到的。
高級庫總結(jié)
這里是對你會經(jīng)常接觸的重要的庫的簡要總結(jié):
NumPy:擁有大量的科學(xué)計算的核心功能。由于它的內(nèi)部運(yùn)算是通過C語言實(shí)現(xiàn)的,所以比用Python寫成的同樣的函數(shù),它的速度會快許多。但它并不是最用戶友好的包。
SciPy:跟NumPy非常相似,但是有更多的方式來從分布中取樣,計算檢驗(yàn)統(tǒng)計量,等等。
MatPlotLib:主要的畫圖框架。不太討喜,但卻是必備的包。
Seaborn:在導(dǎo)入MatPlotLib包之后導(dǎo)入Seaborn包,默認(rèn)地,它會使你的繪圖變得漂亮許多。它也有一些獨(dú)特的功能,但是我發(fā)現(xiàn)它最酷炫的功能運(yùn)行起來實(shí)在太慢了。
Pandas:基本上是對NumPy/SciPy進(jìn)行輕量的包裝,使它們更用戶友好一些。對于和表格數(shù)據(jù)交互非常理想,Pandas中把表格數(shù)據(jù)稱為數(shù)據(jù)框(DataFrame)。對畫圖功能也有一些包裝,使得無需使用MPL(Meta-Programming Library,元編程庫)就可以快速實(shí)現(xiàn)畫圖。我使用Pandas而非其他的工具來操作數(shù)據(jù)。
Scikit-learn:包含大量的監(jiān)督和非監(jiān)督機(jī)器學(xué)習(xí)算法,以及許多做模型選擇的度量工具,是一個優(yōu)秀的預(yù)處理庫。這個預(yù)處理庫可以做主成分分析(Principal Component Analysis),對分類變量進(jìn)行編碼,等等。
小技巧
1. 在Jupyter筆記本中,在運(yùn)行代碼塊(Cell)前,于任何一個對象前放置一個問號,它會為你打開這個對象的文檔。在你遺忘了你所使用的函數(shù)的細(xì)節(jié)的時候,這是非常方便的。比如說,my_dataframe.apply會解釋pandas.DataFrame對象中的apply方法,而這個my_dataframe是pandas.DataFrame的一個實(shí)例。
2. 無論你在使用什么庫,你通常都需要一直查閱文檔,那么就干脆一直在瀏覽器中打開它。可選變量以及細(xì)微的差別實(shí)在是太多了。
3. 當(dāng)你遇到無可避免的故障檢修的時候,stackoverflow上也許已經(jīng)有了問題的答案。
4. 接受這個事實(shí)吧:你正在做并不是完全理解的事情,又或者你會被并不重要的細(xì)節(jié)拖入泥淖。某一天你也許需要理解虛擬環(huán)境,它并沒有那么困難,只是會有一些彎路給新手增加一些不必要的痛苦而已。
5. 閱讀別人的代碼。這是最好的方式,可以學(xué)習(xí)到規(guī)范,也是最佳的實(shí)踐。這就是Kaggle kernels能夠幫助你的地方。Github同樣也支持在瀏覽器中展示Jupyter筆記本。互聯(lián)網(wǎng)上有大量的例子可供參考學(xué)習(xí)。
開發(fā)者
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。