Python數(shù)據(jù)分析與應(yīng)用 課件 第7、8章 python與數(shù)據(jù)分析;numpy_第1頁(yè)
Python數(shù)據(jù)分析與應(yīng)用 課件 第7、8章 python與數(shù)據(jù)分析;numpy_第2頁(yè)
Python數(shù)據(jù)分析與應(yīng)用 課件 第7、8章 python與數(shù)據(jù)分析;numpy_第3頁(yè)
Python數(shù)據(jù)分析與應(yīng)用 課件 第7、8章 python與數(shù)據(jù)分析;numpy_第4頁(yè)
Python數(shù)據(jù)分析與應(yīng)用 課件 第7、8章 python與數(shù)據(jù)分析;numpy_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章Python與數(shù)據(jù)分析《Python數(shù)據(jù)分析與應(yīng)用》啤酒與尿布“啤酒與尿布”。該故事產(chǎn)生于20世紀(jì)90年代的美國(guó)沃爾瑪超市,超市管理人員分析銷(xiāo)售數(shù)據(jù)時(shí)發(fā)現(xiàn)了一個(gè)令人難于理解的現(xiàn)象——“啤酒”與“尿布”兩件看上去毫無(wú)關(guān)系的商品會(huì)經(jīng)常出現(xiàn)在年輕的父親的同一個(gè)購(gòu)物籃。這是由于在美國(guó)有嬰兒的家庭中,母親留在家中照看嬰兒,父親去超市購(gòu)買(mǎi)尿布。父親在購(gòu)買(mǎi)尿布的同時(shí),往往會(huì)順便為自己購(gòu)買(mǎi)啤酒。至此,超市人員將屬于食品飲料的“啤酒”和屬于生活用品的“尿布”擺放在一處,從而致使兩種商品的銷(xiāo)售量直線(xiàn)上升。數(shù)據(jù)分析流程(1)明確目標(biāo)(2)獲取數(shù)據(jù)(3)清洗數(shù)據(jù)(4)特征工程(5)構(gòu)建模型(6)模型評(píng)估。明確目標(biāo)這是數(shù)據(jù)分析與挖掘的第一步,即明確數(shù)據(jù)分析的對(duì)象、目標(biāo)、或任務(wù)。此環(huán)節(jié)應(yīng)該跟業(yè)務(wù)需求方多次溝通與合作,把握最終要解決的問(wèn)題。規(guī)劃哪些數(shù)據(jù)可能會(huì)影響到這些問(wèn)題的答案,這一步就稱(chēng)為數(shù)據(jù)的獲取過(guò)程。數(shù)據(jù)獲取數(shù)據(jù)清洗為確保數(shù)據(jù)分析或挖掘結(jié)果的準(zhǔn)確性,往往需要對(duì)數(shù)據(jù)做一些基本的清洗和整理,如數(shù)據(jù)的一致性檢驗(yàn)、缺失值和異常值的處理等。特征工程通過(guò)Scipy、Pandas、Sklearn等分析庫(kù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一量綱等標(biāo)準(zhǔn)化處理,對(duì)數(shù)據(jù)進(jìn)行離散化處理,采用啞變量、獨(dú)熱編碼進(jìn)行數(shù)據(jù)重編碼,實(shí)施特征工程。模型評(píng)估通常情況下,在模型搭建好后,并不意味著分析或挖掘任務(wù)的結(jié)束,還需要對(duì)模型的擬合效果做評(píng)估,其目的就是不斷優(yōu)化模型,使最終的模型能夠更好地反映數(shù)據(jù)的真實(shí)性。構(gòu)建模型建模的目的主要是為了預(yù)測(cè),例如使用線(xiàn)性回歸模型預(yù)測(cè)產(chǎn)品的銷(xiāo)售額;利用決策樹(shù)模型預(yù)測(cè)用戶(hù)是否具有欺詐行為;利用樸素貝葉斯模型預(yù)測(cè)郵件是否為垃圾郵件。Python數(shù)據(jù)分析庫(kù)庫(kù)名簡(jiǎn)

介Numpy提供數(shù)組支持,以及相應(yīng)的高效處理函數(shù)Matplotlib強(qiáng)大的數(shù)據(jù)可視化工具、作圖庫(kù)Pandas強(qiáng)大的數(shù)據(jù)分析、數(shù)據(jù)處理和數(shù)據(jù)清洗工具seaborn數(shù)據(jù)可視化工具、作圖庫(kù)Scipy提供矩陣支持,以及矩陣相關(guān)的數(shù)值計(jì)算模塊sklearn經(jīng)典的機(jī)器學(xué)習(xí)庫(kù)NumpyNumPy是Python的數(shù)據(jù)分析的基本庫(kù),是在Python的Numeric數(shù)據(jù)類(lèi)型的基礎(chǔ)上,引入Scipy模塊中針對(duì)數(shù)據(jù)對(duì)象處理的功能,用于數(shù)值數(shù)組和矩陣類(lèi)型的運(yùn)算、矢量處理等。MatplotlibMatplotlib具有兩個(gè)重要的模塊——pylab和pyplot。Pylab實(shí)現(xiàn)了MATLAB的繪圖功能,就是MATLAB的Python版本。pyplot主要用于將NumPy統(tǒng)計(jì)結(jié)果可視化,可以繪制線(xiàn)圖、直方圖、餅圖、散點(diǎn)圖以及誤差線(xiàn)圖等各種圖形。Pandas

Pandas的名稱(chēng)來(lái)源于面板數(shù)據(jù)(PanelData)和Python數(shù)據(jù)分析(DataAnalysis),作為Python進(jìn)行數(shù)據(jù)分析和挖掘時(shí)的數(shù)據(jù)基礎(chǔ)平臺(tái)和事實(shí)上的工業(yè)標(biāo)準(zhǔn),支持關(guān)系型數(shù)據(jù)的增、刪、改、查,具有豐富的數(shù)據(jù)處理函數(shù),支持時(shí)間序列分析功能,靈活處理缺失數(shù)據(jù)等。seabornSeaborn是圖形可視化python包,作為matplotlib的補(bǔ)充,在其基礎(chǔ)上進(jìn)行了更高級(jí)的API封裝,高度兼容numpy與pandas數(shù)據(jù)結(jié)構(gòu)以及scipy等統(tǒng)計(jì)模式,能做出具有吸引力的圖。ScipyScipy是2001年發(fā)行的類(lèi)似于Matlab和Mathematica等數(shù)學(xué)計(jì)算軟件的Python庫(kù),用于統(tǒng)計(jì)、優(yōu)化、整合、線(xiàn)性代數(shù)模塊、傅里葉變換、信號(hào)和圖像處理等數(shù)值計(jì)算。scipy具有stats(統(tǒng)計(jì)學(xué)工具包)、erpolate(插值,線(xiàn)性的,三次方)、cluster(聚類(lèi))、signal(信號(hào)處理)等模塊。SklearnSklearn(又稱(chēng)為scikit-learn)是簡(jiǎn)單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具,基于python語(yǔ)言的NumPy、SciPy和matplotlib庫(kù)之上,是當(dāng)前較為流行的機(jī)器學(xué)習(xí)框架。數(shù)據(jù)分類(lèi)定類(lèi)數(shù)據(jù):表示個(gè)體在屬性上的特征和類(lèi)別上的不同變量,只是一種標(biāo)志,沒(méi)有次序關(guān)系,不可以直接測(cè)量的數(shù)據(jù)。如外貌,出生地等。定序數(shù)據(jù):表示個(gè)體在某個(gè)有序狀態(tài)中所處的位置,不能直接做四則運(yùn)算。如學(xué)歷分為初中、高中、大學(xué)、碩士、博士等。定量數(shù)據(jù):定量數(shù)據(jù)又稱(chēng)為定距數(shù)據(jù),具有間距特征的變量,可以直接測(cè)量的數(shù)據(jù),如身高、體重、氣溫等。數(shù)據(jù)統(tǒng)計(jì)量(1)極差極差又稱(chēng)范圍誤差或全距,用來(lái)衡量指定變量間差異變化范圍,是最大值與最小值的差距,用于標(biāo)志值變動(dòng)的最大范圍。通常極差越大,樣本變化范圍越大。(2)平均數(shù)平均值用于測(cè)量數(shù)據(jù)集中趨勢(shì),計(jì)算公式是所有數(shù)據(jù)之和除以數(shù)據(jù)的個(gè)數(shù)。數(shù)據(jù)統(tǒng)計(jì)量(3)中位數(shù)中位數(shù)是指將樣本數(shù)值集合劃分為數(shù)量相等或相差1的上下兩部分。對(duì)于有限的數(shù)集,可以通過(guò)把所有觀察值高低排序后找出正中間的一個(gè)作為中位數(shù)。如果觀察值有偶數(shù)個(gè),通常取最中間的兩個(gè)數(shù)值的平均數(shù)作為中位數(shù)。(4)眾數(shù)眾數(shù)是樣本觀測(cè)值在頻數(shù)分布表中頻數(shù)最多的那組數(shù)。例如:1,2,2,2,3,3,4的眾數(shù)是2。如果所有數(shù)據(jù)出現(xiàn)的次數(shù)都一樣,那么這組數(shù)據(jù)沒(méi)有眾數(shù)。例如:1,2,3,4,5沒(méi)有眾數(shù)。數(shù)據(jù)統(tǒng)計(jì)量(5)方差方差是實(shí)際值與期望值之差平方的平均值,方差是在概率論和統(tǒng)計(jì)方差衡量隨機(jī)變量或一組數(shù)據(jù)是離散程度的度量。(6)協(xié)方差協(xié)方差用于衡量?jī)蓚€(gè)變量的總體誤差,兩個(gè)變量是否相對(duì)它們各自平均值有一致行為。1)如果兩個(gè)變量同時(shí)處于平均值之上或之下,兩個(gè)變量就是正關(guān)聯(lián)性。2)如果兩個(gè)變量一個(gè)處于平均值之上,另一個(gè)處于平均值之下,就是負(fù)關(guān)聯(lián)性。當(dāng)兩個(gè)變量相同時(shí),協(xié)方差就是方差。數(shù)據(jù)統(tǒng)計(jì)量皮爾森相關(guān)系數(shù)度量?jī)蓚€(gè)變量之間的相關(guān)程度其值介于-1與+1之間,表示兩變量存在一定程度的相關(guān),越接近1,兩變量間線(xiàn)性關(guān)系越密切;越接近于0,表示兩變量的線(xiàn)性相關(guān)越弱

