成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

14個Q&A,講述python與數據科學的“曖昧情事”

開發 后端 開發工具
本文為你精心準備了一段Python與數據科學的“曖昧史”——用Python進行數據科學概述,包括Numpy,Scipy,pandas,Scikit-Learn,XGBoost,TensorFlow和Keras等模塊、包、庫的用法。

Python最近火了,大紅大紫那種。PYPL(編程語言受歡迎程度) 四月官方榜單宣布,Python榮獲***,竟然連朋友圈里的文科生都開始轉發Python課程打卡的鏈接了……這是怎樣一個令全民瘋狂的語言?

作為編程界的“頭牌”名媛,Python平易近人的態度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發、爬蟲、系統運維、數據分析與計算等等。這幾位風流多金的行業精英隨便哪個都能“逆轉未來”。

本文為你精心準備了一段Python與數據科學的“曖昧史”——用Python進行數據科學概述,包括Numpy,Scipy,pandas,Scikit-Learn,XGBoost,TensorFlow和Keras等模塊、包、庫的用法。

[[264237]]

1. 為何選擇Python?

Python作為一種語言,十項全能,易于學習,安裝簡單。同時有很多擴展,非常適合進行數據科學研究。像Google、Instagram、Youtube、Reddit等明星網站都在用Python搭建核心業務。

Python不僅僅用于數據科學,還使用Python來做更多的工作——如編寫腳本、構建API、構建網站等等。

關于Python的幾點重要事項需要注意。

  • 目前,有兩種常用的Python版本。它們是版本2和3。大多數教程和本文將默認使用的是Python的***版本Python 3。但有時會遇到使用Python 2的書籍或文章。版本之間的差異并不大,但有時在運行版本3時復制和粘貼版本2代碼將無法正常工作,因此需要進行一些輕微的編輯。
  • 要注意Python十分介意空白的地方(即空格和返回字符)。如果把空格放在錯誤的地方,程序很可能會產生錯誤。
  • 與其他語言相比,Python不需要管理內存,也有良好的社區支持。

2. 安裝Python

安裝用于數據科學的Python的***方法是使用Anaconda發行版。

Anacoda有你使用Python進行數據科學研究所需的資料,包括將在本文中介紹的許多軟件包。

單擊Products - > Distribution并向下滾動,可以看到適用于Mac,Windows和Linux的安裝程序。即使Mac上已經有Python,也應該考慮安裝Anaconda發行版,因為有利于安裝其他軟件包。

此外,還可以去官方Python網站下載安裝程序。

包管理器:

包是一段Python代碼,而不是語言的一部分,包對于執行某些任務非常有幫助。通過包,我們可以復制并粘貼代碼,然后將其放在Python解釋器(用于運行代碼)可以找到的地方。

但這很麻煩,每次啟動新項目或更新包時都必須進行內容的復制和粘貼操作。因此,我們可以使用包管理器。Anaconda發行版中自帶包管理器。如果沒有,建議安裝pip。

無論選擇哪一個,都可以在終端(或命令提示符)上使用命令輕松安裝和更新軟件包。

3. 使用Python進行數據科學研究

Python迎合許多不同開發人員的技術要求(Web開發人員,數據分析師,數據科學家),因此使用該語言具有很多不同的編程方法。

Python是一種解釋型語言,不必將代碼編譯成可執行文件,只需將包含代碼的文本文檔傳遞給解釋器即可。

快速瀏覽一下與Python解釋器交互的不同方法吧。

(1) 在終端

14個Q&A,講述python與數據科學的“曖昧情事”

如果打開終端(或命令提示符)并鍵入單詞'Python',將啟動一個shell會話。可以在對話中輸入有效的Python命令,以實現相應的程序操作。

這可以是快速調試某些東西的好方法,但即使是一個小項目,在終端中調試也很困難。

(2) 使用文本編輯器

14個Q&A,講述python與數據科學的“曖昧情事”

14個Q&A,講述python與數據科學的“曖昧情事”

如果你在文本文件中編寫一系列Python命令并使用.py擴展名保存它,則可以使用終端導航到該文件,并通過輸入python YOUR_FILE_NAME.py來運行該程序。

這與在終端中逐個輸入命令基本相同,只是更容易修復錯誤并更改程序的功能。

(3) 在IDE中

14個Q&A,講述python與數據科學的“曖昧情事”

IDE是一種專業級軟件,可以進行軟件項目管理。

IDE的一個好處是,使用調試功能可以告訴你在嘗試運行程序之前出錯的位置。

某些IDE附帶了項目模板(用于特定任務),你可以使用這些模板根據***實踐設置項目。

(4) Jupyter Notebooks

14個Q&A,講述python與數據科學的“曖昧情事”

這些方法都不是用python進行數據科學的***方式,***是使用Jupyter Notebooks。

Jupyter Notebooks使你能夠一次運行一“塊”代碼,這意味著你可以在決定下一步做什么之前看到輸出信息-這在數據科學項目中非常重要,我們經常需要在獲取輸出之前查看圖表。

