版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第11章scipy
《Python數(shù)據(jù)分析與應(yīng)用》ScipyScipy用于統(tǒng)計(jì)、優(yōu)化、整合、線性代數(shù)模塊、傅里葉變換、信號(hào)和圖像處理等,常用的scipy工具有stats(統(tǒng)計(jì)學(xué)工具包)、erpolate(插值,線性的,三次方)、cluster(聚類)、signal(信號(hào)處理)等。安裝scipy之前必須安裝numpyScipy官方網(wǎng)址。ScipyScipy功能函數(shù)功能函數(shù)積分egrate線性代數(shù)scipy.linalg信號(hào)處理scipy.signal稀疏矩陣scipy.sparse空間數(shù)據(jù)結(jié)構(gòu)和算法scipy.spatial統(tǒng)計(jì)學(xué)scipy.stats最優(yōu)化scipy.optimize多維圖像處理scipy.ndimage插值erpolate聚類scipy.cluster曲線擬合scipy.curve_fit文件輸入/輸出scipy.io傅里葉變換scipy.fftpack稀疏矩陣
在矩陣中,若數(shù)值為0的元素?cái)?shù)目遠(yuǎn)遠(yuǎn)多于非0元素的數(shù)目,并且非0元素分布沒有規(guī)律時(shí),則稱該矩陣為稀疏矩陣。coo_matrix()用于創(chuàng)建稀疏矩陣,語法如下所示。
coo_matrix((data,(i,j)),[shape=(M,N)])矩陣運(yùn)算fromscipy.linalgimport*importnumpyasnp
A=np.matrix('[1,2;3,4]')print(A)print(A.T)#轉(zhuǎn)置矩陣print(A.I)#逆矩陣[[12][34]][[13][24]][[-2.1.][1.5-0.5]]線性方程組求解
fromscipyimportlinalgimportnumpyasnpa=np.array([[1,3,5],[2,5,-1],[2,4,7]])b=np.array([10,6,4])x=linalg.solve(a,b)print(x)非線性方程組求解
fromscipy.optimizeimportfsolvefrommathimportsindeff(x):
x0,x1,x2=x.tolist()
return[5*x1+3,4*x0*x0-2*sin(x1*x2),x1*x2-1.5]
#f計(jì)算方程組的誤差,[1,1,1]是未知數(shù)的初始值result=fsolve(f,[1,1,1])
print(result)print(f(result))函數(shù)最值
fromscipy.optimizeimportminimizeimportnumpyasnp
#計(jì)算1/x+x的最小值deffun(args):a=argsv=lambdax:a/x[0]+x[0]returnvif__name__=="__main__":args=(1)#ax0=np.asarray((2))#初始猜測(cè)值res=minimize(fun(args),x0,method='SLSQP')print(res.fun)print(res.success)print(res.x)最小二乘法
最小二乘法可以理解為就是通過最小化誤差的平方和來尋找最佳的匹配函數(shù),常用于曲線擬合。一般情況下擬合的曲線為k*x+b函數(shù),即尋找最好的k、b值實(shí)現(xiàn)分類效果。 scipy的leastsq函數(shù)用于最小二乘法的擬合
scipy.optimize.leastsq(func,x0,args=())數(shù)據(jù)分布泊松分布正態(tài)分布指數(shù)分布均勻分布正態(tài)分布正態(tài)分布(Normaldistribution),也稱“常態(tài)分布”,又名高斯分布(Gaussiandistribution),正態(tài)曲線呈鐘型,兩頭低,中間高,左右對(duì)稱因其曲線呈鐘形,又稱之為鐘形曲線。scipy.norm實(shí)現(xiàn)正態(tài)分布。binomial=stats.binom.pmf(k,n,p)指數(shù)分布
指數(shù)分布描述的是事件發(fā)生的時(shí)間間隔,主要用于描述電子元器件的壽命。
scipy.expon實(shí)現(xiàn)指數(shù)分布。泊松分布#平均值,方差,偏度,峰度mean,var,skew,kurt=poisson.stats(mu,moments='mvsk')泊松分布用于描述單位時(shí)間/面積內(nèi),隨機(jī)事件發(fā)生的次數(shù)。例如,譬如:某一服務(wù)設(shè)施一定時(shí)間內(nèi)到達(dá)的人數(shù)、一個(gè)月內(nèi)機(jī)器損壞的次數(shù)等。指數(shù)分布指數(shù)分布描述的是事件發(fā)生的時(shí)間間隔,主要用于描述電子元器件的壽命。scipy.expon實(shí)現(xiàn)指數(shù)分布。統(tǒng)計(jì)量統(tǒng)計(jì)量包括平均數(shù)、中位數(shù)、眾數(shù)、樣本均值(即n個(gè)樣本的算術(shù)平均值),樣本方差(即n個(gè)樣本與樣本均值之間平均偏離程度的度量)等,用于數(shù)據(jù)進(jìn)行分析、檢驗(yàn)的變量。
眾數(shù)是指在統(tǒng)計(jì)分布上具有明顯集中趨勢(shì)點(diǎn)的數(shù)值,是出現(xiàn)次數(shù)最多的數(shù)值,代表數(shù)據(jù)的一般水平。scipy.stats提供mode函數(shù)實(shí)現(xiàn)求眾數(shù)。scipy.stats模塊提供了pearsonr函數(shù)計(jì)算皮爾森相關(guān)系數(shù),語法如下所示:fromscipy.statsimportpearsonrpearsonr(x,y)參數(shù)解釋如下:x為特征,y為目標(biāo)變量。圖像處理圖像處理和分析通常被看作是對(duì)二維值數(shù)組的操作。scipy.ndimage提供了許多通用的圖像處理和分析功能,支持圖像矩陣變換、圖像濾波、圖像卷積等功能。圖像旋轉(zhuǎn)Scipy提供ndimage.rotate函數(shù)用于旋轉(zhuǎn)圖像。rotate_flower=ndimage.rotate(flower,45)plt.imshow(rotate_flower)plt.title('rotate_flower')圖像平滑
圖像平滑是一種區(qū)域增強(qiáng)的算法,用于突出圖像的低頻成分、主干部分或抑制圖像的噪聲和干擾高頻成分,使圖像亮度平緩漸變、減少突變梯度,改善圖像質(zhì)量的圖像處理方法。圖像平滑分為:高斯濾波中值濾波高斯濾波scipy.ndimage模塊提供gaussian_filter函數(shù)。fromscipyimportndimageimportmatplotlib.imageasmpimgimportmatplotlib.pyplotaspltflower=mpimg.imread('d://flower.jpg')flower1=ndimage.gaussian_filter(flower,sigma=3)plt.imshow(flower1)plt.show()scipy.ndimage模塊的median_filte函數(shù)實(shí)現(xiàn)中值濾波。fromscipyimportndimageimportmatplotlib.imageasmpimgimportmatplotlib.pyplotaspltflower=mpimg.imread('d://flower.jpg')flower1=ndimage.median_filter(flower,size=10)plt.imshow(flower1)plt.show()中值濾波圖像銳化圖像銳化就是補(bǔ)償圖像的輪廓,增強(qiáng)圖像的邊緣及灰度跳變的部分,使得圖像變得清晰。scipy.ndimage模塊的prrwitt函數(shù)實(shí)現(xiàn)圖像銳化。fromscipyimportndimageimportmatplotlib.imageasmpimgimportmatplotlib.pyplotaspltflower=mpimg.imread('d://flower.jpg')flower1=ndimage.prewitt(flower)plt.imshow(flower1)plt.show()第12章Seaborn
《Python數(shù)據(jù)分析與應(yīng)用》SeabornSeaborn是基于matplotlib的圖形可視化python包,便于做出各種統(tǒng)計(jì)圖表。Pandas與Seaborn都是使用matplotlib作圖,但是兩者區(qū)別較大,如下所示:(1)Pandas善于簡(jiǎn)單繪圖,而更豐富的圖使用Seaborn繪制。(2)Pandas沒有太多的參數(shù)優(yōu)化圖形,Seaborn提供大量參數(shù)調(diào)整圖形。安裝Seaborn繪圖特色Matplotlib繪圖Seaborn繪圖importmatplotlib.pyplotaspltx=[1,3,5,7,9,11,13,15,17,19]y_bar=[3,4,6,8,9,10,9,11,7,8]y_line=[2,3,5,7,8,9,8,10,6,7]plt.bar(x,y_bar)plt.plot(x,y_line,'-o',color='y‘)importmatplotlib.pyplotaspltx=[1,3,5,7,9,11,13,15,17,19]y_bar=[3,4,6,8,9,10,9,11,7,8]y_line=[2,3,5,7,8,9,8,10,6,7]importseabornassnssns.set()#聲明使用Seaborn樣式plt.bar(x,y_bar)plt.plot(x,y_line,'-o',color='y‘)相比于Matplotlib默認(rèn)的純白色背景,Seaborn默認(rèn)的淺灰色網(wǎng)格背景看起來的確要細(xì)膩舒適一些。而柱狀圖的色調(diào)、坐標(biāo)軸的字體大小也都有一些變化。圖表分類(1)矩陣圖(2)回歸圖(3)關(guān)聯(lián)圖(4)類別圖(5)分布圖數(shù)據(jù)集seaborn內(nèi)置數(shù)據(jù)集,包括常見的泰坦尼克、鳶尾花等經(jīng)典數(shù)據(jù)集。
使用load_dataset函數(shù)調(diào)用數(shù)據(jù)集。繪圖設(shè)置繪圖元素主題設(shè)置調(diào)色板設(shè)置繪圖元素
seaborn通過set_context方法設(shè)置繪圖元素參數(shù),主要影響標(biāo)簽、線條和其他元素的效果,與style有點(diǎn)區(qū)別,不會(huì)影響整體的風(fēng)格。語法如下所示:seaborn.set_context(context=None,font_scale=1,rc=None)主題設(shè)置Seaborn通過set_style設(shè)置darkgrid,whitegrid,dark,white,ticks5種主題風(fēng)格。其中,white和ticks包含沒有必要的上邊框和右邊框。另外,sns.despine()用于去掉圖形右邊和上面的邊線。調(diào)色板顏色不但代表各種特征,而且提高整個(gè)圖的觀賞性。Seaborn使用color_palette函數(shù)實(shí)現(xiàn)分類色板。繪圖seaborn共有5個(gè)大類21種圖。(1)關(guān)系類圖表(Relationalplots)(2)分類圖表(Categoricalplots)(3)分布圖(Distributionplot)(4)回歸圖(Regressionplots)(5)矩陣圖(Matrixplots)直方圖Seaborn提供distplot函數(shù)實(shí)現(xiàn)importnumpyasnpimportmatplotlib.pyplotaspltimportseabornassns#生成100個(gè)成標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)x=np.random.normal(size=100)
#kde=True,進(jìn)行核密度估計(jì)sns.distplot(x,kde=True)#密度曲線KDEplt.show()核密度圖
核密度圖一般與直方圖搭配使用,顯示數(shù)據(jù)的分布的“疏密程度”,核密度圖顯示為擬合后的曲線,“峰”越高表示數(shù)據(jù)越“密集”。Seaborn提供kdeplot函數(shù)實(shí)現(xiàn)。importnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsnp.random.seed(4)#設(shè)置隨機(jī)數(shù)種子Gaussian=np.random.normal(0,1,1000)#創(chuàng)建一組平均數(shù)為0,標(biāo)準(zhǔn)差為1,總個(gè)數(shù)為1000的符合標(biāo)準(zhǔn)正態(tài)分布的數(shù)據(jù)ax.hist(Gaussian,bins=25,histtype="stepfilled",normed=True,alpha=0.6)sns.kdeplot(Gaussian,shade=True)plt.show()散點(diǎn)圖Seaborn提供stripplot函數(shù)實(shí)現(xiàn)。importseabornassnsimportmatplotlib.pyplotaspltsns.set(style="whitegrid",color_codes=True)tips=sns.load_dataset("tips")#“小費(fèi)”數(shù)據(jù)集sns.stripplot(data=tips)plt.show()箱型圖Seaborn提供boxplot函數(shù)實(shí)現(xiàn)。importseabornassnsimportmatplotlib.pyplotasplt
sns.set_style("whitegrid")tips=sns.load_dataset("tips")#載入自帶數(shù)據(jù)集“tips”,研究三個(gè)變量關(guān)系,是否抽煙與日期為分類變量,消費(fèi)是連續(xù)變量#結(jié)論發(fā)現(xiàn)吸煙者在周末消費(fèi)明顯大于不吸煙的人ax=sns.boxplot(x="day",y="total_bill",hue="smoker",data=tips,palette="Set3")plt.show()小提琴圖
小提琴圖其實(shí)是箱線圖與核密度圖的結(jié)合,箱線圖展示了分位數(shù)的位置,小提琴圖用于展示任意位置的密度。通過小提琴圖可以知道哪些位置的密度較高。在小提琴圖中,白點(diǎn)是中位數(shù),黑色盒形的范圍是上四分位點(diǎn)和下四分位點(diǎn),細(xì)黑線表示須,表示離群點(diǎn)的離群程度,越長(zhǎng)表示離群點(diǎn)越遠(yuǎn)。鳶尾花(Iris)數(shù)據(jù)集每類50個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)包含花萼長(zhǎng)度(sepallength)、花萼寬度(sepalwidth)、花瓣長(zhǎng)度(petallength)、花瓣寬度(petalwidth)4個(gè)屬性條形圖Seaborn提供barplot函數(shù)實(shí)現(xiàn)。importseabornassnsimportnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltx=np.arange(8)y=np.array([1,5,3,6,2,4,5,6])df=pd.DataFrame({"x-axis":x,"y-axis":y})sns.barplot("x-axis","y-axis",palette="RdBu_r",data=df)plt.xticks(rotation=90)plt.show()熱力圖Seaborn提供heatmap函數(shù)實(shí)現(xiàn)。importnumpyasnp;np.random.seed(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年景觀細(xì)霧噴嘴項(xiàng)目可行性研究報(bào)告
- 2025年工業(yè)立式洗衣機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年圓體間隔柱項(xiàng)目可行性研究報(bào)告
- 農(nóng)業(yè)無人機(jī)編隊(duì)作業(yè)-深度研究
- 2025至2030年軟性接觸鏡項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國(guó)歐式瓷器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年伊立替康項(xiàng)目投資價(jià)值分析報(bào)告
- 小學(xué)生閱讀理解能力進(jìn)階教程
- 2025年禮賓花鐵瓶項(xiàng)目可行性研究報(bào)告
- 2025年液壓增力二爪拉馬項(xiàng)目可行性研究報(bào)告
- 第四章投資性房地產(chǎn)課件
- SB-T 11238-2023 報(bào)廢電動(dòng)汽車回收拆解技術(shù)要求
- 旅游公司發(fā)展規(guī)劃
- 新舊施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)規(guī)范對(duì)照表
- 03軸流式壓氣機(jī)b特性
- 五星級(jí)酒店收入測(cè)算f
- 某省博物館十大展陳評(píng)選項(xiàng)目申報(bào)書
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動(dòng)態(tài)計(jì)量第5部分:油量計(jì)算
- GB/T 16316-1996電氣安裝用導(dǎo)管配件的技術(shù)要求第1部分:通用要求
- GA/T 455-2021居民身份證印刷要求
- 邀請(qǐng)函模板完整
評(píng)論
0/150
提交評(píng)論