數(shù)據(jù)可視化數(shù)據(jù)可視化是指將大型數(shù)據(jù)集中的數(shù)據(jù)以統(tǒng)計(jì)圖表和圖形圖像形式呈現(xiàn),表現(xiàn)抽象或復(fù)雜的概念、技術(shù)和信息,并利用數(shù)據(jù)分析和開(kāi)發(fā)工具發(fā)現(xiàn)其中未知信息的處理過(guò)程。數(shù)據(jù)可視化起源于1960年代計(jì)算機(jī)圖形學(xué),通過(guò)計(jì)算機(jī)創(chuàng)建圖形圖表,將數(shù)據(jù)的各種屬性和變量呈現(xiàn)出來(lái),通過(guò)餅圖、直方圖、散點(diǎn)圖、柱狀圖等原始的統(tǒng)計(jì)圖表將數(shù)據(jù)可視化是最基礎(chǔ)和常見(jiàn)應(yīng)用。折線(xiàn)圖折線(xiàn)圖又名線(xiàn)形圖,或折線(xiàn)統(tǒng)計(jì)圖,是以折線(xiàn)的上升或下降表示數(shù)量變化的統(tǒng)計(jì)圖。折線(xiàn)圖不僅可以表示數(shù)量的多少,而且反映同一事物在不同時(shí)間里數(shù)據(jù)的變化趨勢(shì)。