如果你正在使用Anaconda,且已經安裝了Jupyter lab。要啟動它,只需要在終端中輸入'jupyter lab'即可。

如果正在使用pip,則必須使用命令'python pip install jupyter'安裝Jupyter lab。

4. Python中的數字計算

NumPy軟件包中包含許多有用的函數,用于執行數據科學工作所需的數學運算。

它作為Anaconda發行版的一部分安裝,并且使用pip安裝,就像安裝Jupyter Notbooks一樣簡單('pip install numpy')。

我們在數據科學中需要做的最常見的數學運算是矩陣乘法,計算向量的點積,改變數組的數據類型以及創建數組!

以下是如何將列表編入NumPy數組的方法:

14個Q&A,講述python與數據科學的“曖昧情事”

以下是如何在NumPy中進行數組乘法和計算點積的方法:

14個Q&A,講述python與數據科學的“曖昧情事”

以下是如何在NumPy中進行矩陣乘法:

14個Q&A,講述python與數據科學的“曖昧情事”

5. Python中的統計分析

Scipy包中包含專門用于統計的模塊(包的代碼的子部分)。

你可以使用'from scipy import stats'命令將其導入(在程序中使其功能可用)到你的筆記本中。該軟件包包含計算數據統計測量、執行統計測試、計算相關性、匯總數據和研究各種概率分布所需的一切。

以下是使用Scipy快速訪問數組的匯總統計信息(最小值,***值,均值,方差,偏斜和峰度)的方法:

14個Q&A,講述python與數據科學的“曖昧情事”

6. Python中的數據操作

數據科學家必須花費大量的時間來清理和整理數據。幸運的是,Pandas軟件包可以幫助我們用代碼而不是手工來完成這項工作。

使用Pandas執行的最常見任務是從CSV文件和數據庫中讀取數據。

它還具有強大的語法,可以將不同的數據集組合在一起(數據集在Pandas中稱為DataFrame)并執行數據操作。

使用.head方法查看DataFrame的前幾行:

14個Q&A,講述python與數據科學的“曖昧情事”

使用方括號選擇一列:

14個Q&A,講述python與數據科學的“曖昧情事”

通過組合其他列來創建新列:

14個Q&A,講述python與數據科學的“曖昧情事”

7. 在Python中使用數據庫

為了使用pandas read_sql方法,必須提前建立與數據庫的連接。

連接數據庫最安全的方法是使用Python的SQLAlchemy包。

SQL本身就是一種語言,并且連接到數據庫的方式取決于你正在使用的數據庫。

8. Python中的數據工程

有時我們傾向于在數據作為Pandas DataFrame形式到達我們的項目之前,對其進行一些計算。

如果你正在使用數據庫或從Web上抓取數據(并將其存儲在某處),那么移動數據并對其進行轉換的過程稱為ETL(提取,轉換,加載)。

你從一個地方提取數據,對其進行一些轉換(通過添加數據來總結數據,查找均值,更改數據類型等),然后將其加載到可以訪問的位置。

有一個非常酷的工具叫做Airflow,它非常善于幫助管理ETL工作流程。更好的是,它是用Python編寫的,由Airbnb開發。

9. Python中的大數據工程

有時ETL過程可能非常慢。如果你有數十億行數據(或者如果它們是一種奇怪的數據類型,如文本),可以使用許多不同的計算機分別進行處理轉換,并在***一秒將所有數據整合到一起。

這種架構模式稱為MapReduce,它很受Hadoop的歡迎。

如今,很多人使用Spark來做這種數據轉換/檢索工作,并且有一個Spark的Python接口叫做PySpark。

MapReduce架構和Spark都是非常復雜的工具,這里我不詳細介紹。只要知道它們的存在,如果你發現自己正在處理非常緩慢的ETL過程,PySpark可能會有所幫助。

10. Python中的進一步統計

我們已經知道可以使用Scipy的統計模塊運行統計測試、計算描述性統計、p值以及偏斜和峰度等事情,但Python還能做些什么呢?

你應該知道的一個特殊包是Lifelines包。

使用Lifelines包,你可以從稱為生存分析的統計子字段計算各種函數。

生存分析有很多應用。我們可以用它來預測客戶流失(當客戶取消訂閱時)以及零售商店何時可能會被盜竊。

這些與包的創造者想象它將被用于完全不同(生存分析傳統上是醫學統計工具)的領域。但這只是展示了構建數據科學問題的不同方式!

11. Python中的機器學習

這是一個重要的主題,機器學習正在風靡世界,是數據科學家工作的重要組成部分。

簡而言之,機器學習是一組允許計算機將輸入數據映射到輸出數據的技術。有一些情況并非如此,但它們屬于少數,以這種方式考慮ML通常很有幫助。

Python有兩個非常好的機器學習包。

(1) Scikit-Learn

在使用Python進行機器學習的時候都會花大部分時間用于使用Scikit-Learn包(有時縮寫為sklearn)。

