Python數(shù)據(jù)分析報(bào)告-2_第1頁(yè)
Python數(shù)據(jù)分析報(bào)告-2_第2頁(yè)
Python數(shù)據(jù)分析報(bào)告-2_第3頁(yè)
Python數(shù)據(jù)分析報(bào)告-2_第4頁(yè)
Python數(shù)據(jù)分析報(bào)告-2_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Python學(xué)習(xí)數(shù)據(jù)分析與數(shù)據(jù)挖掘?第一頁(yè),編輯于星期一:二十一點(diǎn)二分。認(rèn)識(shí)PythonPython是一種解釋型、面向?qū)ο?、?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言。Python由Guido

van

Ro

sum于1989年底發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于1991年。

Python是純粹的自由軟件,源代碼和解釋器CPython遵循GPL(GNUGeneral

Public

License)協(xié)議

Python具有豐富和強(qiáng)大的庫(kù)。它常被昵稱為膠水語(yǔ)言,能夠把用其他語(yǔ)言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見(jiàn)的一種應(yīng)用情形是,使

用Python快速生成程序的原型,然后對(duì)其中有特別要求的部分,用更合適的語(yǔ)言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫(kù)。第二頁(yè),編輯于星期一:二十一點(diǎn)二分。Python優(yōu)點(diǎn)有哪些Python是一種開源的、解析性的,面向?qū)ο蟮木幊陶Z(yǔ)言Python使用一種優(yōu)雅的語(yǔ)法,可讀性強(qiáng)Python具有豐富的庫(kù),可以處理各種工作Python支持類和多層繼承等的面向?qū)ο缶幊碳夹g(shù)Python可運(yùn)行在多種計(jì)算機(jī)平臺(tái)和操作系統(tǒng)中,如Unix、Windows、MacOS、Ubuntu、OS/2等等第三頁(yè),編輯于星期一:二十一點(diǎn)二分。為什么選擇Python進(jìn)行數(shù)據(jù)分析

在眾多解釋型語(yǔ)言中,Python最大的特點(diǎn)是擁有一個(gè)巨大而活躍的科學(xué)計(jì)算社區(qū)。進(jìn)入21世紀(jì)以來(lái),在行業(yè)應(yīng)用和學(xué)術(shù)研究中采用python進(jìn)行科

學(xué)計(jì)算的勢(shì)頭越來(lái)越猛。

近年來(lái),由于Python有不斷改良的庫(kù)(主要是pandas),使其成為數(shù)據(jù)處理任務(wù)的一大代替方案,結(jié)合其在通用編程方面的強(qiáng)大實(shí)力,完全可以只是用Python這一種語(yǔ)言去構(gòu)建以數(shù)據(jù)為中心的應(yīng)用程序。

作為一個(gè)科學(xué)計(jì)算平臺(tái),Python的成功源于能夠輕松的集成C、C++以及Fortran代碼。大部分現(xiàn)代計(jì)算機(jī)環(huán)境都利用了一些Fortran和C庫(kù)來(lái)是西安線性代數(shù)、優(yōu)選、積分、快速傅里葉變換以及其他諸如此類的算法。第四頁(yè),編輯于星期一:二十一點(diǎn)二分。課程內(nèi)容1.Python環(huán)境搭建1.1

python版本選擇1.2

python

安裝2.Python基礎(chǔ)2.1

python基礎(chǔ)語(yǔ)法2.2

python數(shù)據(jù)類型2.3條件和循環(huán)2.4

Python函數(shù)2.5

Python模塊2.6

Python文件I/OPython庫(kù)介紹NumPy庫(kù)介紹3.2

Pandas庫(kù)介紹4.2

數(shù)據(jù)預(yù)處理4.3

挖掘建模數(shù)據(jù)處理與分析數(shù)據(jù)探索實(shí)例分析5.1

Titanic數(shù)據(jù)集分析5.2餐飲客戶價(jià)值分析第五頁(yè),編輯于星期一:二十一點(diǎn)二分。1.1

Python環(huán)境搭建Python2.X和Python3.X–Python的3.0版本,常被稱為Python3000,或簡(jiǎn)稱Py3k。相對(duì)于Python的期版本,這是一個(gè)較大的升級(jí)。–為了不帶入過(guò)多的累贅,Python

3.0在設(shè)計(jì)的時(shí)候沒(méi)有考慮向下相容,許多針對(duì)

期Python版本設(shè)計(jì)的程式都無(wú)法在Python

3.0上正常執(zhí)行。–大多數(shù)第三方庫(kù)都正在努力地相容Python

3.0版本。即使無(wú)法立即使用Python

3.0,也建議編寫相容Python

3.0版本的程式,然后使用Python

2.6,Python

2.7來(lái)執(zhí)行。In

summary

:

Python2.x

is

legacy,

Python

3.x

is

thepresent

and

future

of

the

language第六頁(yè),編輯于星期一:二十一點(diǎn)二分。1.2

Python安裝Unix

&

Linux平臺(tái)安裝Python打開WEB瀏覽器訪問(wèn)/download/選擇適用于Unix/Linux的源碼壓縮包。下載及解壓壓縮包。如果你需要自定義一些選項(xiàng)修改Modules/Setup執(zhí)行./configure

腳本makemake

install第七頁(yè),編輯于星期一:二十一點(diǎn)二分。Window平臺(tái)安裝Python打開WEB瀏覽器訪問(wèn)/download/在下載列表中選擇Window平臺(tái)安裝包,包格式為:python-XYZ.msi

文件,XYZ

為你要安裝的版本號(hào)。要使用安裝程序python-XYZ.msi,Windows系統(tǒng)必須支持MicrosoftInstaller2.0搭配使用。只要保存安裝文件到本地計(jì)算機(jī),然后運(yùn)行它,看看你的機(jī)器支持MSI。Windows