餅圖餅圖屬于最傳統(tǒng)的統(tǒng)計(jì)圖形之一,通過(guò)各扇形面積的大小反映部分與部分,部分與總體的比例關(guān)系。但不擅長(zhǎng)對(duì)比差異不大或水平值過(guò)多的離散型變量。散點(diǎn)圖散點(diǎn)圖又稱(chēng)為散點(diǎn)分布圖,和折線(xiàn)圖需要的數(shù)組非常相似,區(qū)別是折線(xiàn)圖會(huì)將各數(shù)據(jù)點(diǎn)連接起來(lái);而散點(diǎn)圖則只是描繪各數(shù)據(jù)點(diǎn),并不會(huì)將這些數(shù)據(jù)點(diǎn)連接起來(lái)。直方圖直方圖又稱(chēng)質(zhì)量分布圖,由一系列高度不等的縱向條紋和線(xiàn)段表示數(shù)據(jù)分布形態(tài),一般用橫軸表示數(shù)據(jù)所屬類(lèi)別,縱軸表示數(shù)量或者占比。條形圖條形圖是統(tǒng)計(jì)圖資料分析中最常用的圖形,又名柱狀圖,可以清楚地表明各種數(shù)量的多少,用來(lái)描述各個(gè)類(lèi)別之間的關(guān)系。箱線(xiàn)圖箱線(xiàn)圖又稱(chēng)箱形圖或盒式圖,主要用于分析數(shù)據(jù)內(nèi)部的分布狀態(tài)或分散狀態(tài),不同于折線(xiàn)圖、柱狀圖或餅圖等傳統(tǒng)圖表只是數(shù)據(jù)大小、占比、趨勢(shì)的呈現(xiàn)。箱線(xiàn)圖包含統(tǒng)計(jì)學(xué)的均值、分位數(shù)、極值等統(tǒng)計(jì)量,用于分析不同類(lèi)別數(shù)據(jù)平均水平差異,展示屬性與中位數(shù)離散速度,并揭示數(shù)據(jù)間離散程度、異常值、分布差異等。箱線(xiàn)圖是一種基于“五位數(shù)”摘要顯示數(shù)據(jù)分布的標(biāo)準(zhǔn)化方法熱力圖熱力圖又稱(chēng)為熱點(diǎn)圖,也稱(chēng)為交叉填充表,展示兩個(gè)離散變量的組合關(guān)系,通過(guò)每個(gè)單元格顏色的深淺代表數(shù)值的高低以及差異情況。第8章

