乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何使用 Python 開始建立你的數(shù)據(jù)分析項目

       silence_33 2017-10-25 發(fā)布于內(nèi)蒙古

      現(xiàn)在有很多博文對復雜的機器學習算法和前沿的技術(shù)進行了展示,而這也促使數(shù)據(jù)科學家們慢慢變成了“社交控”(FOMO)。但數(shù)據(jù)分析的基本內(nèi)容究竟是什么樣的?你應當怎樣安排項目結(jié)構(gòu)?你需要使用什么樣的工具?等等諸如此類的問題卻鮮有人問津。本文將會對如何建立項目提供一些啟發(fā)思路,以幫助你快速達到 在數(shù)據(jù)科學領(lǐng)域能有所產(chǎn)出 的境界。

      項目結(jié)構(gòu)

      項目的結(jié)構(gòu)總是為了契合人們的需求而得到不斷完善,這會導致在一個團隊中出現(xiàn)不同的項目構(gòu)架。如果你或者團隊中的其他人能夠及時發(fā)現(xiàn)項目結(jié)構(gòu)的重要性,并且這個概念在團隊中得到推廣,那么,你無疑是幸運的。

      多年前作者偶然發(fā)現(xiàn)了 R 語言的項目模板 網(wǎng)站。從那之后,作者便一直提倡身邊的人使用規(guī)范的項目結(jié)構(gòu)。最近,DrivenData 發(fā)布了更為普適的 Cookiecutter Data Science 來構(gòu)建項目結(jié)構(gòu)。

      而這些網(wǎng)站在項目構(gòu)建方面的思路大致如下:

      • 一個連貫且組織良好的結(jié)構(gòu),以便于人們協(xié)作

      • 你的分析應當可復現(xiàn),而你的項目結(jié)構(gòu)可以滿足這個需求

      • 不應該從原始數(shù)據(jù)作為出發(fā)點開始你的項目,而應當假設(shè)原始數(shù)據(jù)不變,創(chuàng)建其他派生的文件

      作者簡略的項目結(jié)構(gòu)如下所示:

      example_project/

      你可以在 這里 看到相關(guān)實例。

      項目通常遵循另一種結(jié)構(gòu):

      • 原始數(shù)據(jù)不變,存儲在 data/中;

      • 數(shù)據(jù)處理和相關(guān)輸出圖分別存儲在不同的文件夾下,例如:figures/output/;

      • 筆記文件存儲在notebooks/

      • 項目信息撰寫在README.md中;

      • 項目代碼放置在獨立的文件夾下。

      實際上,你選擇什么樣的項目結(jié)構(gòu)并不重要,只要它能符合你的工作流程,你也能堅持使用它。你應該嘗試去理解何為項目,從而選擇滿足要求的項目結(jié)構(gòu)。

      虛擬環(huán)境

      項目之間應當相互獨立,你肯定不希望新的項目打亂了之前的工作成果。我們可以通過把不同項目的文件存儲在不同的文件夾下實現(xiàn)獨立性,但是不同項目之間也應當使用不同的 Python 環(huán)境。

      虛擬環(huán)境依賴于不同的項目而相互獨立,避免了包的沖突問題。每個虛擬環(huán)境都安裝了特定版本的不同包。虛擬環(huán)境一中安裝了版本為 1.11 的numpy庫和版本為 0.18 的pandas庫,而虛擬環(huán)境二中則僅僅安裝了版本為 0.17 的pandas庫。作者選取適用于數(shù)據(jù)科學的 conda 管理虛擬環(huán)境(可在 這里 看到選擇它的原因)。

      下列命令可以創(chuàng)建一個使用 Python 3.5 的新的 conda 虛擬環(huán)境,命名為 example_project

      $ conda install --name example_project python=3.5

      激活虛擬環(huán)境( Windows 系統(tǒng)下將 source 省去):

      $ source activate example_project

      之后便可以安裝所需的包了:

      $ conda install pandas numpy jupyter scikit-learn

      當你在不同的項目間跳轉(zhuǎn)時,可以運行source deactivate命令取消激活,并激活新的項目虛擬環(huán)境。

      一旦你熟練使用activatedeactivate命令,就會發(fā)現(xiàn)虛擬環(huán)境是一個很輕巧的工具來保證 Python 環(huán)境的獨立。通過導出環(huán)境定義文件(例如,所有安裝的包名和版本號),你的項目就很容易得到復現(xiàn)了。如果你想查看更多細節(jié),可在 Tim Hopper 的博文中看到。

      Git

      每個項目都應該有自己的 Git 資源庫。在每個項目創(chuàng)建一個資源庫可以幫助你追蹤每個項目的歷史和解決在不同的項目間復雜的版本依賴問題。

      又或者,你可以選擇在一個資源庫中包含多個項目,將所有內(nèi)容存儲在一個位置。這樣做的缺點在于往往會因為合并沖突問題而告終(數(shù)據(jù)科學家通常并不能熟練使用 Git )。除了很多使用 Git 時出現(xiàn)的問題,這也會導致你的項目之間缺乏獨立性。

      創(chuàng)建 Git 資源庫最簡單的方法就是在你的 Git 遠程主機托管服務(例如,Github 和 GitLab)上創(chuàng)建一個新的 Git 資源庫,然后把它復制到本地:

      $ git clone https://github.com/hgrif/example-project.git

      你可以在這個空文件夾下構(gòu)建你的項目結(jié)構(gòu)。

      如果你按照這個步驟執(zhí)行,并準備在一個新文件夾下創(chuàng)建一些文件了。那么,你首先還需要在電腦上對 git 資源庫進行初始化:

      $ git init

      然后在你的遠程主機上創(chuàng)建一個新的 git 資源庫,得到它的鏈接,并運行下列命令:

      $ git remote add origin https://github.com/hgrif/example-project.git

      該命令會添加鏈接為 https://github.com/hgrif/example-project.git的遠程資源庫,并命令為 origin 。你可能需要把現(xiàn)有的 master分支推送到origin上:

      $ git push --set-upstream origin master

      在你的項目目錄下創(chuàng)建.gitignore文件可以避免將圖或數(shù)據(jù)誤填加進資源庫中。作者一般使用 針對 Python 的.gitignore文件 ,并且在文件中加入 data/、figures/output/ 文件夾,以便 Git 可以忽略它們。

      既然 Git 已經(jīng)設(shè)置好了,你就可以對核心內(nèi)容使用git addgit commit命令了!

      使用工具

      使用一些工具可以幫助你擺脫那些重復性工作。

      Python 中的cookiecutter包可根據(jù)模板自動創(chuàng)建項目文件夾。你可以使用現(xiàn)有的模板,例如,Cookiecutter Data Science 或者 作者的項目結(jié)構(gòu)模板 ,或是創(chuàng)建你自己新的模板。

      使用虛擬環(huán)境最好的方法就是選用支持它們的編輯器,比如:PyCharm 。你也可以使用 autoenv 或者 direnv 去激活虛擬環(huán)境,并設(shè)置環(huán)境的變量,如果你cd定位到一個工作目錄下的話。

      結(jié)論

      對你的數(shù)據(jù)科學項目有一個良好的設(shè)置將會有助于同其他人協(xié)作,并且項目本身也會更容易復現(xiàn)。一個好的項目結(jié)構(gòu),一個虛擬環(huán)境和一個 git 資源庫是每個數(shù)據(jù)科學項目的基石。


      原文鏈接:How to Start a Data Science Project in Python

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多