2021-03-02 分類: 網(wǎng)站建設(shè)
數(shù)據(jù)科學(xué)是一門研究數(shù)據(jù)并從中挖掘信息的學(xué)科。它不要求自創(chuàng)或?qū)W習(xí)新的算法,只需要知道怎么樣研究數(shù)據(jù)并解決問題。這一過程的關(guān)鍵點(diǎn)之一就在于使用合適的庫。本文概述了數(shù)據(jù)科學(xué)中常用的、并且有一定重要性的庫。在進(jìn)入正題之前,本文先介紹了解決數(shù)據(jù)科學(xué)問題的5個(gè)基本步驟。這些步驟是筆者自己總結(jié)撰寫的,并無對(duì)錯(cuò)之分。步驟的正確與否取決于數(shù)據(jù)的研究方法。
數(shù)據(jù)科學(xué)的五個(gè)重要步驟包括:
1.獲取數(shù)據(jù)
2.清理數(shù)據(jù)
3.探索數(shù)據(jù)
4.構(gòu)建數(shù)據(jù)
5.呈現(xiàn)數(shù)據(jù)
這五個(gè)步驟只是經(jīng)驗(yàn)之談,并不是什么標(biāo)準(zhǔn)答案。但是如果仔細(xì)思考,就會(huì)發(fā)現(xiàn)這五個(gè)步驟是非常合理的。
1. 獲取數(shù)據(jù)
獲取數(shù)據(jù)是解決數(shù)據(jù)科學(xué)問題的關(guān)鍵一步。你需要提出一個(gè)問題并最終解決它。這取決于你是如何以及從何處獲取數(shù)據(jù)的。獲取數(shù)據(jù)較好的方法就是從Kaggle上下載或從網(wǎng)絡(luò)上抓取。
當(dāng)然,你也可以采用適當(dāng)?shù)姆椒ê凸ぞ邚木W(wǎng)絡(luò)上抓取數(shù)據(jù)。
網(wǎng)絡(luò)數(shù)據(jù)抓取最重要、最常用的庫包括:
1.Beautiful Soup
2.Requests
3.Pandas
Beautiful Soup是一個(gè)可從HTML和XML文件中提取數(shù)據(jù)的Python庫。推薦讀者閱讀Beautiful Soup庫官方文檔。
如果已經(jīng)安裝Python,只需輸入以下命令,即可安裝Beautiful Soup。文中所涉及的庫全部給出了安裝方法。但是我更推薦讀者使用Google Colab,便于練習(xí)代碼。在Google Colab中,無需手動(dòng)安裝,只需要輸入“importlibrary_name”,Colab就會(huì)自動(dòng)安裝。
pip install beautifulsoup4
導(dǎo)入Beautiful Soup庫:
from bs4 import BeautifulSoupSoup = BeautifulSoup(page_name.text, ‘html.parser’)
Python的Requests庫采用更加簡單易用的方式發(fā)送HTTP請(qǐng)求。Requests庫中有很多種方法,其中最常用的是request.get()。在URL轉(zhuǎn)發(fā)成功或失敗的情況下,request.get()都能夠返回URL轉(zhuǎn)發(fā)狀態(tài)。推薦讀者閱讀Requests庫官方文檔了解更多信息(https://realpython.com/python-requests/?source=post_page-----a58e90f1b4ba----------------------)。
安裝Requets:
pip install requests
導(dǎo)入Requests庫:
import requestspaga_name = requests.get('url_name')
Pandas是一種方便易用的高性能數(shù)據(jù)結(jié)構(gòu),同時(shí)也是Python編程語言分析工具。Pandas提供了一種能夠清晰、簡潔地存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)框架。Pandas庫官方文檔如下:https://pandas.pydata.org/pandas-docs/stable/?source=post_page-----a58e90f1b4ba----------------------
安裝Pandas:
pip install pandas
導(dǎo)入Pandas庫:
import pandas as pd
2. 清理數(shù)據(jù)
清理數(shù)據(jù)有許多重要的步驟,往往包括清除重復(fù)行、清除異常值、查找缺失值和空值,以及將對(duì)象值轉(zhuǎn)換成空值并繪制成圖表等。
數(shù)據(jù)清理常用的庫包括:
1.Pandas
2.NumPy
Pandas可以說是數(shù)據(jù)科學(xué)中的“萬金油”——到處都可用。關(guān)于Pandas的介紹詳見上文,此處不再贅述。
NumPy即Numeric Python,是一個(gè)支持科學(xué)計(jì)算的Python庫。眾所周知,Python本身并不支持矩陣數(shù)據(jù)結(jié)構(gòu),而Python中的NumPy庫則支持創(chuàng)建和運(yùn)行矩陣計(jì)算。NumPy庫官方文檔如下:https://numpy.org/devdocs/?source=post_page-----a58e90f1b4ba----------------------
運(yùn)行以下命令下載NumPy(確保已經(jīng)安裝了Python):
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
導(dǎo)入NumPy庫:
import numpy as np
3. 探索數(shù)據(jù)
探索性數(shù)據(jù)分析(Exploratory Data Analysis, EDA)是用于增強(qiáng)信息索引理解的工具,通過有規(guī)律地刪減和用圖表繪制索引基本特征實(shí)現(xiàn)。使用EDA能夠幫助用戶更加深入、清晰地探索數(shù)據(jù),展現(xiàn)重要信息采集的發(fā)布或情況。
運(yùn)行EDA常用的庫包括:
1.Pandas
2.Seaborn
3.Matplotlib.pyplot
Pandas:詳見上文。
Seaborn是一個(gè)Python數(shù)據(jù)可視化庫,為繪制數(shù)據(jù)圖表提供了一個(gè)高級(jí)接口。安裝新版本的Seaborn:
pip install seaborn
使用Seaborn,可以輕松繪制條形圖、散點(diǎn)圖、熱力圖等圖表。導(dǎo)入Seaborn:
import seaborn as sns
Matplotlib是一個(gè)Python 2D圖形繪圖庫,能夠在多種環(huán)境中繪制圖表,可替代Seaborn。事實(shí)上,Seaborn是基于Matplotlib開發(fā)的。
安裝Matplotlib:
python -m pip install -U matplotlib
推薦閱讀Matplotlib官方文檔:https://matplotlib.org/users/index.html?source=post_page-----a58e90f1b4ba----------------------
導(dǎo)入Matplotlib.pyplot庫:
import matplotlib.pyplot as plt
4. 構(gòu)建模型
構(gòu)建模型是數(shù)據(jù)科學(xué)中的關(guān)鍵一步。由于這一步要求根據(jù)要解決的問題和所獲取的數(shù)據(jù)來構(gòu)建機(jī)器學(xué)習(xí)模型,所以和其他步驟相比難度更大。在這一步中,問題陳述是至關(guān)重要的一點(diǎn),因?yàn)樗鼤?huì)影響對(duì)問題的定義和提出的解決方法。網(wǎng)絡(luò)上大部分公開的數(shù)據(jù)集都是基于某一個(gè)問題收集的,因此解決問題的能力就尤為重要。而且,由于沒有某個(gè)特定的算法最適合自己,你需要在多種算法中進(jìn)行選擇,考慮數(shù)據(jù)適合用回歸、分類、聚類還是降維算法。
選擇算法經(jīng)常是一件讓人頭疼的事。讀者可以使用SciKit learn算法選擇路徑圖來記錄追蹤哪個(gè)算法的性能最優(yōu)。下圖展示了一張SciKit learn的路徑圖:
不難猜出,建模時(shí)最常用的庫是:
1.SciKit learn
SciKit learn是Python中一個(gè)便于使用的構(gòu)建機(jī)器學(xué)習(xí)模型的庫。它是基于NumPy、SciPy和Matplotlib開發(fā)的。SciKit learn庫官方文檔如下:https://scikit-learn.org/stable/?source=post_page-----a58e90f1b4ba----------------------
導(dǎo)入scikit learn:
import sklearn
安裝scikit learn:
pip install -U scikit-learn
5. 呈現(xiàn)數(shù)據(jù)
這是數(shù)據(jù)科學(xué)的最后一步,也是很多人不想做的一步——畢竟沒有人想要公開發(fā)表他們的數(shù)據(jù)發(fā)現(xiàn)。呈現(xiàn)數(shù)據(jù)也是有法可循的,并且這個(gè)方法極為重要,因?yàn)闊o論如何,成果最終還是要向人們展示的。而且由于人們并不關(guān)心所使用的的算法,他們只關(guān)心結(jié)果,所以展示還要做到簡潔明了。為了展現(xiàn)數(shù)據(jù)成果,推薦讀者安裝Jupyter notebook:https://jupyter.org/install.html?source=post_page-----a58e90f1b4ba----------------------
同時(shí),安裝如下指令給notebook配備展示選項(xiàng):
pip install RISE
閱讀文章:http://www.blog.pythonlibrary.org/2018/09/25/creating-presentations-with-jupyter-notebook/,了解更多如何使用notebook做出精彩展示的教程。務(wù)必遵循教程的步驟。讀者還可以觀看Youtube的視頻進(jìn)行學(xué)習(xí):
以上就是本文全部內(nèi)容。本文從最基礎(chǔ)的內(nèi)容開始介紹,讀完全文,讀者已經(jīng)知道了在數(shù)據(jù)科學(xué)中如何、在何時(shí)、以及在哪一步使用Python庫。
當(dāng)前標(biāo)題:收藏!盤點(diǎn)很實(shí)用的數(shù)據(jù)科學(xué)Python庫
文章路徑:http://redsoil1982.com.cn/news28/103728.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、App設(shè)計(jì)、品牌網(wǎng)站制作、面包屑導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容