XP和更高版本已經(jīng)有MSI,很多老機(jī)器也可以安裝MSI。下載后,雙擊下載包,進(jìn)入Python安裝向?qū)?,安裝非常簡(jiǎn)單,你只需要使用默認(rèn)的設(shè)置一直點(diǎn)擊"下一步"直到安裝完成即可。第八頁(yè),編輯于星期一:二十一點(diǎn)二分。集成開發(fā)環(huán)境選擇PyCharmPyCharm

是由JetBrains

打造的一款Python

IDE,支持macOS、Windows、Linux

系統(tǒng)。

PyCharm

功能:調(diào)試、語(yǔ)法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制……PyCharm下載地址:https:///pycharm/download/第九頁(yè),編輯于星期一:二十一點(diǎn)二分。Pycharm軟件界面第十頁(yè),編輯于星期一:二十一點(diǎn)二分。編寫我的第一個(gè)Python程序He

lo

World程序簡(jiǎn)單的計(jì)算器第十一頁(yè),編輯于星期一:二十一點(diǎn)二分。2.1

Python基本語(yǔ)法Python標(biāo)識(shí)符在Python

里,標(biāo)識(shí)符由字母、數(shù)字、下劃線組成。在Python

中,所有標(biāo)識(shí)符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開頭。Python中的標(biāo)識(shí)符是區(qū)分大小寫的。Python

可以同一行顯示多條語(yǔ)句,方法是用分號(hào);分開。

以下劃線開頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線開頭_foo的代表不能直接訪問(wèn)的類屬性,需通過(guò)類提供的接口進(jìn)行訪問(wèn),不能用from

xxx

import

*

而導(dǎo)入以雙下劃線開頭的

foo

代表類的私有成員;以雙下劃線開頭和結(jié)尾的

foo

代表Python里特殊方法專用的標(biāo)識(shí),如

init

()

代表類的構(gòu)造函數(shù)。第十二頁(yè),編輯于星期一:二十一點(diǎn)二分。Python

保留字符下面的列表顯示了在Python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識(shí)符名稱。所有Python

的關(guān)鍵字只包含小寫字母。andexecnota

sertfinalyorbreakforpa

scla

sfromprintcontinueglobalraisedefifreturndelimporttryelifinwhileelseiswithexceptlambdayield第十三頁(yè),編輯于星期一:二十一點(diǎn)二分。行和縮進(jìn)學(xué)習(xí)Python

與其他語(yǔ)言最大的區(qū)別就是,Python

的代碼塊不使用大括號(hào){}來(lái)控制類,函數(shù)以及其他邏輯判斷。python

最具特色的就是用縮進(jìn)來(lái)寫模塊。縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。以下代碼會(huì)執(zhí)行錯(cuò)誤:第十四頁(yè),編輯于星期一:二十一點(diǎn)二分。Python引號(hào)Python

可以使用引號(hào)(")、雙引號(hào)(")、三引號(hào)("""或""")來(lái)表示字符串,引號(hào)的開始與結(jié)束必須的相同類型的。其中三引號(hào)可以由多行組成,編寫多行文本的快捷語(yǔ)法,常用于文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。第十五頁(yè),編輯于星期一:二十一點(diǎn)二分。Python注釋python中單行注釋采用#開頭python中多行注釋使用三個(gè)單引號(hào)(""")或三個(gè)雙引號(hào)(""")。第十六頁(yè),編輯于星期一:二十一點(diǎn)二分。2.2

Python數(shù)據(jù)類型標(biāo)準(zhǔn)數(shù)據(jù)類型Python

定義了一些標(biāo)準(zhǔn)類型,用于存儲(chǔ)各種類型的數(shù)據(jù)。

Python有五個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:–Numbers(數(shù)字)–String(字符串)–List(列表)–Tuple(元組)–Dictionary(字典)第十七頁(yè),編輯于星期一:二十一點(diǎn)二分。Python數(shù)字–數(shù)字?jǐn)?shù)據(jù)類型用于存儲(chǔ)數(shù)值。他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會(huì)分配一個(gè)新的對(duì)象。當(dāng)你指定一個(gè)值時(shí),Number對(duì)象就會(huì)被創(chuàng)建。var1

=

1var2

=

10–可以通過(guò)使用del語(yǔ)句刪除單個(gè)或多個(gè)對(duì)象的引用。例如:del

vardel

var_a,

var_b–Python支持四種不同的數(shù)字類型:int(有符號(hào)整型)long(長(zhǎng)整型[也可以代表八進(jìn)制和十六進(jìn)制])float(浮點(diǎn)型)complex(復(fù)數(shù))第十八頁(yè),編輯于星期一:二十一點(diǎn)二分。Python字符串–字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。s="a1a2···an"(n>=0)–python的字串列表有2種取值順序:從左到右索引默認(rèn)0開始的,最大范圍是字符串長(zhǎng)度少1從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭–如果你要實(shí)現(xiàn)從字符串中獲取一段子字符串的話,可以使用變量[頭下標(biāo):尾下標(biāo)],就可以截取相應(yīng)的字符串,其中下標(biāo)是從0

開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。S="ilovepython‘s[1:5]的結(jié)果是love。第十九頁(yè),編輯于星期一:二十一點(diǎn)二分。Python列表List(列表)是Python

中使用最頻繁的數(shù)據(jù)類型。

列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。列表用[]標(biāo)識(shí),是python

最通用的復(fù)合數(shù)據(jù)類型。

列表中值的切割也可以用到變量[頭下標(biāo):尾下標(biāo)],就可以截取相應(yīng)的列表,從左到右索引默認(rèn)0開始,從右到左索引默認(rèn)-1

開始,下標(biāo)可以為空表示取到頭或尾。加號(hào)+是列表連接運(yùn)算符,星號(hào)*是重復(fù)操作。如下實(shí)例:第二十頁(yè),編輯于星期一:二十一點(diǎn)二分。Python元組元組是另一個(gè)數(shù)據(jù)類型,類似于List(列表)。元組用"()"標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。第二十一頁(yè),編輯于星期一:二十一點(diǎn)二分。Python字典

字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象結(jié)合,字典是無(wú)序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。字典用"{}"標(biāo)識(shí)。字典由索引(key)和它對(duì)應(yīng)的值value組成。第二十二頁(yè),編輯于星期一:二十一點(diǎn)二分。Python數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

