Py數(shù)據(jù)基礎(chǔ)及實(shí)戰(zhàn) 3_第1頁
Py數(shù)據(jù)基礎(chǔ)及實(shí)戰(zhàn) 3_第2頁
Py數(shù)據(jù)基礎(chǔ)及實(shí)戰(zhàn) 3_第3頁
Py數(shù)據(jù)基礎(chǔ)及實(shí)戰(zhàn) 3_第4頁
Py數(shù)據(jù)基礎(chǔ)及實(shí)戰(zhàn) 3_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python數(shù)據(jù)挖掘編程基礎(chǔ)Python使用入門Python數(shù)據(jù)挖掘建模的常用庫基本命令1.基本運(yùn)算初識(shí)Python,可以將其當(dāng)作一個(gè)方便的計(jì)算器。Python支持對(duì)字符串的靈活操作。基本命令2.數(shù)據(jù)結(jié)構(gòu)Python有4個(gè)內(nèi)置的數(shù)據(jù)結(jié)構(gòu)——列表、元組、字典和集合它們統(tǒng)稱為容器。4個(gè)內(nèi)置的數(shù)據(jù)結(jié)構(gòu)實(shí)際上是由一些元素組合而成的結(jié)構(gòu),這些元素可以是數(shù)字、字符或列表,也可以是幾種元素的組合。容器里的數(shù)據(jù)結(jié)構(gòu)可以是任意的;且容器內(nèi)部的元素類型不要求相同。數(shù)據(jù)結(jié)構(gòu)1.列表和元組列表和元組都是序列結(jié)構(gòu),兩者很相似,但又有一些不同的地方。列表與元組的區(qū)別是列表使用方括號(hào)進(jìn)行標(biāo)記,如m=[0,2,4]。元組使用圓括號(hào)進(jìn)行標(biāo)記,如n=(6,8,10)。訪問列表和元組中的元素的方式都是一樣的,如m[0]等于0,n[2]等于10等。外形上列表與元組的區(qū)別是列表可以被修改,而元組不可以。如果已經(jīng)有了一個(gè)列表m,需要將列表m復(fù)制為列表n,那么使用語句n=m是無效的,因?yàn)檫@時(shí)n僅僅是m的別名(或引用),修改n的同時(shí)也會(huì)修改m。正確的復(fù)制語句應(yīng)該是n=m[:]。功能上列表和元組與列表有關(guān)的函數(shù)是list,與元組有關(guān)的函數(shù)是tuple,其用法和功能幾乎一樣,都是將某個(gè)對(duì)象轉(zhuǎn)換為列表或元組。例如,list('cd')的結(jié)果是['c','d'],tuple([0,1,2])的結(jié)果是(0,1,2)。函數(shù)功能函數(shù)功能cmp(m,n)比較兩個(gè)列表或元組的元素min(m)返回列表或元組中元素的最小值len(m)返回列表或元組中元素的個(gè)數(shù)sum(m)對(duì)列表或元組中的元素求和max(m)返回列表或元組中元素的最大值sorted(m)對(duì)列表或元組中的元素進(jìn)行升序排序列表和元組列表作為對(duì)象,自帶了很多實(shí)用的方法。列表還有“列表解析”這一功能。列表解析功能能夠簡(jiǎn)化操作列表內(nèi)元素的代碼。方法功能m.append(1)將1添加到列表m的末尾m.count(1)統(tǒng)計(jì)列表m中元素1出現(xiàn)的次數(shù)m.extend([1,2])將列表[1,2]中的內(nèi)容追加到列表m的末尾數(shù)據(jù)結(jié)構(gòu)2.字典在數(shù)學(xué)意義上,字典實(shí)際上是一個(gè)映射。字典也相當(dāng)于一個(gè)列表,但是其下標(biāo)不是以0開頭的數(shù)字,而是自己定義的鍵(Key)。創(chuàng)建字典訪問字典中的元素通過dict函數(shù)或dict.fromkeys創(chuàng)建字典數(shù)據(jù)結(jié)構(gòu)3.集合Python內(nèi)置了集合這一數(shù)據(jù)結(jié)構(gòu),它與數(shù)學(xué)中的集合的概念基本一致。集合中的元素是不重復(fù)的,而且是無序的。集合不支持索引。通過花括號(hào)或set函數(shù)來創(chuàng)建集合集合的運(yùn)算循環(huán)與判斷判斷和循環(huán)是編程語言中的基本命令,Python判斷語句的格式如下。if條件1:

語句1elif條件2:

語句2else:

語句3注意:代碼縮進(jìn)循環(huán)與判斷Python的循環(huán)包括for循環(huán)和while循環(huán),在絕大多數(shù)情況下,for循環(huán)和while循環(huán)可等價(jià)使用。for循環(huán)適合已知循環(huán)次數(shù)的操作,while循環(huán)適合循環(huán)次數(shù)是未知的操作。兩種循環(huán)操作都可以用任意表達(dá)式表示條件;都需要在滿足條件的前提下,才會(huì)進(jìn)入循環(huán)體中執(zhí)行語句。函數(shù)1.自定義函數(shù)Python使用關(guān)鍵字def定義自定義函數(shù),函數(shù)返回值可以是各種形式。Python支持使用lambda定義“行內(nèi)函數(shù)”。函數(shù)2.函數(shù)式編程函數(shù)式編程(FunctionalProgramming)或函數(shù)程序設(shè)計(jì),又稱泛函編程,是一種編程范型。函數(shù)式編程將計(jì)算機(jī)運(yùn)算視為數(shù)學(xué)中的函數(shù)計(jì)算,并且避免了程序狀態(tài)及易變對(duì)象對(duì)函數(shù)的影響。filterlambdamap…reduce庫的導(dǎo)入與添加1.庫的導(dǎo)入Python本身內(nèi)置了很多強(qiáng)大的庫,如可以完成更加豐富、復(fù)雜的數(shù)學(xué)運(yùn)算的math庫。使用“import庫名”命令導(dǎo)入庫為庫起一個(gè)別名特別指定要導(dǎo)入的函數(shù)的名字直接導(dǎo)入庫中的所有函數(shù)庫的導(dǎo)入與添加2.安裝第三方庫常見的安裝第三方庫的方法如下。方法特點(diǎn)下載源代碼自行安裝安裝靈活,但需要自行解決上級(jí)依賴問題用pip命令安裝比較方便,可以自動(dòng)解決上級(jí)依賴問題用easy_install命令安裝比較方便,可以自動(dòng)解決上級(jí)依賴問題下載編譯好的可執(zhí)行文件包一般只有Windows系統(tǒng)才提供現(xiàn)成的可執(zhí)行文件包系統(tǒng)自帶的安裝方式Linux或Mac系統(tǒng)的軟件管理器自帶了某些庫的安裝方式Python使用入門Python數(shù)據(jù)挖掘建模的常用庫Python數(shù)據(jù)挖掘建模的常用庫Python擁有豐富的第三方庫,在許多領(lǐng)域都有著廣泛的應(yīng)用。隨著各種模塊的逐步完善,Python在科學(xué)領(lǐng)域的地位越來越重要。Python部分庫的作用如下表。類別核心庫名稱核心作用描述數(shù)據(jù)獲取requests發(fā)送HTTP請(qǐng)求,獲取網(wǎng)頁/API數(shù)據(jù),支持各種請(qǐng)求方法和參數(shù)配置。Scrapy專業(yè)爬蟲框架,支持分布式爬取、數(shù)據(jù)解析、反爬處理,適合大規(guī)模數(shù)據(jù)采集。BeautifulSoup解析HTML/XML文檔,提取標(biāo)簽內(nèi)容、屬性等,常與requests配合使用。數(shù)據(jù)預(yù)處理pandas處理結(jié)構(gòu)化數(shù)據(jù),提供缺失值填充、格式轉(zhuǎn)換、數(shù)據(jù)過濾、合并等功能。NumPy提供高效數(shù)組操作,支持?jǐn)?shù)值計(jì)算、維度轉(zhuǎn)換,是多數(shù)數(shù)據(jù)處理庫的基礎(chǔ)。scikit-learn包含標(biāo)準(zhǔn)化、歸一化、編碼(One-Hot/Label)、特征選擇等預(yù)處理工具。Python數(shù)據(jù)挖掘建模的常用庫Python部分庫的作用如下表(續(xù))。類別核心庫名稱核心作用描述數(shù)據(jù)可視化Matplotlib基礎(chǔ)繪圖庫,支持折線圖、柱狀圖、直方圖等,可高度自定義圖表樣式。Seaborn基于Matplotlib,專注統(tǒng)計(jì)可視化,簡(jiǎn)化熱圖、箱線圖、分類散點(diǎn)圖等繪制。Plotly交互式可視化庫,生成可交互圖表(縮放、懸停查看詳情),支持Web展示。機(jī)器學(xué)習(xí)scikit-learn經(jīng)典機(jī)器學(xué)習(xí)庫,包含分類、回歸、聚類、降維等算法,支持模型訓(xùn)練與評(píng)估。深度學(xué)習(xí)TensorFlow谷歌深度學(xué)習(xí)框架,支持構(gòu)建復(fù)雜神經(jīng)網(wǎng)絡(luò)(CNN/RNN/Transformer),適合生產(chǎn)部署。PyTorch動(dòng)態(tài)計(jì)算圖深度學(xué)習(xí)框架,調(diào)試便捷,受科研領(lǐng)域青睞,支持快速原型開發(fā)。NumPyNumPy的前身為Numeric,最早由吉姆·弗賈寧(JimHugunin)與其他協(xié)作者共同開發(fā)。2005年,特拉維斯·奧利芬特(TravisOliphant)在Numeric中結(jié)合了另一個(gè)同性質(zhì)的程序庫Numarray的特色,并進(jìn)行了其他擴(kuò)展而開發(fā)出了NumPy。NumPy是用Python進(jìn)行科學(xué)計(jì)算的基礎(chǔ)軟件包,同時(shí)也是一個(gè)Python庫。NumPyNumPy提供多維數(shù)組對(duì)象和各種派生對(duì)象,以及用于數(shù)組快速操作的各種API,因而能夠快速地處理數(shù)據(jù)量大且煩瑣的數(shù)據(jù)運(yùn)算。NumPy是很多更高級(jí)的擴(kuò)展庫的依賴庫。NumPy內(nèi)置函數(shù)處理數(shù)據(jù)的速度是C語言級(jí)別的,因此在編寫程序的時(shí)候,應(yīng)當(dāng)盡量使用NumPy中的內(nèi)置函數(shù),從而避免效率瓶頸。pandaspandas的名稱源自面板數(shù)據(jù)(PanelData)和Python數(shù)據(jù)分析(DataAnalysis),其最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,由AQRCapitalManagement于2008年4月開發(fā),并于2009年底開源。pandas是Python的核心數(shù)據(jù)分析支持庫,提供了快速、靈活、明確的數(shù)據(jù)結(jié)構(gòu),旨在簡(jiǎn)單、直觀地處理關(guān)系型、標(biāo)記型數(shù)據(jù)。pandas能夠與其他第三方科學(xué)計(jì)算支持庫完美地集成。pandas還包含了高級(jí)的數(shù)據(jù)結(jié)構(gòu)和精巧的工具,使得在Python中處理數(shù)據(jù)非常快速和簡(jiǎn)單。pandaspandas中的常用數(shù)據(jù)結(jié)構(gòu)為Series(一維數(shù)據(jù))與DataFrame(二維數(shù)據(jù))。可提供高性能的矩陣運(yùn)算可用于數(shù)據(jù)挖掘和數(shù)據(jù)分析提供數(shù)據(jù)清洗功能支持類似SQL的數(shù)據(jù)增、刪、查、改操作有豐富的數(shù)據(jù)處理函數(shù)有時(shí)間序列分析功能可靈活地處理缺失數(shù)據(jù)pandas功能MatplotlibMatplotlib是由約翰·亨特(JohnHunter)等人研究發(fā)明出來的,最初只是為了可視化癩痢病人的一些健康指標(biāo)。慢慢地,Matplotlib變成了Python中使用最廣泛的可視化工具包。Matplotlib是Python的繪圖庫,主要用于二維繪圖,也可以進(jìn)行簡(jiǎn)單的三維繪。Matplotlib提供了一整套和MATLAB相似但更為豐富的命令,可以非常快捷地使用Python可視化數(shù)據(jù),而且可以輸出達(dá)到出版質(zhì)量的多種圖像格式,還十分適合交互式地制圖。Matplotlib也可作為繪圖控件,嵌入GUI應(yīng)用程序或CGI、Flask、Django中。MatplotlibMatplotlib繪圖庫的特點(diǎn)如下。不僅支持交互式繪圖,而且支持非交互式繪圖支持繪制曲線(折線)圖、條形圖、柱狀圖、餅圖可對(duì)繪制的圖形進(jìn)行配置支持Linux、Windows、macOSX與Solaris的跨平臺(tái)繪圖遷移學(xué)習(xí)的成本比較低支持LaTeX的公式插入scikit-learnscikit-learn(簡(jiǎn)稱sklearn)項(xiàng)目最早由數(shù)據(jù)科學(xué)家大衛(wèi)·庫爾納佩(DavidCournapeau)在2007年發(fā)起,其需要NumPy和SciPy等庫的支持。scikit-learn是一個(gè)強(qiáng)大的Python機(jī)器學(xué)習(xí)庫,提供了完善的機(jī)器學(xué)習(xí)工具,能完成數(shù)據(jù)預(yù)處理、分類、回歸、聚類、預(yù)測(cè)、模型分析等操作。scikit-learn還是一種簡(jiǎn)單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具,并且可以在各種環(huán)境中重復(fù)使用。scikit-learn的內(nèi)部實(shí)現(xiàn)了各種各樣成熟的算法,容易安裝和使用,樣例也十分豐富。scikit-learn使用scikit-learn創(chuàng)建機(jī)器學(xué)習(xí)模型。所有模型提供的接口為model.fit(),用于訓(xùn)練模型。用于分類與回歸算法的訓(xùn)練模型的語句為fit(X,y)。用于非分類與回歸算法的訓(xùn)練模型需要的語句為fit(X)。分類與回歸模型提供如下接口。model.predict(X_new):用于預(yù)測(cè)新樣本。model.predict_proba(X_new):用于預(yù)測(cè)概率,僅對(duì)某些模型有用。model.score():得分越高,模型擬合效果越好。scikit-learn非分類與回歸模型提供如下接口。model.transform():在fit函數(shù)的基礎(chǔ)上,進(jìn)行標(biāo)準(zhǔn)化、降維、歸一化等數(shù)據(jù)處理操作。model.fit_transform():fit函數(shù)和transform函數(shù)的組合,既包含了訓(xùn)練又包含了數(shù)據(jù)處理操作。scikit-learn本身還提供了一些實(shí)例數(shù)據(jù)用于練習(xí),常見的有安德森鳶尾花卉數(shù)據(jù)集、手寫圖像數(shù)據(jù)集等。深度學(xué)習(xí)框架1.TensorFlow2015年11月10日,Google推出了全新的開源工具TensorFlow。它是基于Google2011年開發(fā)的深度學(xué)習(xí)基礎(chǔ)框架DistBelief構(gòu)建而成的,主要應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)。TensorFlow即Tensor和Flow,Tensor意味著數(shù)據(jù),F(xiàn)low意味著流動(dòng)、計(jì)算、映射,TensorFlow即數(shù)據(jù)的流動(dòng)、數(shù)據(jù)的計(jì)算、數(shù)據(jù)的映射,同時(shí)也體現(xiàn)出數(shù)據(jù)是有向地流動(dòng)、計(jì)算和映射的。深度學(xué)習(xí)框架1.TensorFlow具有高度靈活性具有可移植性可以自動(dòng)計(jì)算梯度和函數(shù)導(dǎo)數(shù)可以將硬件的性能最優(yōu)化可以將不同的計(jì)算任務(wù)分配到不同的單元之中支持多種編程語言TensorFlow深度學(xué)習(xí)框架2.KerasKeras由Python編寫而成,它是使用TensorFlow、Theano和CNTK作為后端的一個(gè)深度學(xué)習(xí)框架。Keras的預(yù)測(cè)函數(shù)與scikit-learn有所差別Keras用model.predict()方法給出概率,scikit-learn用model.predict_classes()方法給出分類結(jié)果。Keras功能特點(diǎn)如下。Keras具有高度模塊化、用戶友好性和易擴(kuò)展的特性支持卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),以及兩者的組合可無縫銜接CPU和GPU的切換深度學(xué)習(xí)框架3.PyTorch2017年1月,F(xiàn)acebook人工智能研究院在GitHub上開源了PyTorch,PyTorch迅速成為GitHub熱度榜的榜首。PyTorch是一個(gè)基于Torch的Python開源機(jī)器學(xué)習(xí)庫,同時(shí)還是一個(gè)深度學(xué)習(xí)框架,可用于自然語言處理等應(yīng)用程序。PyTorch不僅能夠?qū)崿F(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。PyTorch可以幫助用戶構(gòu)建深度學(xué)習(xí)項(xiàng)目。PyTorch可以提供命令式體驗(yàn),直接使用nn.module封裝便可使網(wǎng)絡(luò)搭建更快速和方便。PyTorch調(diào)試起來很簡(jiǎn)單。深度學(xué)習(xí)框架3.PyTorchPyTorch中有較為完備的應(yīng)用領(lǐng)域所對(duì)應(yīng)的庫。應(yīng)用領(lǐng)域?qū)?yīng)的PyTorch庫計(jì)算機(jī)視覺TorchVision自然語言處理PyTorchNLP圖卷積PyTorchGeometric工業(yè)部署Fastai深度學(xué)習(xí)框架4.PaddlePaddlePaddlePaddle(即飛槳)是一個(gè)易用、高效、靈活、可擴(kuò)展的深度學(xué)習(xí)框架,于2016年正式向?qū)I(yè)社區(qū)開源。PaddlePaddle支持超大規(guī)模深度學(xué)習(xí)模型的訓(xùn)練、多端多平臺(tái)部署的高性能推理引擎等。提供命令式編程模式功能、性能和體驗(yàn)。原生推理庫性能顯著優(yōu)化,輕量級(jí)推理引擎實(shí)現(xiàn)了對(duì)硬件支持的極大覆蓋。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論