Numpy《Python數(shù)據(jù)分析與應(yīng)用》NumPy NumPy是Python的開(kāi)源數(shù)字?jǐn)U展,定義了數(shù)值數(shù)組和矩陣類(lèi)型以及基本運(yùn)算的語(yǔ)言擴(kuò)展,用于矩陣數(shù)據(jù)、矢量處理等。 Numpy的官方網(wǎng)址/NumPyndarray屬性名含義ndarray.ndim數(shù)組的軸(維度)的數(shù)量ndarray.shape數(shù)組的維度。為一個(gè)整數(shù)元組,表示每個(gè)維度上的大小。對(duì)于一個(gè)n行m列的矩陣來(lái)說(shuō),shape就是(n,m)。shape元組的長(zhǎng)度就是秩(或者維度的數(shù)量)ndim。ndarray.size數(shù)組的元素的總個(gè)數(shù)。這等于shape元素的乘積。ndarray.dtype用來(lái)描述數(shù)組中元素類(lèi)型的對(duì)象。ndarray.itermsize數(shù)組的每個(gè)元素的字節(jié)大小。例如,一個(gè)類(lèi)型為float64的元素的數(shù)組itemsize為8。ndarray.data該緩沖區(qū)包含了數(shù)組的實(shí)際元素。python提供array模塊,但是array不支持多維,也沒(méi)有各種運(yùn)算函數(shù),不適合做數(shù)值運(yùn)算。

而numpy提供的同質(zhì)多維數(shù)組ndarray正好彌補(bǔ)以上不足。創(chuàng)建數(shù)組ArrayArangeLinspacelogspace1.array創(chuàng)建數(shù)組importnumpyasnp#引入numpy庫(kù)a=np.array([[1,5],[4,5,7]])#創(chuàng)建數(shù)組,將元組或列表作為參數(shù)a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#創(chuàng)建二維的narray對(duì)象print(type(a))#a的類(lèi)型是數(shù)組print(type(a5))print(a)print(a5)2.arange函數(shù)創(chuàng)建數(shù)組importnumpyasnpa=np.arange(15)#利用arange函數(shù)創(chuàng)建數(shù)組print(a)a5=np.arange(1,5,0.1)#arang函數(shù)和range函數(shù)print(a5)3.linspace用于創(chuàng)建指定數(shù)量等間隔的序列,實(shí)際生成一個(gè)等差數(shù)列importnumpyasnpa=np.linspace(0,1,15)#從0開(kāi)始到1結(jié)束,共15個(gè)數(shù)的等差數(shù)列print(a)4.logspace用于生成等比數(shù)列importnumpyasnpa=np.logspace(0,5,5)#生成首位是10的0次方,末位是10的5次方,含5個(gè)數(shù)的等比數(shù)列print(a)查看數(shù)組importnumpyasnp#引入numpy庫(kù)a=np.array([[1,5],[4,5,7],3])#創(chuàng)建數(shù)組,將元組或列表作為參數(shù)a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#創(chuàng)建二維的narray對(duì)象print(type(a))#a的類(lèi)型是數(shù)組print(a)print(a5)print(a.dtype)#查看a數(shù)組中每個(gè)元素的類(lèi)型print(a6.dtype)#查看a5數(shù)組中每個(gè)元素的類(lèi)型查看數(shù)組importnumpyasnp#引入numpy庫(kù)a=np.array([[1,5],[4,5,7],3])a5=np.array(([1,5,3,4,5],[6,7,8,9,5]))#創(chuàng)建二維narrayprint(a.shape)#查看數(shù)組的行列,3行print(a6.shape)#查看數(shù)組的行列,返回5行5列print(a.shape[0])#查看a的行數(shù)print(a6.shape[1])#查看a5的列數(shù)print(a.ndim)#獲取數(shù)組的維數(shù)print(a6.ndim)print(a6.T)#簡(jiǎn)單轉(zhuǎn)置矩陣ndarray索引和切片importnumpyasnpa=np.array([[1,5,3,4,5],[6,7,8,9,5]])print(a)print(a[:])#選取全部元素print(a[1])#選取行為1的全部元素print(a[0:1])#截取[0,1)的元素print(a[1,5:5])#截取第二行第[5,5)的元素[895]print(a[1,:])#截取第二行,返回[67895]print(a[1,5])#截取行號(hào)為一,列號(hào)為5的元素8print(a[1][5])線(xiàn)性代數(shù)