int(x

[,base])long(x

[,base]

)

float(x)

complex(real

[,imag])

str(x)repr(x)

eval(str)描述將x轉(zhuǎn)換為一個(gè)整數(shù)將x轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)創(chuàng)建一個(gè)復(fù)數(shù)將對(duì)象x轉(zhuǎn)換為字符串將對(duì)象x轉(zhuǎn)換為表達(dá)式字符串用來(lái)計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象tuple(s)

list(s)

set(s)

dict(d)將序列s轉(zhuǎn)換為一個(gè)元組將序列s轉(zhuǎn)換為一個(gè)列表轉(zhuǎn)換為可變集合創(chuàng)建一個(gè)字典。d必須是一個(gè)序列(key,value)元組。frozenset(s)

chr(x)

unichr(x)

ord(x)hex(x)轉(zhuǎn)換為不可變集合將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符

將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串oct(x)將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串第二十三頁(yè),編輯于星期一:二十一點(diǎn)二分。2.3條件和循環(huán)Python

條件語(yǔ)句Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊。–Python程序語(yǔ)言指定任何非0和非空(null)值為true,0

或者null為false。–Python編程中if

語(yǔ)句用于控制程序的執(zhí)行,基本形式為第二十四頁(yè),編輯于星期一:二十一點(diǎn)二分。Python循環(huán)語(yǔ)句循環(huán)語(yǔ)句允許我們執(zhí)行一個(gè)語(yǔ)句或語(yǔ)句組多次。–Python提供了for循環(huán)和while循環(huán)(在Python中沒(méi)有do..while循環(huán))循環(huán)類型while

循環(huán)for

循環(huán)

嵌套循環(huán)描述在給定的判斷條件為true時(shí)執(zhí)行循環(huán)體,否則退出循環(huán)體。重復(fù)執(zhí)行語(yǔ)句你可以在while循環(huán)體中嵌套for循環(huán)第二十五頁(yè),編輯于星期一:二十一點(diǎn)二分。演示

Python

while

語(yǔ)句執(zhí)行過(guò)程第二十六頁(yè),編輯于星期一:二十一點(diǎn)二分。2.4

Python函數(shù)函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。定義函數(shù)遵循的相關(guān)規(guī)則函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()。任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間。圓括號(hào)之間可以用于定義參數(shù)。函數(shù)的第一行語(yǔ)句可以選擇性地使用文檔字符串—用于存放函數(shù)說(shuō)明。函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。

return[表達(dá)式]結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回

None。第二十七頁(yè),編輯于星期一:二十一點(diǎn)二分。函數(shù)語(yǔ)法實(shí)例第二十八頁(yè),編輯于星期一:二十一點(diǎn)二分。定義模塊好處模塊讓你能夠有邏輯地組織你的Python

代碼段。把相關(guān)的代碼分配到一個(gè)模塊里能讓你的代碼更好用,更易懂。模塊能定義函數(shù),類和變量,模塊里也能包含可執(zhí)行的代碼。2.5

Python模塊Python模塊(Module),是一個(gè)Python文件,以.py結(jié)尾,包含了Python對(duì)象定義和Python語(yǔ)句。第二十九頁(yè),編輯于星期一:二十一點(diǎn)二分。模塊的引入模塊定義好后,我們可以使用import

語(yǔ)句來(lái)引入模塊,語(yǔ)法如下:import

module1[,

module2[,...

moduleN]比如要引用模塊math,就可以在文件最開始的地方用import

math

來(lái)引入。在調(diào)用math

模塊中的函數(shù)時(shí),必須這樣引用:模塊名.函數(shù)名第三十頁(yè),編輯于星期一:二十一點(diǎn)二分。2.6

Python文件I/O打印到屏幕最簡(jiǎn)單的輸出方法是用print語(yǔ)句,你可以給它傳遞零個(gè)或多個(gè)用逗號(hào)隔開的表達(dá)式。此函數(shù)把你傳遞的表達(dá)式轉(zhuǎn)換成一個(gè)字符串表達(dá)式,并將結(jié)果寫到標(biāo)準(zhǔn)輸出如下:第三十一頁(yè),編輯于星期一:二十一點(diǎn)二分。讀取鍵盤輸入Python提供了兩個(gè)內(nèi)置函數(shù)從標(biāo)準(zhǔn)輸入讀入一行文本,默認(rèn)的標(biāo)準(zhǔn)輸入是鍵盤。raw_inputinput二者區(qū)別–raw_input會(huì)提示你輸入任意字符串,然后在屏幕上顯示相同的字符串。–input函數(shù)和raw_input函數(shù)基本類似,但是input可以接收一個(gè)Python表達(dá)式作為輸入,并將運(yùn)算結(jié)果返回。第三十二頁(yè),編輯于星期一:二十一點(diǎn)二分。打開和關(guān)閉文件Python

提供了必要的函數(shù)和方法進(jìn)行默認(rèn)情況下的文件基本操作。你可以用file

對(duì)象做大部分的文件操作。open

函數(shù)你必須先用Python內(nèi)置的open()函數(shù)打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫。語(yǔ)法:file

object

=

open(file_name

[,

access_mode][,

buffering])–file_name:file_name變量是一個(gè)包含了你要訪問(wèn)的文件名稱的字符串值。–buffering:如果buffering的值被設(shè)為0,就不會(huì)有寄存。如果buffering的值取1,訪問(wèn)文件時(shí)會(huì)寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。–access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見(jiàn)如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問(wèn)模式為只讀(r)。第三十三頁(yè),編輯于星期一:二十一點(diǎn)二分。close()方法File

對(duì)象的close()方法刷新緩沖區(qū)里任何還沒(méi)寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入。當(dāng)一個(gè)文件對(duì)象的引用被重新指定給另一個(gè)文件時(shí),Python

會(huì)關(guān)閉之前的文件。語(yǔ)法:fileObject.close();第三十四頁(yè),編輯于星期一:二十一點(diǎn)二分。write()方法write()方法可將任何字符串寫入一個(gè)打開的文件。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。write()方法不會(huì)在字符串的結(jié)尾添加換行符("\n")。語(yǔ)法:fileObject.write(string);第三十五頁(yè),編輯于星期一:二十一點(diǎn)二分。read()方法read()方法從一個(gè)打開的文件中讀取一個(gè)字符串。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。語(yǔ)法:fileObject.read([count]);第三十六頁(yè),編輯于星期一:二十一點(diǎn)二分。Python

File(文件)方法序號(hào)方法及描述file.close()

關(guān)閉文件。關(guān)閉后文件不能再進(jìn)行讀寫操作。file.flush()

刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件,而不是被動(dòng)的等待輸出緩沖區(qū)寫入。3file.fileno()

返回一個(gè)整型的文件描述符(file

descriptor

FD整型),可以用在如os模塊的read方法等一些底層操作上。file.isatty()

如果文件連接到一個(gè)終端設(shè)備返回True,否則返回False。file.next()

返回文件下一行。file.read([size])

從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。file.readline([size])

讀取整行,包括"\n"字符。8file.readlines([sizehint])

讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節(jié)的行,實(shí)際讀取值可能比sizhint較大,因?yàn)樾枰畛渚彌_區(qū)。file.seek(offset[,whence])