這個包實現了一大堆機器學習算法,并通過一致的語法公開它們。這使得數據科學家很容易充分利用每種算法。

使用Scikit-Learn的一般框架是這樣的——將數據集拆分為訓練和測試數據集:

14個Q&A,講述python與數據科學的“曖昧情事”

實例化并訓練一個模型:

14個Q&A,講述python與數據科學的“曖昧情事”

使用metrics模塊測試模型的工作情況:

14個Q&A,講述python與數據科學的“曖昧情事”

(2) XGBoost

在Python中常用于機器學習的第二個包是XGBoost。

Scikit-Learn實現了一系列算法,XGBoost只實現了一個梯度提升的決策樹。

最近這個包(和算法)因其在Kaggle比賽(任何人都可以參加的在線數據科學比賽)上被使用而取得成功,變得非常受歡迎。

訓練模型的工作方式與Scikit-Learn算法的工作方式大致相同。

12. Python中的深度學習

Scikit-Learn中提供的機器學習算法幾乎可以滿足任何問題。話雖這么說,但有時你需要使用***進的算法。

由于使用它們的系統幾乎優于其他所有類算法,因此深度神經網絡的普及率急劇上升。

但是很難說神經網絡正在做什么以及它為什么這樣做。因此,它們在金融、醫學、法律和相關專業中的使用并未得到廣泛認可。

神經網絡的兩大類是卷積神經網絡(用于對圖像進行分類并完成計算機視覺中的許多其他任務)和循環神經網絡(用于理解和生成文本)。

探索神經網工作時超出了本文的范圍的機理,如果你想做這類工作,只要知道你需要尋找的包是TensorFlow(Google contibution!)還是Keras。

Keras本質上是TensorFlow的包裝器,使其更易于使用。

13. Python中的數據科學API

一旦訓練了模型,就可以在其他軟件中訪問它的預測,方法是創建一個API。

API允許模型從外部源一次一行地接收數據并返回預測。因為Python是一種通用的編程語言,也可用于創建Web服務,所以很容易使用Python通過API為模型提供服務。

如果需要構建API,應該查看pickle和Flask。Pickle允許訓練有素的模型被保存在硬盤驅動器上,以便以后使用。而Flask是創建Web服務的最簡單方法。

14. Python中的Web應用程序

***,如果你想圍繞數據科學項目構建功能齊全的Web應用程序,則應使用Django框架。

Django在Web開發社區非常受歡迎,并且用于構建Instagram和Pinterest的***個版本(以及許多其他版本)。

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2010-03-16 10:45:37

家庭無線WLAN技術

2010-05-10 14:11:41

負載均衡算法

2010-04-06 10:59:02

無線網絡斷線

2010-03-24 11:25:26

無線網卡安裝故障

2010-05-25 17:57:24

VoIP網絡電話

2015-02-11 15:56:20

微信SDK

2011-01-24 15:46:30

金山網絡T盤T盤

2010-04-01 16:18:55

無線上網卡流量

2018-06-27 10:45:12

數據Python程序

2019-09-09 11:07:00

機器學習深度學習人工智能

2022-09-01 23:17:07

Python編程語言開發

2020-06-18 11:01:34

數據科學大數據人工智能

2020-05-15 10:22:07

Python開發工具

2010-03-15 16:41:21

無線標準WAPI

2018-12-10 19:30:45

2018-08-06 13:46:07

編程語言Python數據科學庫

2021-05-27 05:25:59

Python數據處理數學運算

2022-11-14 10:36:55

數據科學數據分析

2015-08-21 16:52:18

隱私

2019-08-29 10:20:13

大數據IT互聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 翔田千里一区二区 | 国产美女福利在线观看 | 亚洲www啪成人一区二区麻豆 | 在线观看亚洲一区二区 | 99pao成人国产永久免费视频 | 国产农村妇女精品一二区 | 欧美日韩在线观看一区 | 国产色网站 | 欧美中文字幕在线 | 精品欧美乱码久久久久久1区2区 | 玖玖在线免费视频 | 欧美一区二区视频 | 91资源在线观看 | 国产成人小视频 | 91电影在线播放 | 999国产视频 | 性福视频在线观看 | 黄色大片免费观看 | 一区二区高清在线观看 | 99久久久无码国产精品 | 精品久久久久国产 | 免费人成激情视频在线观看冫 | h免费观看 | 在线中文视频 | 少妇特黄a一区二区三区88av | 国产精品久久久久久久久久久新郎 | 亚洲天堂999 | 伊人久久麻豆 | 成人黄色在线观看 | av手机在线看 | 日本成人中文字幕在线观看 | 久久国产99| 久久一区二区三区电影 | 91天堂网| 一区二区三区在线播放视频 | 亚洲一区自拍 | 天天操夜夜操免费视频 | 国产伦精品一区二区三区视频金莲 | 91精品国产欧美一区二区 | 成人免费网站视频 | 中日韩欧美一级片 |