數(shù)z說(shuō)明函

數(shù)說(shuō)

明np.zeros生成零矩陣np.ones生成所有元素為1的矩陣np.eye生成單位矩陣np.transpose矩陣轉(zhuǎn)置np.dot計(jì)算兩個(gè)數(shù)組的點(diǎn)積np.inner計(jì)算兩個(gè)數(shù)組的內(nèi)積np.diag矩陣主對(duì)角線(xiàn)與一維數(shù)組間轉(zhuǎn)換np.trace矩陣主對(duì)角線(xiàn)元素的和np.linalg.det計(jì)算矩陣行列式np.linalg.eig計(jì)算特征根與特征向量np.linalg.eigvals計(jì)算方陣特征根np.linalg.inv計(jì)算方陣的逆np.linalg.pinv計(jì)算方陣的Moore-Penrose偽逆np.linalg.solve計(jì)算Ax=b線(xiàn)性方程組解np.linalg.lstsq計(jì)算Ax=b的最小二乘解np.linalg.qr計(jì)算QR分解np.linalg.svd計(jì)算奇異值分解np.linalg.norm計(jì)算向量或矩陣的范數(shù)四則運(yùn)算importnumpyasnpimportnumpy.linalgaslg#求矩陣的逆需要先導(dǎo)入numpy.linalga1=np.array([[1,2,3],[4,5,6],[5,4,5]])a5=np.array([[1,5,4],[3,4,7],[7,5,6]])print(a1+a5)#相加print(a1-a5)#相減print(a1/a5)#對(duì)應(yīng)元素相除,如果都是整數(shù)則取商print(a1%a5)#對(duì)應(yīng)元素相除后取余數(shù)print(a1**5)#矩陣每個(gè)元素都取n次方矩陣運(yùn)算importnumpyasnpimportnumpy.linalgaslg#求矩陣的逆需要先導(dǎo)入numpy.linalga1=np.array([[1,2,3],[4,5,6],[5,4,5]])a5=np.array([[1,5,4],[3,4,7],[7,5,6]])print(a1.dot(a5))#點(diǎn)乘滿(mǎn)足:第一個(gè)矩陣的列數(shù)等于第二個(gè)矩陣的行數(shù)print(a1.transpose())#轉(zhuǎn)置等價(jià)于print(a1.T)print(lg.inv(a1))#用linalg的inv函數(shù)來(lái)求逆特征根和特征向量importnumpyasnparr=np.array([[1,2,5],[3,6,7],[4,2,9]])print('計(jì)算3×3方陣的特征根和特征向量:\n',arr)print('求解結(jié)果為:\n',np.linalg.eig(arr))多元一次方程組importnumpyasnp#多元線(xiàn)性方程組a=np.array([[1,3,5],[2,5,-1],[2,4,7]])b=np.array([10,6,4])x=np.linalg.solve(a,b)print(x)統(tǒng)計(jì)量

數(shù)說(shuō)明函

數(shù)說(shuō)

明min(arr,axis)最小值cumsum(arr,axis)軸方向計(jì)算累計(jì)和max(arr,axis)最大值cumprod(arr,axis)軸方向計(jì)算累計(jì)乘積mean(arr,axis)平均值argmin(arr,axis)軸方向最小值所在的位置median(arr,axis)中位數(shù)argmax(arr,axis)軸方向最大值所在的位置sum(arr,axis)和corrcoef(arr)計(jì)算皮爾遜相關(guān)系數(shù)std(arr,axis)標(biāo)準(zhǔn)差cov(arr)計(jì)算協(xié)方

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論