設(shè)置文件當(dāng)前位置file.tell()

返回文件當(dāng)前位置。file.truncate([size])

截取文件,截取的字節(jié)通過(guò)size指定,默認(rèn)為當(dāng)前文件位置。file.write(str)

將字符串寫入文件,沒(méi)有返回值。file.writelines(sequence)

向文件寫入一個(gè)序列字符串列表,如果需要換行則要自己加入每行的換行符。第三十七頁(yè),編輯于星期一:二十一點(diǎn)二分?!猵ython庫(kù)利用python進(jìn)行數(shù)據(jù)分析工具第三十八頁(yè),編輯于星期一:二十一點(diǎn)二分。重要的Python庫(kù)NumPy:Numpy(Numerical

Python的簡(jiǎn)稱)是Python科學(xué)計(jì)算的基礎(chǔ)包。–快速高效的多維數(shù)組對(duì)象nda

ray–用于對(duì)數(shù)組執(zhí)行元素級(jí)計(jì)算以及直接對(duì)數(shù)組執(zhí)行數(shù)學(xué)運(yùn)算的函數(shù)–用于讀寫硬盤上基于數(shù)組的數(shù)據(jù)集的工具–線性代數(shù)運(yùn)算、傅里葉變換、以及隨機(jī)數(shù)生成–用于將C、C+、Fortran代碼集成到Python的工具除了為Python提供快速的數(shù)組處理能力,NumPy在數(shù)據(jù)分析方面還作為在算法之間傳遞數(shù)據(jù)的容器第三十九頁(yè),編輯于星期一:二十一點(diǎn)二分。Pandas:pandas提供了使我們能夠快速便捷地處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù)Pandas兼具NumPy高性能的數(shù)據(jù)計(jì)算功能以及電子表格和關(guān)系型數(shù)據(jù)庫(kù)(如SQL)靈活的數(shù)據(jù)處理功能。提供了復(fù)雜精細(xì)的索引功能、一邊更為便捷地完成重塑、切片和切塊、聚合以及選取數(shù)據(jù)子集等操作。Pandas提供了大量適用于金融數(shù)據(jù)的高性能時(shí)間序列功能和工具第四十頁(yè),編輯于星期一:二十一點(diǎn)二分。其他的Python庫(kù)Matplotlib:matplotlib是最流行的用于繪制數(shù)據(jù)圖標(biāo)的Python庫(kù),實(shí)現(xiàn)數(shù)據(jù)可視化。

IPython:Ipython是Python科學(xué)計(jì)算標(biāo)準(zhǔn)工具集的組成部分,它將其他所有的東西聯(lián)系到了一起,為交互是和探索式計(jì)算提供了一個(gè)強(qiáng)健而高效的環(huán)境。SciPy:SciPy是一組專門解決科學(xué)計(jì)算中各種標(biāo)準(zhǔn)問(wèn)題域的包的集合,包括Segrate:數(shù)值積分例程和韋恩方程式求解器Scipy.linalg:擴(kuò)展了由numpy.linalg提供的線性代數(shù)例程和矩陣分解功能Scipy.optimize:函數(shù)優(yōu)化器(最小化器)以及根查找算法Scipy.signal:信號(hào)處理工具Scipy.sparse:稀疏矩陣和系數(shù)線性系統(tǒng)求解器Scipy.special:SPECFUN(這是一個(gè)實(shí)現(xiàn)了許多常用數(shù)學(xué)函數(shù)(如伽馬函數(shù))的Fortran庫(kù))的包裝器

Scipy.stats:標(biāo)準(zhǔn)連續(xù)的離散概率分布(如密度函數(shù)、采樣器、連續(xù)分布函數(shù)等)、各種統(tǒng)計(jì)檢驗(yàn)方法,以及更好的描述統(tǒng)計(jì)法。Scipy.weave:利用內(nèi)斂C++代碼加速數(shù)組計(jì)算的工具第四十一頁(yè),編輯于星期一:二十一點(diǎn)二分。常用第三方Python庫(kù)安裝和導(dǎo)入安裝–下載并安裝Anaconda,它附帶了預(yù)安裝的庫(kù)。Anaconda

Python是完全免費(fèi)、跨平臺(tái)、企業(yè)級(jí)的Python發(fā)行大規(guī)模數(shù)據(jù)處理、預(yù)測(cè)分析和科學(xué)計(jì)算工具。–PyCharm已經(jīng)集成NumPy、Pandas、Matplotlib等常用庫(kù)。導(dǎo)入–import

numpy

as

np–from

socket

import

gethostname,

socket第四十二頁(yè),編輯于星期一:二十一點(diǎn)二分。3.1

NumPy庫(kù)介紹NumPy是高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。部分功能如下:ndarray,具有矢量算術(shù)運(yùn)算和復(fù)雜廣播能力的快速且節(jié)省空間的多維數(shù)組。用于對(duì)整組數(shù)據(jù)進(jìn)行快速運(yùn)算的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)(無(wú)需編寫循環(huán))。用于讀寫磁盤數(shù)據(jù)的工具以及用于操作內(nèi)存映射文件的工具。線性代數(shù)、隨機(jī)數(shù)生成以及傅里葉變換功能。用于集成C、C++、Fortran等語(yǔ)言編寫的代碼的工具。首先要導(dǎo)入numpy庫(kù):import

numpy

as

np第四十三頁(yè),編輯于星期一:二十一點(diǎn)二分。生成函數(shù)np.array(

x)np.array(

x,

dtype)np.asarray(

array

)作用將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)ndarray將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)類型為type的ndarray將輸入數(shù)據(jù)轉(zhuǎn)化為一個(gè)新的(copy)ndarraynp.ones(

N

)np.ones(

N,

dtype)np.ones_like(

ndarray

)生成一個(gè)N長(zhǎng)度的一維全一ndarray生成一個(gè)N長(zhǎng)度類型是dtype的一維全一ndarray生成一個(gè)形狀與參數(shù)相同的全一ndarraynp.zeros(

N)np.zeros(

N,

dtype)np.zeros_like(ndarray)np.empty(

N

)np.empty(

N,

dtype)np.empty(ndarray)生成一個(gè)N長(zhǎng)度的一維全零ndarray生成一個(gè)N長(zhǎng)度類型位dtype的一維全零ndarray類似np.ones_like(ndarray)生成一個(gè)N長(zhǎng)度的未初始化一維ndarray生成一個(gè)N長(zhǎng)度類型是dtype的未初始化一維ndarray類似np.ones_like(ndarray)np.eye(

N

)np.identity(

N

)創(chuàng)建一個(gè)N

*

N的單位矩陣(對(duì)角線為1,其余為0)np.arange(

num)np.arange(

begin,

end)np.arange(

begin,

end,

step)生成一個(gè)從0到num-1步數(shù)為1的一維ndarray生成一個(gè)從begin到end-1步數(shù)為1的一維ndarray生成一個(gè)從begin到end-step的步數(shù)為step的一維ndarraynp.in1d(ndarray,

[x,y,...])檢查ndarray中的元素是否等于[x,y,...]中的一個(gè),返回bool數(shù)組第四十四頁(yè),編輯于星期一:二十一點(diǎn)二分。矩陣函數(shù)說(shuō)明np.diag(

ndarray)np.diag(

[x,y,...])以一維數(shù)組的形式返回方陣的對(duì)角線(或非對(duì)角線)元素將一維數(shù)組轉(zhuǎn)化為方陣(非對(duì)角線元素為0)np.dot(ndarray,

ndarray)矩陣乘法np.trace(

ndarray)計(jì)算對(duì)角線元素的和排序函數(shù)說(shuō)明np.sort(

ndarray)排序,返回副本np.unique(ndarray)返回ndarray中的元素,排除重復(fù)元素之后,并進(jìn)行排序ersect1d(

ndarray1,

ndarray2)np.union1d(

ndarray1,

ndarray2)np.setdiff1d(

ndarray1,

ndarray2)np.setxor1d(

ndarray1,

ndarray2)返回二者的交集并排序。返回二者的并集并排序。返回二者的差。返回二者的對(duì)稱差第四十五頁(yè),編輯于星期一:二十一點(diǎn)二分。一元計(jì)算函數(shù)np.abs(ndarray)np.fabs(ndarray)np.mean(ndarray)np.sqrt(ndarray)np.square(ndarray)np.exp(ndarray)log、log10、log2、log1p說(shuō)明計(jì)算絕對(duì)值計(jì)算絕對(duì)值(非復(fù)數(shù))求平均值計(jì)算x^0.5計(jì)算x^2計(jì)算e^x計(jì)算自然對(duì)數(shù)、底為10的log、底為2的log、底為(1+x)的lognp.sign(ndarray)計(jì)算正負(fù)號(hào):1(正)、0(0)、-1(負(fù))np.ceil(ndarray)np.floor(ndarray)np.rint(ndarray)計(jì)算大于等于改值的最小整數(shù)計(jì)算小于等于該值的最大整數(shù)四舍五入到最近的整數(shù),保留dtypenp.modf(ndarray)將數(shù)組的小數(shù)和整數(shù)部分以兩個(gè)獨(dú)立的數(shù)組方式返回np.isnan(ndarray)返回一個(gè)判斷是否是NaN的bool型數(shù)組np.isfinite(ndarray)np.isinf(ndarray)返回一個(gè)判斷是否是有窮(非inf,非NaN)的bool型數(shù)組返回一個(gè)判斷是否是無(wú)窮的bool型數(shù)組普通型和雙曲型三角函數(shù)cos、cosh、sin、sinh、tan、tanharccos、arccosh、arcsin、arcsinh、arctan、arctanh反三角函數(shù)和雙曲型反三角函數(shù)np.logical_not(ndarray)計(jì)算各元素not

x的真值,相當(dāng)于-ndarray第四十六頁(yè),編輯于星期一:二十一點(diǎn)二分。多元計(jì)算函數(shù)說(shuō)明相加相減乘法除法圓整除法(丟棄余數(shù))次方求模求最大值求最大值(忽略NaN)求最小值求最小值(忽略NaN)將參數(shù)2中的符號(hào)賦予參數(shù)1>np.add(ndarray,

ndarray)np.subtract(ndarray,

ndarray)np.multiply(ndarray,

ndarray)np.divide(ndarray,

ndarray)np.floor_divide(ndarray,

ndarray)np.power(ndarray,

ndarray)np.mod(ndarray,

ndarray)np.maximum(ndarray,

ndarray)np.fmax(ndarray,

ndarray)np.minimun(ndarray,

ndarray)np.fmin(ndarray,

ndarray)np.copysign(ndarray,

ndarray)np.greater(ndarray,

ndarray)np.greater_equal(ndarray,

ndarray)np.less(ndarray,

ndarray)np.less_equal(ndarray,

ndarray)np.equal(ndarray,

ndarray)np.not_equal(ndarray,

ndarray)logical_and(ndarray,

ndarray)logical_or(ndarray,

ndarray)logical_xor(ndarray,

ndarray)np.dot(

ndarray,

ndarray)np.ix_([x,y,m,n],...)>=<<===!=&|^計(jì)算兩個(gè)ndarray的矩陣內(nèi)積生成一個(gè)索引器,用于Fancy

indexing(花式索引)第四十七頁(yè),編輯于星期一:二十一點(diǎn)二分。文件讀寫說(shuō)明np.save(string,

ndarray)將ndarray保存到文件名為[string].npy的文件中(無(wú)壓縮)np.savez(string,

ndarray1,

ndarray2,

...)將所有的ndarray壓縮保存到文件名為[string].npy的文件中np.savetxt(sring,

ndarray,

fmt,

newline="\n")將ndarray寫入文件,格式為fmtnp.load(string)讀取文件名string的文件內(nèi)容并轉(zhuǎn)化為ndarray對(duì)象(或字典對(duì)象)np.loadtxt(string,

delimiter)讀取文件名string的文件內(nèi)容,以delimiter為分隔符轉(zhuǎn)化為ndarray第四十八頁(yè),編輯于星期一:二十一點(diǎn)二分。3.2

Pandas庫(kù)介紹

pandas

是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas納入了大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效地操作大型數(shù)據(jù)集所需的工具。pandas提供了大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法。使用方法from

pandas

import

Series,

DataFrameimport

pandas

as

pd第四十九頁(yè),編輯于星期一:二十一點(diǎn)二分。Series常用函數(shù)函數(shù)說(shuō)明Series([x,y,...])Series({"a":x,"b":y,...},

index=param1)生成一個(gè)SeriesSeries.copy()復(fù)制一個(gè)SeriesSeries.reindex([x,y,...],

fill_value=NaN)Series.reindex([x,y,...],

method=NaN)Series.reindex(columns=[x,y,...])重返回一個(gè)適應(yīng)新索引的新對(duì)象,將缺失值填充為fill_value返回適應(yīng)新索引的新對(duì)象,填充方式為method對(duì)列進(jìn)行重新索引Series.drop(index)丟棄指定項(xiàng)Series.map(f)應(yīng)用元素級(jí)函數(shù)排序函數(shù)說(shuō)明Series.sort_index(ascending=True)根據(jù)索引返回已排序的新對(duì)象Series.order(ascending=True)根據(jù)值返回已排序的對(duì)象,NaN值在末尾Series.rank(method="average",

ascending=True,

axis=0)為各組分配一個(gè)平均排名df.argmax()df.argmin()返回含有最大值的索引位置返回含有最小值的索引位置第五十頁(yè),編輯于星期一:二十一點(diǎn)二分。DataFrame常用函數(shù)函數(shù)說(shuō)明DataFrame(二維ndarray)DataFrame(由數(shù)組、列表或元組組成的字典)DataFrame(NumPy的結(jié)構(gòu)化/記錄數(shù)組)DataFrame(由Series組成的字典)DataFrame(由字典組成的字典)DataFrame(字典或Series的列表)DataFrame(由列表或元組組成的列表)DataFrame(DataFrame)DataFrame(NumPy的MaskedArray)構(gòu)建DataFrameDataFrame(dict,columns=dict.index,index=[dict.columnnum])數(shù)據(jù)矩陣,還可以傳入行標(biāo)和列標(biāo)每個(gè)序列會(huì)變成DataFrame的一列。所有序列的長(zhǎng)度必須相同類似于“由數(shù)組組成的字典”每個(gè)Series會(huì)成為一列。如果沒(méi)有顯式制定索引,則各Series的索引會(huì)被合并成結(jié)果的行索引各內(nèi)層字典會(huì)成為一列。鍵會(huì)被合并成結(jié)果的行索引。各項(xiàng)將會(huì)成為DataFrame的一行。索引的并集會(huì)成為DataFrame的列標(biāo)。類似于二維ndarray沿用DataFrame類似于二維ndarray,但掩碼結(jié)果會(huì)變成NA/缺失值df.reindex([x,y,...],

fill_value=NaN,

limit)df.reindex([x,y,...],

method=NaN)df.reindex([x,y,...],

columns=[x,y,...],copy=True)返回一個(gè)適應(yīng)新索引的新對(duì)象,將缺失值填充為fill_value,最大填充量為limit返回適應(yīng)新索引的新對(duì)象,填充方式為method同時(shí)對(duì)行和列進(jìn)行重新索引,默認(rèn)復(fù)制新對(duì)象。df.drop(index,

axis=0)丟棄指定軸上的指定項(xiàng)。第五十一頁(yè),編輯于星期一:二十一點(diǎn)二分。匯總統(tǒng)計(jì)函數(shù)

df.count()df.describe()df.min()df.min()df.idxmax(axis=0,

skipna=True)df.idxmin(axis=0,

skipna=True)df.quantile(axis=0)說(shuō)明非NaN的數(shù)量一次性產(chǎn)生多個(gè)匯總統(tǒng)計(jì)最小值最大值返回含有最大值的index的Series返回含有最小值的index的Series計(jì)算樣本的分位數(shù)df.sum(axis=0,

skipna=True,

level=NaN)df.mean(axis=0,

skipna=True,

level=NaN)df.median(axis=0,

skipna=True,

level=NaN)df.mad(axis=0,

skipna=True,

level=NaN)df.var(axis=0,

skipna=True,

level=NaN)df.std(axis=0,

skipna=True,

level=NaN)df.skew(axis=0,

skipna=True,

level=NaN)df.kurt(axis=0,

skipna=True,

level=NaN)df.cumsum(axis=0,

skipna=True,

level=NaN)df.cummin(axis=0,

skipna=True,

level=NaN)df.cummax(axis=0,

skipna=True,

level=NaN)df.cumprod(axis=0,

skipna=True,

level=NaN)df.diff(axis=0)df.pct_change(axis=0)返回一個(gè)含有求和小計(jì)的Series返回一個(gè)含有平均值的Series返回一個(gè)含有算術(shù)中位數(shù)的Series返回一個(gè)根據(jù)平均值計(jì)算平均絕對(duì)離差的Series返回一個(gè)方差的Series返回一個(gè)標(biāo)準(zhǔn)差的Series返回樣本值的偏度(三階距)返回樣本值的峰度(四階距)返回樣本的累計(jì)和返回樣本的累計(jì)最大值返回樣本的累計(jì)最小值返回樣本的累計(jì)積返回樣本的一階差分返回樣本的百分比數(shù)變化第五十二頁(yè),編輯于星期一:二十一點(diǎn)二分。排序函數(shù)說(shuō)明df.sort_index(axis=0,

ascending=True)df.sort_index(by=[a,b,...])根據(jù)索引排序計(jì)算函數(shù)說(shuō)明df.add(df2,

fill_value=NaN,

axist=1)df.sub(df2,

fill_value=NaN,

axist=1)df.div(df2,

fill_value=NaN,

axist=1)df.mul(df2,

fill_value=NaN,

axist=1)元素級(jí)相加,對(duì)齊時(shí)找不到元素默認(rèn)用fill_value元素級(jí)相減,對(duì)齊時(shí)找不到元素默認(rèn)用fill_value元素級(jí)相除,對(duì)齊時(shí)找不到元素默認(rèn)用fill_value元素級(jí)相乘,對(duì)齊時(shí)找不到元素默認(rèn)用fill_valuedf.apply(f,

axis=0)將f函數(shù)應(yīng)用到由各行各列所形成的一維數(shù)組上df.applymap(f)將f函數(shù)應(yīng)用到各個(gè)元素上df.cumsum(axis=0,

skipna=True)累加,返回累加后的dataframe第五十三頁(yè),編輯于星期一:二十一點(diǎn)二分。分析步驟定義數(shù)據(jù)分析目標(biāo):明確挖掘數(shù)據(jù)的目標(biāo)和達(dá)到的效果。數(shù)據(jù)取樣:采集目標(biāo)相關(guān)樣本數(shù)據(jù)子集,確保數(shù)據(jù)的相關(guān)性、可靠性、有效性。數(shù)據(jù)探索:對(duì)樣本數(shù)據(jù)探索、審核、加工處理,保證樣本數(shù)據(jù)的質(zhì)量。數(shù)據(jù)預(yù)處理:改善數(shù)據(jù)質(zhì)量,包括數(shù)據(jù)篩選、數(shù)據(jù)變量轉(zhuǎn)換、缺失值數(shù)據(jù)處理等。挖掘建模:確定分析問(wèn)題類型(分類,聚類、關(guān)聯(lián)等),選擇相應(yīng)算法構(gòu)建模型。模型評(píng)價(jià):從建立模型中找到一個(gè)最好的模型,并應(yīng)用到實(shí)際業(yè)務(wù)中。利用python進(jìn)行數(shù)據(jù)分析第五十四頁(yè),編輯于星期一:二十一點(diǎn)二分。4.1數(shù)據(jù)探索數(shù)據(jù)質(zhì)量分析主要任務(wù)是檢查原始數(shù)據(jù)中是否存在臟數(shù)據(jù),即不符合要求,不能直接處理的數(shù)據(jù),包括缺失值分析、異常值分析、一致性分析。數(shù)據(jù)特征分析分布分析:揭示數(shù)據(jù)的分布特征和分布類型,通過(guò)繪制頻率分布表、莖葉圖等直觀分析對(duì)比分析:把兩個(gè)相互聯(lián)系的指標(biāo)進(jìn)行比較,從數(shù)量上展示和說(shuō)明研究對(duì)象規(guī)模的大小,水平的高低,速度的快慢,以及各種關(guān)系是否協(xié)調(diào)。統(tǒng)計(jì)量分析:用統(tǒng)計(jì)量指標(biāo)對(duì)定量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)描述,常從集中趨勢(shì)和離中趨勢(shì)兩個(gè)方面進(jìn)行分析。相關(guān)性分析:分析連續(xù)變量之間線性相關(guān)程度的強(qiáng)弱,并用適當(dāng)?shù)慕y(tǒng)計(jì)指標(biāo)表示出來(lái)。第五十五頁(yè),編輯于星期一:二十一點(diǎn)二分。4.2數(shù)據(jù)預(yù)處理數(shù)據(jù)清洗

刪除原始數(shù)據(jù)集中的無(wú)關(guān)數(shù)據(jù)、重復(fù)數(shù)據(jù)、平滑噪聲數(shù)據(jù)、無(wú)關(guān)數(shù)據(jù),處理缺失值和異常值。數(shù)據(jù)集成將多個(gè)數(shù)據(jù)源合并存放在一個(gè)一致的數(shù)據(jù)存儲(chǔ)(如數(shù)據(jù)倉(cāng)庫(kù))中的過(guò)程。數(shù)據(jù)變換主要是對(duì)數(shù)據(jù)進(jìn)行規(guī)范化處理,將數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)男问?,以適用于挖掘任務(wù)和算法的需要。數(shù)據(jù)規(guī)約產(chǎn)生更小但保持?jǐn)?shù)據(jù)完整性的新數(shù)據(jù)集,在規(guī)約后的數(shù)據(jù)集上進(jìn)行分析和挖掘更有效率。第五十六頁(yè),編輯于星期一:二十一點(diǎn)二分。Python主要數(shù)據(jù)預(yù)處理函數(shù)函數(shù)名interpolateunique所屬擴(kuò)展庫(kù)ScipyPandas/NumpyisnullnotnullPCArandom函數(shù)功能一維、高維數(shù)據(jù)插值去除數(shù)據(jù)中重復(fù)元素,得到單值元素列表判斷是否是空值判斷是否非空值對(duì)指標(biāo)變量矩陣進(jìn)行主成分分析生成隨機(jī)矩陣PandasPandasScikit-LearnNumpy第五十七頁(yè),編輯于星期一:二十一點(diǎn)二分。4.3挖掘建模分類與預(yù)測(cè)

分類:構(gòu)造一個(gè)分類模型,輸入樣本的屬性值,輸出對(duì)應(yīng)的類別,將每個(gè)樣本映射到預(yù)先定義好的類別預(yù)測(cè):建立兩種或兩種以上變量間相互依賴的函數(shù)模型,然后進(jìn)行預(yù)測(cè)和控制實(shí)現(xiàn)過(guò)程①

學(xué)習(xí)步,通過(guò)歸納分析訓(xùn)練樣本集來(lái)建立分類模型得到分類規(guī)則②

分類步,先用一直的測(cè)試樣本集評(píng)估分類規(guī)則的準(zhǔn)確率,如果準(zhǔn)確率是可以接受的,則使用該模型對(duì)未知類標(biāo)號(hào)的待測(cè)樣本集進(jìn)行預(yù)測(cè)第五十八頁(yè),編輯于星期一:二十一點(diǎn)二分。常用的分類與預(yù)測(cè)算法算法分析回歸分析決策樹人工神經(jīng)網(wǎng)絡(luò)貝葉斯網(wǎng)絡(luò)支持向量機(jī)算法描述回歸分析是確定去測(cè)屬性(數(shù)值型)與其他變量間相互依賴的定量關(guān)系最常用的統(tǒng)計(jì)學(xué)方法。包括線性回歸、非線性回歸、Logistic回歸、嶺回歸、主成分回歸、偏最小二乘回歸等模型決策樹采用自頂向下的遞歸方式,在內(nèi)部節(jié)點(diǎn)進(jìn)行屬性值的比較,并根據(jù)不同的屬性值從該節(jié)點(diǎn)向下分支,最終得到的葉節(jié)點(diǎn)是學(xué)習(xí)劃分的類人工神經(jīng)神經(jīng)網(wǎng)絡(luò)是一種模仿大腦神經(jīng)網(wǎng)絡(luò)和功能而建立的信息處理系統(tǒng),表示神經(jīng)網(wǎng)絡(luò)的輸入與輸出變量之間關(guān)系的模型貝葉斯網(wǎng)絡(luò)又稱信度網(wǎng)絡(luò),是Bayes方法的擴(kuò)展,是目前不確定知識(shí)表達(dá)和推理領(lǐng)域最有效的理論模型之一支持向量機(jī)是一種通過(guò)魔種非線性映射,把低緯的非線性可分轉(zhuǎn)化為高維的線性可分,在高維空間進(jìn)行線性分析的算法第五十九頁(yè),編輯于星期一:二十一點(diǎn)二分。主要回歸模型分類回歸模型名稱線性回歸算法描述對(duì)一個(gè)或多個(gè)自變量和因變量之間的線性關(guān)系進(jìn)行建??捎米钚《朔ㄇ蠼饽P拖禂?shù)非線性回歸試用條件因變量與自變量是線性關(guān)系因變量與自變量之間不都是線性關(guān)系Logistic因變量一般有1和0兩種取值嶺回歸對(duì)一個(gè)或多個(gè)自變量和因變量之間的非線性關(guān)系進(jìn)行建模。如果非線性關(guān)系可以通過(guò)簡(jiǎn)單的函數(shù)變換轉(zhuǎn)化成線性關(guān)系,用線性回歸的思想求解;如果不能轉(zhuǎn)化,用非線性最小二乘法方法求解是廣義線性回歸模型的特例,利用Logistic函數(shù)將因變量的取值范圍控制在0和1之間,表示取值為1的概率是一種改進(jìn)最小二乘估計(jì)的方法主成分回歸參與建模的自變量之間具有多重共線性參與建模的自變量之間具有多重共線性主成分回歸是根據(jù)主成分分析的思想提出來(lái),是對(duì)最小二乘法的一種改進(jìn),它是參數(shù)估計(jì)的一種有偏估計(jì)。可以消除自變量之間的多重共線性第六十頁(yè),編輯于星期一:二十一點(diǎn)二分。對(duì)某銀行在降低貸款拖欠率的數(shù)據(jù)進(jìn)行邏輯回歸建模,數(shù)據(jù)示例如下表應(yīng)用舉例一第六十一頁(yè),編輯于星期一:二十一點(diǎn)二分。Python代碼第六十二頁(yè),編輯于星期一:二十一點(diǎn)二分。運(yùn)行結(jié)果結(jié)果分析

隨機(jī)邏輯回歸剔除變量,分別剔除了x2、x8、x1、x5,最終構(gòu)建模型包含的變量為常量

x3、x4、x6、x7。在建立邏輯回歸模型時(shí),使用了默認(rèn)的閾值0.25。第六十三頁(yè),編輯于星期一:二十一點(diǎn)二分。聚類分析–在沒(méi)有給定劃分類別的情況下,根據(jù)數(shù)據(jù)相似度進(jìn)行樣本分組的一種方法。常用聚類方法類別包括的主要算法劃分方法K-Means算法、K-MEDOIDS算法、CLARANS算法層次分析法BIRCH算法、CURE算法、CHAMELEON算法基于密度的方法DBCSCAN算法、DENCLUE算法、OPTICS算法基于網(wǎng)格的方法STING算法、CLIOUE算法、WAVE——CLUSTER算法基于模型的方法統(tǒng)計(jì)學(xué)方法、神經(jīng)網(wǎng)絡(luò)方法第六十四頁(yè),編輯于星期一:二十一點(diǎn)二分。常用聚類分析算法算法名稱K-MeansK-中心點(diǎn)系統(tǒng)聚類算法描述K-均值聚類也稱為快速聚類法,在最小化誤差函數(shù)的基礎(chǔ)上將數(shù)據(jù)劃分為預(yù)定的類數(shù)K。該算

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論