版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章大數(shù)據(jù)分析與挖掘目錄Contents8.1
數(shù)據(jù)的描述性分析8.2
回歸分析8.3
分類算法簡(jiǎn)介8.4聚類算法簡(jiǎn)介8.5分布式大數(shù)據(jù)挖掘算法典型案例數(shù)據(jù)的描述性分析8.1數(shù)據(jù)的集中趨勢(shì)度量數(shù)據(jù)的離散趨勢(shì)度量數(shù)據(jù)的偏態(tài)特性度量數(shù)據(jù)相關(guān)性計(jì)算8.1
數(shù)據(jù)的描述性分析所謂數(shù)據(jù)的描述性分析方法是指用統(tǒng)計(jì)學(xué)方法,描述數(shù)據(jù)的統(tǒng)計(jì)特征量,分析數(shù)據(jù)的分布特性。
主要包括數(shù)據(jù)的集中趨勢(shì)分析(Centraltendency)、數(shù)據(jù)離散趨勢(shì)分析(Dispersiontendency)、數(shù)據(jù)的頻率分布(Frequencydistribution)等。
8.1.1數(shù)據(jù)的集中趨勢(shì)度量
1.均值(Mean)
算術(shù)平均值:計(jì)算集合中的所有數(shù)據(jù)的算術(shù)平均值。
加權(quán)平均:又稱加權(quán)算術(shù)平均,集合中每個(gè)值
與一個(gè)權(quán)值
相關(guān)聯(lián)。
截?cái)嗑担喝サ糇罡吆妥畹椭岛笥?jì)算的均值,可以抵消少數(shù)極端值的影響,例如:薪水的截?cái)嗑悼梢韵呤杖霕O端值對(duì)平均薪資的影響。
8.1.1數(shù)據(jù)的集中趨勢(shì)度量
2.中位數(shù)(Median)
中位數(shù)指的是按順序排列的一組數(shù)據(jù)中居于中間位置的數(shù),奇數(shù)個(gè)數(shù)值的中間那個(gè)值,或者是偶數(shù)個(gè)數(shù)值的中間兩個(gè)值的平均值?!纠?.1】求20個(gè)數(shù)57,55,85,24,33,49,94,2,8,51,71,30,91,6,47,50,65,43,41,7的中位數(shù)。
首先對(duì)數(shù)據(jù)從小到大排序,結(jié)果為:267824303341434749505155576571859194。中間兩個(gè)數(shù)為47和49,因此該組數(shù)據(jù)的中位數(shù)為48。
相較于均值,中位數(shù)有著更好的抗干擾性,例如,在99個(gè)年收10萬(wàn)的人中加入一個(gè)年收1000萬(wàn)的,可以把平均年收入提高到19.9萬(wàn),但這一均值實(shí)際上并沒(méi)有很好地反映出這個(gè)人群的收入特征,而中位數(shù)對(duì)這個(gè)問(wèn)題并沒(méi)有那么敏感。
8.1.1數(shù)據(jù)的集中趨勢(shì)度量
3.眾數(shù)(Mode)
眾數(shù)是指在一組數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù),即出現(xiàn)頻率最高的那個(gè)數(shù),眾數(shù)也被稱作數(shù)據(jù)的“?!保∕ode)。
下圖是對(duì)稱數(shù)據(jù)、右偏數(shù)據(jù)和左偏數(shù)據(jù)的中位數(shù)、均值和眾數(shù)位置示意圖。對(duì)稱數(shù)據(jù)、右偏數(shù)據(jù)和左偏數(shù)據(jù)的中位數(shù)、均值和眾數(shù)位置8.1.1數(shù)據(jù)的集中趨勢(shì)度量
提示:所謂左偏和右偏指的是均值相對(duì)于眾數(shù)的位置,均值在眾數(shù)左邊則為左偏,在右則為右偏。可以觀察到以下現(xiàn)象:①對(duì)稱數(shù)據(jù)的中位數(shù)、均值和眾數(shù)是重合的;②右偏態(tài)(正偏離)數(shù)據(jù)的均值位于中位數(shù)和眾數(shù)的右側(cè);③左偏態(tài)(負(fù)偏離)數(shù)據(jù)的均值位于中位數(shù)和眾數(shù)的左側(cè)。8.1.2數(shù)據(jù)的離散趨勢(shì)度量
1.方差(Variance)
在統(tǒng)計(jì)描述中,方差是集合中每個(gè)數(shù)據(jù)與均值差的平方和。
總體方差的計(jì)算公式為:
8.1.2數(shù)據(jù)的離散趨勢(shì)度量
方差的值越大說(shuō)明該數(shù)據(jù)項(xiàng)波動(dòng)越大。當(dāng)數(shù)據(jù)分布比較分散時(shí),各個(gè)數(shù)據(jù)與平均值的差的平方和較大,方差就較大;當(dāng)數(shù)據(jù)分布比較集中時(shí),各個(gè)數(shù)據(jù)與平均值差的平方和較小。
8.1.2數(shù)據(jù)的離散趨勢(shì)度量
2.四分位數(shù)(Quartile)
四分位數(shù)也稱四分位點(diǎn),將所有數(shù)值按大小順序排列并分成四等份,處于三個(gè)分割點(diǎn)位置的就是四分位數(shù),如圖所示:l第1“四分位數(shù)”(Q1),又稱“較小四分位數(shù)”,
等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字。l第2“四分位數(shù)”(Q2),又稱“中位數(shù)”,
等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字。l第3“四分位數(shù)”(Q3),又稱“較大四分位數(shù)”,
等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字。l四分位距:第三“四分位數(shù)”與第一“四分位數(shù)”的差距
8.1.2數(shù)據(jù)的離散趨勢(shì)度量25%25%25%25%
例如,有一組數(shù)據(jù):6,7,15,36,39,40,41,42,43,47,49,將其分為四等分,根據(jù)四分位數(shù)的定義可知15是第1四分位數(shù),40是第2四分位數(shù),43是第3四分位數(shù)。四分位數(shù)示意圖Q1Q2Q38.1.2數(shù)據(jù)的離散趨勢(shì)度量
3.五數(shù)概括
數(shù)據(jù)分布形狀的完整概括可以用所謂的“五數(shù)概括”來(lái)描述,包括中位數(shù)、四分位數(shù)Q1和Q3,最小和最大觀測(cè)值。五數(shù)概括通常用箱形圖(盒圖)進(jìn)行可視化表示。
箱形圖(Boxplot)又稱為盒圖,是對(duì)五數(shù)概括的可視化,數(shù)據(jù)分布用一個(gè)盒子來(lái)表示,如圖所示。箱形圖(Boxplot)示例
8.1.2數(shù)據(jù)的離散趨勢(shì)度量
在箱形圖中,盒子兩端是第一和第三“四分位數(shù)”,“中位數(shù)”在盒子里用一條線標(biāo)記出來(lái),“外邊界”是盒子外面延伸到最大值和最小值的兩條線,也稱為“胡須”。
例如,右圖是學(xué)生成績(jī)分布的箱形,可以從圖中觀察到學(xué)生的英語(yǔ)成績(jī)相對(duì)其它科目普遍較好,而數(shù)學(xué)則大部分都處于80分以下,成績(jī)集中在65~78之間。學(xué)生成績(jī)分布箱形圖示例8.1.2數(shù)據(jù)的離散趨勢(shì)度量
4.離散系數(shù)
離散系數(shù)(CoefficientofVariation)又稱變異系數(shù),樣本的變異系數(shù)是樣本標(biāo)準(zhǔn)差與樣本平均數(shù)之比:
表:成人與幼兒數(shù)據(jù)【例8.2】下表中有兩組分別代表成人和幼兒的數(shù)據(jù),用離散系數(shù)比較兩組數(shù)據(jù)的分布特性。組別數(shù)據(jù)均值標(biāo)準(zhǔn)差離散系數(shù)成人166,167,169,169,169,170,170,171,171,171,171,172,173,173,173,175,175,176,177,179171.853.330.0194幼兒67,68,69,70,70,71,71,71,72,72,72,72,72,72,73,74,75,76,76,7772.002.640.0367
8.1.2數(shù)據(jù)的離散趨勢(shì)度量
兩組數(shù)據(jù)平均值相差很大,標(biāo)準(zhǔn)差不能判斷各自數(shù)據(jù)差異的大小。但通過(guò)計(jì)算離散系數(shù)可以看出,雖然成人組的標(biāo)準(zhǔn)差大于幼兒組,但是幼兒組的離散系數(shù)明顯大于成人組,因此可以說(shuō)明,幼兒組的身高差異比成人組大。
8.1.3數(shù)據(jù)的偏態(tài)特性度量
1.偏度(Skewness)
偏度是描述分布“偏離對(duì)稱性程度”的特征數(shù),也稱為偏態(tài)系數(shù),是統(tǒng)計(jì)數(shù)據(jù)分布偏斜方向和程度的度量。
偏度被定義為三階標(biāo)準(zhǔn)中心矩:
偏度大于0為正偏態(tài)分布(也稱為右偏態(tài))。偏度小0為負(fù)偏態(tài)分布(也稱為左偏態(tài))。
8.1.3數(shù)據(jù)的偏態(tài)特性度量
2.峰度(Kurtosis)
峰度系數(shù)是用來(lái)反映頻數(shù)分布曲線頂端尖峭或扁平程度的指標(biāo)。通過(guò)對(duì)峰度系數(shù)的測(cè)量,我們能夠判定數(shù)據(jù)分布相對(duì)于正態(tài)分布而言是更陡峭還是平緩。
峰度被定義為四階標(biāo)準(zhǔn)中心矩:公式中的“-3”是為了讓正態(tài)分布數(shù)據(jù)的峰度為0。
峰度和曲線形狀示意圖
8.1.3數(shù)據(jù)的偏態(tài)特性度量【例】用Excel軟件對(duì)數(shù)據(jù)進(jìn)行“描述統(tǒng)計(jì)”
使用Excel軟件可以對(duì)很方便地對(duì)數(shù)據(jù)進(jìn)行描述性統(tǒng)計(jì),在使用該功能前,需要加載“分析工具庫(kù)“加載項(xiàng),然后在”數(shù)據(jù)“菜單的”數(shù)據(jù)分析“工具中選擇”描述統(tǒng)計(jì)“功能即可完成。Excel中進(jìn)行統(tǒng)計(jì)性描述分析的界面如下圖所示。Excel的數(shù)據(jù)描述性統(tǒng)計(jì)示意圖
8.1.4
數(shù)據(jù)相關(guān)性計(jì)算
大多數(shù)據(jù)包含了多個(gè)維度,想要分析兩個(gè)多維度數(shù)據(jù)之間的關(guān)系,可以用協(xié)方差和Pearson相關(guān)系數(shù)等方法。
例如,下表是一個(gè)班級(jí)某門課程的筆試成績(jī)和實(shí)驗(yàn)成績(jī),想要分析兩個(gè)成績(jī)之間是否有相關(guān)性(是否筆記成績(jī)較好的學(xué)生,實(shí)驗(yàn)成績(jī)也相對(duì)較好)。筆試成績(jī)41816666673810694441492558實(shí)驗(yàn)成績(jī)48978525971085878840852886表
:某課程的筆試成績(jī)與實(shí)驗(yàn)成績(jī)
8.1.4數(shù)據(jù)相關(guān)性計(jì)算
再如,有兩個(gè)時(shí)間序列數(shù)據(jù)(如圖所示),它們之間是否相關(guān)性?
使用統(tǒng)計(jì)方法分析數(shù)據(jù)之間相關(guān)性的常用方法有:協(xié)方差、皮爾遜相關(guān)系數(shù)和斯皮爾曼秩相關(guān)系數(shù)。
8.1.4數(shù)據(jù)相關(guān)性計(jì)算
1.協(xié)方差
兩個(gè)實(shí)數(shù)隨機(jī)變量X與Y的數(shù)學(xué)期望值分別為E(X)=μ與E(Y)=ν,它們之間的協(xié)方差定義為:上式也可以表示為:協(xié)方差具有以下性質(zhì):
如果兩個(gè)變量的變化趨勢(shì)一致,那么兩個(gè)變量之間的協(xié)方差就是正值。
如果兩個(gè)變量的變化趨勢(shì)相反,那么兩個(gè)變量之間的協(xié)方差就是負(fù)值。
如果X與Y是統(tǒng)計(jì)獨(dú)立的,那么二者之間的協(xié)方差就是0。但是,反過(guò)來(lái)并不成立。即如果X與Y的協(xié)方差為0,二者并不一定是統(tǒng)計(jì)獨(dú)立的。
8.1.4數(shù)據(jù)相關(guān)性計(jì)算兩個(gè)隨機(jī)變量X與Y之間的相互關(guān)系,一般有如下圖所示的3種情況:X與Y正相關(guān)時(shí),它們的分布大部分在區(qū)域(1)和(3)中,有cov(X,Y)>0。當(dāng)X與Y負(fù)相關(guān)時(shí),它們的分布大部分在區(qū)域(2)和(4)中,有cov(X,Y)<0。當(dāng)X與Y不相關(guān)時(shí),它們?cè)趨^(qū)域(1)和(3)中的分布,與在區(qū)域(2)和(4)中的分布幾乎一樣多,有cov(X,Y)=0。
8.1.4數(shù)據(jù)相關(guān)性計(jì)算2.皮爾遜相關(guān)系數(shù)
皮爾遜相關(guān)系數(shù)(Pearsoncorrelationcoefficient)也稱為簡(jiǎn)單相關(guān)系數(shù),是標(biāo)準(zhǔn)化的協(xié)方差,它的取值范圍是[-1,1]。
兩個(gè)變量之間的皮爾遜相關(guān)系數(shù)被定義為兩個(gè)變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商:
上式定義了隨機(jī)變量的總體相關(guān)系數(shù)。
8.1.4數(shù)據(jù)相關(guān)性計(jì)算
3.斯皮爾曼秩相關(guān)系數(shù)
斯皮爾曼秩相關(guān)系數(shù)(Spearmanrankcorrelationcoefficient)與皮爾遜相關(guān)系數(shù)一樣,它也可以反映兩組變量聯(lián)系的緊密程度,取值在[-1,1]之間,計(jì)算方法上也完全相同,不同的是它建立在秩次的基礎(chǔ)之上,對(duì)原始變量的分布和樣本容量的大小不作要求,屬于非參數(shù)統(tǒng)計(jì)方法,適用范圍更廣。設(shè)R(r1,r2,…,rn)表示X在(x1,x2,…,xn)中的秩,Q(q1,q2,…,qn)表示Y在(y1,y2,…,yn)中的秩,如果X和Y具有同步性,那么R和Q也會(huì)表現(xiàn)出同步性,反之亦然,將其代入皮爾遜相關(guān)系數(shù)的計(jì)算公式,就得到秩之間的一致性,也就是Spearman相關(guān)系數(shù)。斯皮爾曼秩相關(guān)系數(shù)的定義為:
回歸分析8.2一元線性回歸(LinearRegression)其他類型的回歸模型
8.2
回歸分析
所謂回歸分析(RegressionAnalysis),是在現(xiàn)有觀察數(shù)據(jù)的基礎(chǔ)上,利用數(shù)理統(tǒng)計(jì)方法建立因變量與自變量之間的回歸關(guān)系函數(shù)表達(dá)式(稱回歸方程式)。這種技術(shù)通常用于預(yù)測(cè)分析、時(shí)間序列模型以及發(fā)現(xiàn)變量之間的因果關(guān)系。
“回歸”一詞是由英國(guó)著名統(tǒng)計(jì)學(xué)家弗朗西斯·高爾頓(FrancisGalton,1822—1911)引入的,他是最先應(yīng)用統(tǒng)計(jì)方法研究?jī)蓚€(gè)變量之間關(guān)系問(wèn)題的人。弗朗西斯·高爾頓對(duì)父母身高與兒女身高之間的關(guān)系很感興趣,并致力于此方面的研究。高爾頓發(fā)現(xiàn),雖然有一個(gè)趨勢(shì):父母高,兒女也高;父母矮,兒女也矮,但從平均意義上說(shuō),盡管父母雙親都異常高或異常矮,兒女的身高并非也普遍地異常高或異常矮,而是具有“回歸“于人口總平均身高的趨勢(shì)。
8.2
回歸分析
回歸分析中,當(dāng)研究的因果關(guān)系只涉及因變量和一個(gè)自變量時(shí),叫做一元回歸分析;當(dāng)研究的因果關(guān)系涉及因變量和兩個(gè)或兩個(gè)以上自變量時(shí),叫做多元回歸分析。此外,回歸分析中,又依據(jù)描述自變量與因變量之間因果關(guān)系的函數(shù)表達(dá)式是線性的還是非線性的,分為線性回歸分析和非線性回歸分析。8.2.1一元線性回歸
1.一元線性回歸模型
回歸模型是描述因變量如何依賴自變量和隨機(jī)誤差項(xiàng)的方程,線性回歸使用最佳的擬合直線(也就是回歸線)建立因變量(Y)和一個(gè)或多個(gè)自變量(X)之間的聯(lián)系。右圖是一元線性回歸示意圖。
一元線性回歸示意圖一元線性回歸模型只涉及一個(gè)自變量,可表述為:
8.2.1一元線性回歸
2.最小二乘估計(jì)法
最小二乘估計(jì)是求解線性回歸方程的最常用方法,最小二乘原理就是所選的樣本回歸函數(shù)使得所有Y的估計(jì)值與真實(shí)值差的平方和最小。
首先我們引入樣本回歸函數(shù)和殘差等相關(guān)概念。樣本回歸函數(shù)(sampleregressionfunction,SRF)是根據(jù)樣本數(shù)據(jù)擬合的回歸方程,表示為:殘差指的是的真實(shí)值與估計(jì)值之差:
普通最小二乘法(ordinaryleastsquares,OLS),即選擇參數(shù)和,使得全部觀察值的殘差平方和最?。?/p>
8.2.1一元線性回歸
求解聯(lián)立方程(損失函數(shù)對(duì)求偏導(dǎo)):
解得:求得回歸方程后,給定樣本以外的自變量的觀測(cè)(X),就可以得到被因變量的預(yù)測(cè)值(Y)。8.2.1一元線性回歸【例】某公司廣告費(fèi)與銷售額的一元線性回歸分析有一個(gè)公司每月的廣告費(fèi)用和銷售額如表所示:表
:某公司每月的廣告費(fèi)用和銷售額廣告費(fèi)(萬(wàn)元)X489871261069銷售額(萬(wàn)元)Y9202215172318251020如果我們把廣告費(fèi)和銷售額畫在二維坐標(biāo)內(nèi),就能夠得到一個(gè)散點(diǎn)圖,如果想探索廣告費(fèi)和銷售額的關(guān)系,可以利用一元線性回歸做出一條擬合直線方程,結(jié)果(取小數(shù)點(diǎn)后4位)為:y=2.2516+1.9808*x樣本數(shù)據(jù)點(diǎn)與回歸直線的圖:樣本數(shù)據(jù)點(diǎn)與回歸直線圖8.2.2其他類型的回歸模型一元線性回歸的Python語(yǔ)言參考代碼如下:importpandasaspdimportnumpyasnpfrommatplotlibimportpyplotaspltfromsklearn.linear_modelimportLinearRegressiondata=pd.read_csv('廣告費(fèi)與銷售額.csv')Model=LinearRegression()x=data[['廣告費(fèi)']]y=data[['銷售額']]Model.fit(x,y)#訓(xùn)練模型beta0=Mercept_[0]print('截距=',beta0)beta1=Model.coef_[0][0]print('斜率=',beta1)#畫散點(diǎn)圖plt.rcParams['font.family']='SimHei'fig=plt.figure(dpi=300)ax=fig.add_subplot()ax.scatter(x,y)X=np.linspace(0,16,100)Y=beta0+beta1*Xax.scatter(X,Y,s=1,color='black')ax.set_xlabel('廣告費(fèi)(萬(wàn)元)',fontproperties='SimHei',fontsize=12)ax.set_ylabel('銷售額(萬(wàn)元)',fontproperties='SimHei',fontsize=12)plt.show()8.2.2其他類型的回歸模型1.多元回歸模型
在回歸分析中,如果有兩個(gè)或兩個(gè)以上的自變量,就稱為多元回歸,多元線性回歸模型可以表示為:
8.2.2其他類型的回歸模型2.非線性回歸如果回歸模型的因變量是自變量的一次以上函數(shù)形式,回歸規(guī)律在圖形上表現(xiàn)為形態(tài)各異的各種曲線(如圖所示),稱為非線性回歸。非線性回歸問(wèn)題示意圖8.2.2
其他類型的回歸模型1確定變量間的依存關(guān)系,根據(jù)實(shí)際資料做散點(diǎn)圖2按照?qǐng)D形的分布形狀選擇合適的模型(回歸函數(shù)類型),常見(jiàn)的函數(shù)有多項(xiàng)式回歸、雙曲線、冪函數(shù)、二次曲線和對(duì)數(shù)函數(shù)等;3用某種優(yōu)化方法確定回歸模型中的未知參數(shù)。求解非線性回歸問(wèn)題需要預(yù)先選擇適配的曲線類型,基本方法為:確定變量間的依存關(guān)系,根據(jù)實(shí)際資料做散點(diǎn)圖按照?qǐng)D形的分布形狀選擇合適的模型(回歸函數(shù)類型),常見(jiàn)的函數(shù)有多項(xiàng)式回歸、雙曲線、冪函數(shù)、二次曲線和對(duì)數(shù)函數(shù)等;用某種優(yōu)化方法確定回歸模型中的未知參數(shù)。
分類算法簡(jiǎn)介8.3邏輯回歸近鄰分類算法決策樹(shù)算法8.3.1邏輯回歸
邏輯回歸(Logisticregression)屬于分類算法,用于估計(jì)某種事物的可能性。邏輯回歸是當(dāng)前常用的一種機(jī)器學(xué)習(xí)方法,例如在許多深度學(xué)習(xí)模型中,為了判決樣本的類別,在模型的最后通常會(huì)加上一個(gè)邏輯回歸層。以下介紹邏輯回歸的基本思想。
原始的線性回歸方程可以表示為:
為了進(jìn)行邏輯判斷(結(jié)果為0或1),應(yīng)用logistic函數(shù)(如:sigmoid函數(shù))將線性回歸的輸出壓縮到0和1之間:
8.3.1邏輯回歸
例如,對(duì)于二分類問(wèn)題,假設(shè)樣本是{x,y},y是0或者1,表示負(fù)類(negative)或者正類(positive),樣本x是m維特征向量。那么樣本x屬于正類,也就是y=1的“概率”可以通過(guò)下面的邏輯函數(shù)來(lái)表示:判別的準(zhǔn)則是:
把樣本分入{y=1};否則分入{y=0}。也就是說(shuō),如果樣本x屬于正類的概率大于0.5,那么就判定它是正類,否則就是負(fù)類。8.3.1邏輯回歸
8.3.1邏輯回歸【例】判斷客戶拖欠貸款可能性的邏輯回歸分析模型。
現(xiàn)有如下表所示的銀行貸款拖欠率數(shù)據(jù)文件bankloan.xls,要求建立分類模型,預(yù)測(cè)客戶是否會(huì)拖欠貸款。表
:
銀行貸款拖欠率數(shù)據(jù)性別年齡教育工齡收入房產(chǎn)面積負(fù)債率信用卡負(fù)債其他負(fù)債違約141317176.00137.009.3011.365.01102711031.00288.0017.301.364.00014011555.00226.005.500.862.1708.3.1邏輯回歸用Python的機(jī)器學(xué)習(xí)庫(kù)sklearn建立邏輯回歸模型,參考代碼如下:8.3.1邏輯回歸程序的輸出結(jié)果:模型的平均準(zhǔn)確度為:0.81均方誤差為:0.19準(zhǔn)確率:0.8085714285714285[0.792857140.764285710.857142860.807142860.82142857]8.3.2近鄰分類算法
近鄰分類算法,或稱為K最近鄰(KNN,K-NearestNeighbor)分類算法是數(shù)據(jù)挖掘分類技術(shù)中最經(jīng)典的方法之一。該算法由于簡(jiǎn)單有效,已經(jīng)被廣泛應(yīng)用于眾多領(lǐng)域,并派生出了各種改進(jìn)版本,例如基于距離權(quán)重的KNN算法、基于特征權(quán)重的KNN算法和基于代表點(diǎn)的KNN算法(如KNNModel)等。8.3.2近鄰分類算法
1.kNN的核心思想
對(duì)于一個(gè)需要預(yù)測(cè)的輸入向量x,我們只需要在訓(xùn)練數(shù)據(jù)集中尋找k個(gè)與向量x最近的向量的集合,然后把x的類別預(yù)測(cè)為這k個(gè)樣本中類別數(shù)最多的那一類。KNN算法的流程如下:8.3.2近鄰分類算法
2.k值的設(shè)定
k值的設(shè)定在KNN算法中十分關(guān)鍵,取值過(guò)大易造成欠擬合效果,取值過(guò)小易造成過(guò)擬合效果。例如,在圖中,綠色圓要被決定賦予哪個(gè)類,是紅色三角形還是藍(lán)色四方形?如果k=3,由于紅色三角形所占比例為2/3,綠色圓將被賦予紅色三角形那個(gè)類,如果k=5,由于藍(lán)色四方形比例為3/5,因此綠色圓被賦予藍(lán)色四方形類。k值對(duì)近鄰分類結(jié)果的影響8.3.2近鄰分類算法
為了確定合適的k值,可以通過(guò)交叉驗(yàn)證測(cè)試法,從選取一個(gè)較小的k值開(kāi)始,不斷增加k的值,然后計(jì)算驗(yàn)證集合的方差,最終找到一個(gè)比較合適的k值。在圖所示的k值與分類錯(cuò)誤率的關(guān)系圖中,可以看出選擇k=10,可以讓分類效果最好。用交叉驗(yàn)證法選擇k值示意圖8.3.2近鄰分類算法
【例】用交叉驗(yàn)證法尋找KNN分類算法的最優(yōu)k值鳶尾花數(shù)據(jù)集Iris是一個(gè)經(jīng)典的數(shù)據(jù)集,該數(shù)據(jù)集包含3類共150條記錄,每類各有50個(gè)樣本,每個(gè)樣本都有4項(xiàng)屬性:sepallength、spalwidth、petallength和petalwidth(花萼長(zhǎng)度、花萼寬度、花瓣長(zhǎng)度、花瓣寬度),可以通過(guò)這4個(gè)特征預(yù)測(cè)鳶尾花卉屬于(iris-setosa,iris-versicolour,iris-virginica)中的哪一品種。右圖是一個(gè)鳶尾花的圖例。鳶尾花圖例8.3.2近鄰分類算法本例題對(duì)鳶尾花數(shù)據(jù)集用交叉驗(yàn)證法確定KNN算法的最優(yōu)k值,相關(guān)的Python語(yǔ)言參考代碼如下:8.3.2近鄰分類算法
根據(jù)本例題Python程序運(yùn)行的如圖所示,x軸為k值,y軸為分類精度accuracy??梢钥闯?,用KNN算法對(duì)鳶尾花數(shù)據(jù)集iris進(jìn)行分類,取k=12可以得到最好的分類精度。kNN算法運(yùn)行結(jié)果示意圖8.3.3決策樹(shù)算法
決策樹(shù)算法通過(guò)訓(xùn)練數(shù)據(jù)構(gòu)建決策樹(shù),對(duì)未知的數(shù)據(jù)進(jìn)行分類。決策樹(shù)的每個(gè)內(nèi)部節(jié)點(diǎn)表示在一個(gè)屬性(attribute)上的測(cè)試,每個(gè)分枝代表該測(cè)試的一個(gè)輸出,而每個(gè)樹(shù)葉結(jié)點(diǎn)存放著一個(gè)類標(biāo)號(hào)。
1.信息熵的性質(zhì)
變量的不確定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。隨機(jī)變量的分布越接近均勻分布,其離散程度越大,熵值則越高。圖是信息熵性質(zhì)示意圖。信息熵性質(zhì)示意圖8.3.3決策樹(shù)算法8.3.3決策樹(shù)算法2.信息增益
信息增益是針對(duì)一個(gè)屬性而言的,待分類的集合的熵和選定某個(gè)屬性的條件熵之差。
舉例說(shuō)明如下:
下表是描述天氣預(yù)報(bào)與是否出去打網(wǎng)球的預(yù)測(cè)數(shù)據(jù),該數(shù)據(jù)集包含4個(gè)屬性:Outlook、Temperature、Humidity和Windy,學(xué)習(xí)目標(biāo)是play或者notplay。表中一共14個(gè)樣例,包括9個(gè)正例和5個(gè)負(fù)例。OutlookTemperatureHumidityWindyPlay?(類別)overcastmildhightrueyesovercasthotnormalfalseyesrainmildhightruenorainmildhighfalseyesraincoolnormalfalseyesraincoolnormaltruenoovercastcoolnormaltrueyessunnymildhighfalsenosunnycoolnormalfalseyesrainmildnormalfalseyesSunnymildnormalfalseyessunnyhothighfalsenosunnyhothightruenoovercasthothighfalseyes表:天氣預(yù)報(bào)對(duì)打網(wǎng)球決策影響數(shù)據(jù)集8.3.3決策樹(shù)算法8.3.3決策樹(shù)算法8.3.3決策樹(shù)算法1.ID3算法的劃分屬性選擇策略ID3算法在決策樹(shù)的每一個(gè)非葉子結(jié)點(diǎn)劃分之前,先計(jì)算每一個(gè)屬性所帶來(lái)的信息增益,選擇最大信息增益的屬性來(lái)劃分,因?yàn)樾畔⒃鲆嬖酱螅瑓^(qū)分樣本的能力就越強(qiáng),越具有代表性。
4.ID3算法的缺點(diǎn)和改進(jìn)
ID3的缺點(diǎn)是信息增益偏向取值較多的屬性。其原因是當(dāng)某個(gè)屬性的取值較多時(shí),根據(jù)此特征劃分更容易得到確定性更強(qiáng)的子集劃分結(jié)果,因此劃分之后的熵更低,則信息增益更大,因此信息增益比較偏向取值較多的屬性。8.3.3決策樹(shù)算法
其中,t代表給定的節(jié)點(diǎn),i代表標(biāo)簽的任意分類,p(i|t)
代表標(biāo)簽分類i在節(jié)點(diǎn)t上所占的比例。
CART分類樹(shù)算法每次僅對(duì)某個(gè)特征(離散屬性)的值進(jìn)行二分,因此CART分類樹(shù)算法建立起來(lái)的是二叉樹(shù),而不是多叉樹(shù)。
對(duì)于連續(xù)屬性怎么做?8.3.3決策樹(shù)算法
CART算法用Gini指數(shù)作為劃分屬性度量:采用基尼指數(shù)(Giniindex)來(lái)度量信息不純度,選擇基尼指數(shù)最小的作為節(jié)點(diǎn)特征(基尼系數(shù)介于0-1之間,總體樣本包含的類別越雜亂,Gini指數(shù)就越大)。基尼系數(shù)定義為:
聚類算法簡(jiǎn)介8.4主要的聚類算法類型聚類質(zhì)量度量指標(biāo)決策樹(shù)算法K-Means算法8.4
聚類算法簡(jiǎn)介
聚類(Clustering)的目的是把大型數(shù)據(jù)劃分成不同的簇,它所針對(duì)的是無(wú)標(biāo)簽類別的數(shù)據(jù),因此聚類屬于無(wú)監(jiān)督學(xué)習(xí)類型。所謂“簇”(Cluster),是指數(shù)據(jù)對(duì)象的集合,同一簇中的對(duì)象之間彼此相似,不同簇之間的對(duì)象相異。下圖是聚類算法的示意圖。
聚類算法示意圖8.4
聚類算法簡(jiǎn)介
聚類有非常廣泛的應(yīng)用場(chǎng)景,例如:客戶細(xì)分:發(fā)現(xiàn)顧客中獨(dú)特的群組,然后利用他們的特性發(fā)展目標(biāo)營(yíng)銷項(xiàng)目。土地利用:在土地觀測(cè)數(shù)據(jù)庫(kù)中發(fā)現(xiàn)相似的區(qū)域。保險(xiǎn):識(shí)別平均索賠額度較高的機(jī)動(dòng)車輛保險(xiǎn)客戶群組。網(wǎng)絡(luò)社區(qū)發(fā)現(xiàn):運(yùn)用聚類算法發(fā)現(xiàn)復(fù)雜網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),如圖所示聚類算法示意圖8.4.1主要的聚類算法類型 劃分聚類方法(partitioningmethods):給定一個(gè)有n個(gè)對(duì)象的數(shù)據(jù)集,劃分聚類技術(shù)將構(gòu)造數(shù)據(jù)k個(gè)劃分(kn),每一個(gè)劃分就代表一個(gè)簇。并要求每一個(gè)簇至少包含一個(gè)對(duì)象,每一個(gè)對(duì)象屬于且僅屬于一個(gè)簇。代表算法:K-Means、K-medoids和CLARANS等算法。凝聚的層次聚類:一種自底向上的策略,首先將每個(gè)對(duì)象作為一個(gè)簇,然后合并這些原子簇為越來(lái)越大的簇,直到某個(gè)終結(jié)條件被滿足。分裂的層次聚類:采用自頂向下的策略,它首先將所有對(duì)象置于一個(gè)簇中,然后逐漸細(xì)分為越來(lái)越小的簇,直到達(dá)到了某個(gè)終結(jié)條件。代表算法:BRICH、CURE和ROCK等算法?;诿芏鹊姆椒?density-basedmethods):密度聚類方法的指導(dǎo)思想是,只要一個(gè)區(qū)域中的點(diǎn)的密度大于某個(gè)域值,就把它加到與之相近的聚類中去。這類算法能克服基于距離的算法只能發(fā)現(xiàn)“類圓形”的聚類的缺點(diǎn),可發(fā)現(xiàn)任意形狀的聚類,且對(duì)噪聲數(shù)據(jù)不敏感。代表算法:DBSCAN、OPTICS和DENCLUE等算法?;诰W(wǎng)格的方法(grid-basedmethods):
該方法是一種使用多分辨率的網(wǎng)格數(shù)據(jù)結(jié)構(gòu)。它將對(duì)象空間量化為有限數(shù)目的單元,這些單元形成了網(wǎng)格結(jié)構(gòu),所有的聚類操作都在該結(jié)構(gòu)上進(jìn)行。
代表算法:CLIQUE、STING等算法。目前主要的聚類分析算法可以分為四大類型:8.4.1主要的聚類算法類型
下圖是目前常見(jiàn)的聚類方法和典型代表性算法的歸類和總結(jié),供讀者參考。
8.4.2聚類質(zhì)量度量指標(biāo)
好的聚類方法需要產(chǎn)生高質(zhì)量的聚類結(jié)果,所生成的簇必須滿足:高的內(nèi)部相似度(簇內(nèi)越緊密越好)低的外部相似度(簇間越分離越好)
簇內(nèi)距離最小化
簇間距離最大化
聚類算法目標(biāo)示意圖8.4.2聚類質(zhì)量度量指標(biāo)
常用的聚類質(zhì)量度量指標(biāo)有:
(1)Compactness(緊密性)(CP)以簇內(nèi)誤差的平方和(SumoftheSquaredError,SSE)作為度量標(biāo)準(zhǔn)(計(jì)算每一個(gè)類各點(diǎn)到聚類中心的距離),越小意味著類內(nèi)聚類距離越近。缺點(diǎn):沒(méi)有考慮類間效果。8.4.2聚類質(zhì)量度量指標(biāo)
(2)Separation(間隔性)(SP)
計(jì)算各聚類中心兩兩之間平均距離,越大意味著類間聚類距離越遠(yuǎn)。缺點(diǎn):沒(méi)有考慮類內(nèi)效果。
(3)Davies-BouldinIndex(戴維森堡丁指數(shù),分類適確性指標(biāo))(DBI)
計(jì)算任意兩類別的CP(緊密性)指標(biāo)之和除以兩聚類中心距離求最大值,DB越小意味著類內(nèi)距離越小同時(shí)類間距離越大。8.4.2聚類質(zhì)量度量指標(biāo)
(4)DunnValidityIndex(鄧恩指數(shù))(DVI)
計(jì)算任意兩個(gè)簇元素的最短距離(類間)除以任意簇中的最大距離(類內(nèi)),越大意味著類間距離越大同時(shí)類內(nèi)距離越小。
8.4.3
K-Means算法
K-Means算法的每個(gè)簇的中心由簇中對(duì)象的平均值表示所以稱之為k均值聚類算法。該算法初始確定K個(gè)簇中心,然后把每個(gè)點(diǎn)歸類到其最近的簇中心,然后重新計(jì)算新的簇中心,通過(guò)迭代的方法不斷更新簇中心,其基本流程如圖所示。
K-Means算法流程示意圖8.4.3
K-Means算法
1.K-Means算法的基本流程K-Means算法的基本流程如下:算法名稱:K-menas輸入:k:簇?cái)?shù)目,D:包含n個(gè)樣本的數(shù)據(jù)集。輸出:簇中心集合。算法流程:Step1:從數(shù)據(jù)集中隨機(jī)取k個(gè)對(duì)象,作為k個(gè)簇的初始聚類中心。Step2:計(jì)算剩下的對(duì)象到k個(gè)簇中心的相似度,將這些對(duì)象分別劃分到相似度最高的簇。Step3:根據(jù)聚類結(jié)果,更新k個(gè)簇的中心,計(jì)算方法是取簇中所有對(duì)象各自維度的算術(shù)平均值。Step4:將數(shù)據(jù)集中全部元素按照新的中心重新聚類。Step5:達(dá)到算法停止條件,轉(zhuǎn)至步驟6;否則轉(zhuǎn)至步驟3。Step6:輸出聚類結(jié)果。8.4.3
K-Means算法
K-mean算法的停止條件可以有多種,例如:設(shè)定迭代次數(shù)聚類中心不再變化前后兩次聚類結(jié)果的目標(biāo)函數(shù)變化很小(如采用聚類質(zhì)量度量指標(biāo))
例如,度量標(biāo)準(zhǔn)采用緊密性指標(biāo)CP,設(shè)迭代次數(shù)為t,給定一個(gè)很小的正數(shù),如果前后兩次迭代結(jié)果
,
,
則算法結(jié)束;否則t=t+1,繼續(xù)執(zhí)行算法。8.4.3
K-Means算法
2.K-Means算法的優(yōu)缺點(diǎn)設(shè)定迭代次數(shù)
K-Means算法的優(yōu)點(diǎn)是效率相對(duì)較高,其時(shí)間復(fù)雜度為O(tkn),其中n是樣本數(shù),k是類簇?cái)?shù),t是迭代次數(shù),通常情況下k,t<<n。K-Means算法的不足之處主要表現(xiàn)在:只有當(dāng)數(shù)據(jù)樣本的均值有定義的情況下才能使用必須事先給定簇的數(shù)量k不能處理噪聲和離群點(diǎn)不適合于發(fā)現(xiàn)非凸形狀的簇流形(manifold)
流形(manifold)數(shù)據(jù)的聚類示意圖對(duì)于如右圖所示的流形(manifold)數(shù)據(jù),K-Means算法的效果就很差。8.4.3
K-Means算法
3.K-Means算法的改進(jìn)
對(duì)于K-Means算法,k個(gè)初始化的簇中心的選擇對(duì)最后的聚類結(jié)果和運(yùn)行時(shí)間都有很大的影響,因此需要選擇合適的k個(gè)簇中心。如果僅僅是完全隨機(jī)的選擇,有可能導(dǎo)致算法收斂很慢。
K-Means++算法就是對(duì)K-Means隨機(jī)初始化質(zhì)心的方法的優(yōu)化。
K-Means++的對(duì)于初始化質(zhì)心的優(yōu)化策略很簡(jiǎn)單有效:
a)
從輸入的數(shù)據(jù)集合中隨機(jī)選擇一個(gè)樣本作為第一個(gè)聚類中心
b)對(duì)于數(shù)據(jù)集中的每一個(gè)點(diǎn),計(jì)算它與已選擇的簇中心中最近的距離只有當(dāng)數(shù)據(jù)樣本的均值有定義的情況下才能使用8.4.3
K-Means算法
3.K-Means算法的改進(jìn)
對(duì)于K-Means算法,k個(gè)初始化的簇中心的選擇對(duì)最后的聚類結(jié)果和運(yùn)行時(shí)間都有很大的影響,因此需要選擇合適的k個(gè)簇中心。如果僅僅是完全隨機(jī)的選擇,有可能導(dǎo)致算法收斂很慢。K-Means++算法就是對(duì)K-Means隨機(jī)初始化質(zhì)心的方法的優(yōu)化。K-Means++的對(duì)于初始化質(zhì)心的優(yōu)化策略很簡(jiǎn)單有效:a)
從輸入的數(shù)據(jù)集合中隨機(jī)選擇一個(gè)樣本作為第一個(gè)聚類中心b)對(duì)于數(shù)據(jù)集中的每一個(gè)點(diǎn),計(jì)算它與已選擇的簇中心中最近的距離只有當(dāng)數(shù)據(jù)樣本的均值有定義的情況下才能使用8.4.3
K-Means算法
c)選擇一個(gè)新的數(shù)據(jù)點(diǎn)作為新的簇中心,選擇的原則是D(x)較大的點(diǎn),被選取作為聚類中心的概率較大d)重復(fù)b和c直到選擇出k個(gè)聚類質(zhì)心e)利用這k個(gè)質(zhì)心來(lái)作為初始化質(zhì)心去運(yùn)行標(biāo)準(zhǔn)的K-Means算法8.4.3
K-Means算法
(2)確定K值的方法
“肘”方法(Elbowmethod)是常用的一種確定K值的方法,它采用的核心指標(biāo)是SSE
(sumofthesquarederrors,誤差平方和),選擇指標(biāo)突然變化的點(diǎn)作為K值。下圖是“肘”方法的示意圖。
當(dāng)選擇的k值小于真正的類別數(shù)時(shí),k每增加1,代價(jià)函數(shù)(CostFunction)的值就會(huì)大幅的減?。欢?dāng)選擇的k值大于真正的類別數(shù)時(shí),k每增加1,代價(jià)函數(shù)值的變化就不會(huì)那么明顯。因此,正確的k值就會(huì)在這個(gè)轉(zhuǎn)折點(diǎn),如圖
所示(k值可以取為3)
“肘”方法示意圖
分布式大數(shù)據(jù)挖掘算法典型案例8.5主要的聚類算法類型聚類質(zhì)量度量指標(biāo)決策樹(shù)算法K-Means算法8.5
分布式大數(shù)據(jù)挖掘算法典型案例
將傳統(tǒng)的數(shù)據(jù)挖掘算法應(yīng)用于大數(shù)據(jù)時(shí),由于數(shù)據(jù)量的劇增,使得計(jì)算時(shí)間和對(duì)內(nèi)存空間的要求非常巨大,通常難以正常執(zhí)行。為了解決這樣的困境,分布式計(jì)算模型的引入就成為一種必然的選擇。分布式計(jì)算將應(yīng)用分解成許多小部分,分配給多臺(tái)計(jì)算機(jī)協(xié)作處理,這樣可以節(jié)約整體計(jì)算時(shí)間,大大提高計(jì)算效率。
Hadoop所提供的MapReduce計(jì)算模型能夠?qū)⒂?jì)算任務(wù)分配到集群中的多臺(tái)服務(wù)上執(zhí)行,每臺(tái)服務(wù)器上的子任務(wù)可以從本地讀取數(shù)據(jù)完成計(jì)算子任務(wù),最后將中間結(jié)果進(jìn)行合并計(jì)算。因此,分布式存儲(chǔ)在集群中的大數(shù)據(jù)就不必讀取到同一個(gè)節(jié)點(diǎn)進(jìn)行集中處理,大大節(jié)約了數(shù)據(jù)傳輸量,并且可以協(xié)同集群中的多臺(tái)服務(wù)器共同完成計(jì)算任務(wù),減小了計(jì)算時(shí)間。
8.5
分布式大數(shù)據(jù)挖掘算法典型案例
MapReduce能夠解決的問(wèn)題有一個(gè)共同特點(diǎn):任務(wù)可以被分解為多個(gè)子問(wèn)題,且這些子問(wèn)題相對(duì)獨(dú)立,可以并行處理這些子問(wèn)題。在實(shí)際應(yīng)用中,這類問(wèn)題非常多,在谷歌的相關(guān)論文中提到了MapReduce的一些典型應(yīng)用,包括分布式grep、URL訪問(wèn)頻率統(tǒng)計(jì)、Web連接圖反轉(zhuǎn)、倒排索引構(gòu)建、分布式排序等問(wèn)題。
8.5
分布式大數(shù)據(jù)挖掘算法典型案例
Mahout是Apache的一個(gè)開(kāi)源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開(kāi)發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序,并且Mahout還提供了對(duì)ApacheHadoop的支持,把諸多經(jīng)典的算法轉(zhuǎn)換到MapReduce計(jì)算框架下,大大提高了算法可處理的數(shù)據(jù)量和處理性能,使這些算法可以更高效的運(yùn)行在分布式環(huán)境中。Mahout中實(shí)現(xiàn)的主要算法在下表中列出。8.5
分布式大數(shù)據(jù)挖掘算法典型案例8.5分布式大數(shù)據(jù)挖掘算法典型案例
Mahout最大的優(yōu)點(diǎn)就是基于hadoop實(shí)現(xiàn),把很多以前運(yùn)行于單機(jī)上的算法,轉(zhuǎn)化為了MapReduce模式,這樣大大提升了算法可處理的數(shù)據(jù)量和處理性能。
從Mahout所實(shí)現(xiàn)的MapReduce型算法可以看出,許多經(jīng)典的數(shù)據(jù)挖掘算法可以被改造成分布式算法在Hadoop平臺(tái)上執(zhí)行,但要求這些算法在執(zhí)行過(guò)程劃能夠被劃分成多個(gè)相互獨(dú)立的子任務(wù)并行執(zhí)行。
8.5.1基于MapReduce的K-Means聚類算法
接下來(lái)介紹如何運(yùn)用Python語(yǔ)言,將傳統(tǒng)聚類算法K-Means改造成基于MapReduce計(jì)算模型的分布式算法,與大量現(xiàn)有的教材所運(yùn)用的Java語(yǔ)言實(shí)現(xiàn)方法相比,本書的內(nèi)容給出了分布式大數(shù)據(jù)挖掘算法的Python實(shí)現(xiàn)方法,更方便于熟悉Python語(yǔ)言但對(duì)Java語(yǔ)言不太了解的讀者學(xué)習(xí)。
8.5.1
基于MapReduce的K-Means聚類算法
K-Means之所以能用MapReduce進(jìn)行分布式計(jì)算,是因?yàn)镵-Means算法中求簇質(zhì)心的過(guò)程可以并行計(jì)算,即可以在各個(gè)節(jié)點(diǎn)計(jì)算每個(gè)簇中所有樣本的累加和以及對(duì)應(yīng)的樣本數(shù),然后再把各結(jié)點(diǎn)數(shù)據(jù)匯總到中心結(jié)點(diǎn)求平均值,就得到新的簇質(zhì)心。
1.設(shè)計(jì)思路
基于MapReduce的K-Means算法(簡(jiǎn)稱為MRK-Means)需要設(shè)計(jì)三個(gè)階段的MapReduce任務(wù):
(1)Map階段輸入:初始的K個(gè)簇中心,從數(shù)據(jù)集中讀取所有樣本處理:將每個(gè)樣本分配到每個(gè)最近的簇中心輸出:<Key,Value>序列:<簇編號(hào),樣本>8.5.1基于MapReduce的K-Means聚類算法
【例】MRK-Means算法各階段數(shù)據(jù)示例
假設(shè)K=2,d=3(屬性數(shù)),初始兩個(gè)簇中心為1:(0,0,0)和2:(2,2,2)。樣本x1的坐標(biāo)為(1.8,2.1,1.9),x2的坐標(biāo)為(0.1,0.3,0.9),x3的坐標(biāo)為(2.1,2.3,1.9)。
顯然x1和x3與第2個(gè)簇中心距離較近,x2與第1個(gè)簇中心距離較近,則Map階段輸出的<key,value>序列為:<2
1.8,2.1,1.9><1
0.1,0.3,0.9><2
2.1,2.3,1.9>8.5.1基于MapReduce的K-Means聚類算法
(2)Combine階段
每個(gè)Map任務(wù)完成之后,用Combine去合并同一個(gè)Map任務(wù)的中間結(jié)果,在Combine函數(shù)中,把屬于相同簇的values求和。
輸入:Map階段的輸出結(jié)果(<key,value>序列)
處理:將同屬于相同簇編號(hào)的values求和。
輸出:<Key,Value,num>形式的序列:<簇編號(hào),values的累加和,樣本數(shù)>根據(jù)【例8.8】Map階段的輸出結(jié)果,Combine階段的輸出為:<2
3.9,4.4,3.8
2><1
0.1,0.3,0.9
1>8.5.1基于MapReduce的K-Means聚類算法
(3)Reduce階段
Reduce階段將每個(gè)結(jié)點(diǎn)的combine函數(shù)輸出的數(shù)據(jù)進(jìn)行匯總,對(duì)于各節(jié)點(diǎn)傳來(lái)的同一簇編號(hào)的<key,value,num>求values均值,得出新的簇的中心。輸入:Combine階段的輸出結(jié)果(<key,value,num>)處理:將同屬于相同簇的values求和。輸出:k個(gè)<Key,Value>:<簇編號(hào),values的平均值>其中,8.5.1基于MapReduce的K-Means聚類算法
2.程序代碼
以下給出用Python語(yǔ)言實(shí)現(xiàn)的MRK-Menas算法的Mapper函數(shù)、Combiner函數(shù)和Reducer函數(shù)的參考代碼。
運(yùn)行代碼時(shí)可以根據(jù)不同數(shù)據(jù)集的特點(diǎn)設(shè)置K值和D值(屬性數(shù)),還可以改進(jìn)初始簇中心的選取方法。
數(shù)據(jù)集的文件格式是每行一個(gè)數(shù)據(jù)樣本,各個(gè)屬性之間用逗號(hào)分隔(例如csv格式的文件),示例數(shù)據(jù)如右:6.3,2.9,5.6,1.86.5,3,5.8,2.27.6,3,6.6,2.16.4,3.2,4.5,1.56.9,3.1,4.9,1.55.5,2.3,4,1.3…………8.5.1基于MapReduce的K-Means聚類算法
(1)Mapper函數(shù)
說(shuō)明:程序中的第一條語(yǔ)句“#!/usr/bin/python3.6”的具體寫法,可查看Linux系統(tǒng)的/usr/bin目錄中關(guān)于Python的軟鏈接,它會(huì)依照Linux中安裝的Python版本相應(yīng)調(diào)整。#!/usr/bin/python3.6importsysimportnumpyasnp
defDistance(instance,center):#計(jì)算對(duì)象與簇中心距離的函數(shù)i=np.array(eval(instance)).astype(np.float)c=np.array(center).astype(np.float)ans=np.sqrt(np.sum(np.square(i-c)))returnans8.5.1基于MapReduce的K-Means聚類算法defMapper(d,k,separator='\n'):#d:屬性數(shù),k:類別數(shù),separator:行分隔符minDis=float('inf')centers=[]foriinrange(k):#隨機(jī)生成k個(gè)簇中心arr=np.random.randint(0,10,d)#生成界于0到10的d維隨機(jī)數(shù)組,應(yīng)根據(jù)數(shù)據(jù)集調(diào)整上下界centers.append(arr)#centers=[(4,5,2,3),(2,4,1,1),(5,4,4,3)]#人為設(shè)定K個(gè)初始簇中心
index=-1forlineinsys.stdin:instances=line.split(separator)#取一行數(shù)據(jù),刪除回車符instance=instances[0].strip()#刪除頭尾空格等字符
foriinrange(0,len(centers)):dis=Distance(instance,centers[i])#遍歷尋找距離最近的簇中心ifdis<minDis:minDis=disindex=iprint("%d%s%s"%(index,'\t',instance))#輸出<Key:value>(<簇中心編號(hào):數(shù)據(jù)點(diǎn)>)
if__name__=="__main__":Mapper(d=4,k=3)#應(yīng)根據(jù)數(shù)據(jù)集調(diào)整d和k值8.5.1基于MapReduce的K-Means聚類算法(2)Combiner函數(shù)#!/usr/bin/python3.6importsysimportnumpyasnp
defCombiner(d,separator='\t'):#d為樣本屬性數(shù)values={}num={}keys=[]forlineinsys.stdin:line=line.strip()key,value=line.split(separator,1)#獲取mapper簇中心索引與對(duì)象value=np.array(eval(value)).astype(np.float)#將樣本字符串->數(shù)組->向量化
keys.append(key)p=np.zeros(d)#取字典中key的值(不存在key,則取p值(默認(rèn)值)),再相加values[key]=values.get(key,p.astype(np.float))+valuenum[key]=num.get(key,0)+1forkeyinset(keys):print("%s%s%s%s%s"%(key,separator,str(tuple(values[key])),separator,num[key]))#將向量->元組->字符串if__name__=='__main__':Combiner(d=4)8.5.1基于MapReduce的K-Means聚類算法
(3)Reducer函數(shù)#!/usr/bin/python3.6importsysimportnumpyasnp
defReducer(separator='\t'):Num={}keys=[]values={}forlineinsys.stdin:line=line.strip()key,value,num=line.split(separator,2)#分為3個(gè)字符串value=np.array(eval(value))#樣本字符串->向量化num=int(num)#計(jì)數(shù)->整數(shù)化keys.append(key)values[key]=values.get(key,0)+valueNum[key]=Num.get(key,0)+numforkeyinkeys:center=values[key]/Num[key]print('%s%s('%(key,separator),end='')foriinrange(d):print('%.2f'%(center[i]),end='')print(')')if__name__=='__main__':Reducer()測(cè)試Mapper函數(shù)測(cè)試Combiner函數(shù)測(cè)試Reducer函數(shù)假設(shè)數(shù)據(jù)集名稱為test.csv(用ANSI格式保存),輸出文件名為keyValue1.txt,則在本地(Linux和Windows中都可以)測(cè)試Mapper函數(shù)的命令為:python3mrkm_mapepr.py<test.csv>keyValue1.txt注:’<’和’>’符號(hào)分別用于重定向輸入和輸出。將Mapper函數(shù)的輸出keyValue1.txt作為Combiner函數(shù)的輸入,輸出文件名為keyValue2.txt,則測(cè)試Combiner函數(shù)的命令為:python3mrkm_combiner.py<keyValue1.txt>keyValue2.txt以Combiner函數(shù)的輸出keyValue.txt作為Reducer函數(shù)的輸入,輸出文件名為result.txt,則測(cè)試Reducer函數(shù)的命令為:python3mrkm-reducer.py<keyValue2.txt>result.txt
假設(shè)MRK-Means算法的三個(gè)程序文件分別命令為:mrkm_mapepr.py、mrkm_combiner.py和mrkm-reducer.py,我們先在本地測(cè)試程序是否能夠正常運(yùn)行。3.本地測(cè)試MRK-Means算法8.5.1
基于MapReduce的K-Means聚類算法
4.在Hadoop集群中運(yùn)行MRK-Means算法
(1)文件準(zhǔn)備
在Hadoop集群的HDFS中創(chuàng)建目錄“km_in”,將所有測(cè)試數(shù)據(jù)文件拷貝到“km_in”目錄中。
假設(shè)MRK-Means的Python程序文件存放在Linux系統(tǒng)的“/codes”目錄中,對(duì)集群中的各個(gè)節(jié)點(diǎn)都要設(shè)置Python程序文件的可執(zhí)行權(quán)限:chmod+x/codes/mrkm_mapper.pychmod+x/codes/mrkm_combiner.pychmod+x/codes/mrkm_reducer.py8.5.1
基于MapReduce的K-Means聚類算法(2)在Hadoop集群中執(zhí)行MRK-Means程序
Hadoop本身是用Java開(kāi)發(fā)的,但是通過(guò)HadoopStreaming,我們可以使用任意語(yǔ)言來(lái)編寫程序,讓Hadoop運(yùn)行。在Hadoop集群中執(zhí)行用Python編寫的MRK-Means程序的命令如下:說(shuō)明:上述命令中的’\’符號(hào)是為了在命令行輸入時(shí)換行,’\’前面應(yīng)加空格,各個(gè)參數(shù)之間也需要加空格。上述命令中的“mapredstreaming”可以用以下命令代替:hadoopjar$HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-3.3.0.jar8.5.1基于MapReduce的K-Means聚類算法mapredstreaming\-input/km_in\-output/km_out\-mapper/codes/mrkm_mapper.py\-reducer/codes/mrkm_reducer.py\-combiner/codes/mrkm_combiner.py8.5.1基于MapReduce的K-Means聚類算法
此外,為了更方便測(cè)試程序,還可以編寫一個(gè)Python程序來(lái)執(zhí)行上述的命令:importoscmd="mapredstreaming\-input/km_in\-output/km_out\-mapper/codes/mrkm_mapper.py\-reducer/codes/mrkm_reducer.py\-combiner/codes/mrkm_combiner.py"os.system(cmd)本章小結(jié)8.6
本章首先介紹了數(shù)據(jù)的描述性分析方法,包括數(shù)據(jù)集中趨勢(shì)度量、離散趨勢(shì)度量和數(shù)據(jù)的偏態(tài)特性度量等。接著介紹了一些經(jīng)典的分類和聚類算法,包括邏輯回歸、近鄰分類算法、決策樹(shù)算法和K-Means聚類算法等。本章最后討論K-Means算法的并行化問(wèn)題,給出了基于MapReduce模型的MRK-Means的Python語(yǔ)言實(shí)現(xiàn)和相關(guān)的運(yùn)行與測(cè)試方法。PPT模板下載:/moban/行業(yè)PPT模板:/hangye/節(jié)日PPT模板:/jieri/PPT素材下載:/sucai/PPT背景圖片:/beijing/PPT圖表下載:/tubiao/優(yōu)秀PPT下載:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/資料下載:/ziliao/PPT課件下載:/kejian/范文下載:/fanwen/試卷下載:/shiti/教案下載:/jiaoan/字體下載:/ziti/
謝謝!
第9章數(shù)據(jù)可視化目錄Contents9.1
引言9.2
數(shù)據(jù)可視化的常用方法9.3
數(shù)據(jù)可視化常用工具簡(jiǎn)介9.4
基于ECharts的可視化示例9.5
本章小結(jié)
引言9.1數(shù)據(jù)可視化的早期案例大數(shù)據(jù)可視化案例大數(shù)據(jù)9.1引言
所謂“數(shù)據(jù)可視化“(DataVisualization),是運(yùn)用計(jì)算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)轉(zhuǎn)換為圖形或圖像顯示,并進(jìn)行交互處理的理論、方法和技術(shù)。
數(shù)據(jù)可視化可以提供多種數(shù)據(jù)分析的圖形方法,直觀地傳達(dá)數(shù)據(jù)的關(guān)鍵特征,從而實(shí)現(xiàn)對(duì)于復(fù)雜數(shù)據(jù)的深入洞察。通過(guò)數(shù)據(jù)可視化方法,不但可以借助圖形化手段清晰有效地傳達(dá)與溝通信息,而且還是一種發(fā)現(xiàn)未知信息的處理過(guò)程,表現(xiàn)在:(1)可以反映信息模式、數(shù)據(jù)關(guān)聯(lián)或趨勢(shì)(2)發(fā)現(xiàn)隱含在數(shù)據(jù)中的規(guī)律(3)實(shí)現(xiàn)人與數(shù)據(jù)之間直接的信息傳遞(4)幫助決策者直觀地觀察和分析數(shù)據(jù)
9.1引言
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)的復(fù)雜性和體量大大增加,可視化和可視化分析可以有效地篩選與精練數(shù)據(jù)流,通過(guò)圖形手段清晰有效地傳達(dá)與溝通信息,幫助人們更好地探索和理解復(fù)雜的數(shù)據(jù),成為人們理解復(fù)雜數(shù)據(jù)、發(fā)現(xiàn)知識(shí)和規(guī)律不可或缺的手段。
下圖是大數(shù)據(jù)可視化示例,右圖中展示了某個(gè)大數(shù)據(jù)可視化平臺(tái)的“數(shù)據(jù)大屏”界面大數(shù)據(jù)可視化示例9.1.1數(shù)據(jù)可視化的早期案例
其實(shí)早在19世紀(jì),人們就開(kāi)始通過(guò)圖形的可視化,來(lái)分析問(wèn)題,以下是兩則在19世紀(jì)發(fā)生的與數(shù)據(jù)可視化的小故事。
1.斯諾的標(biāo)點(diǎn)地圖
1854年倫敦爆發(fā)霍亂,10天內(nèi)奪去了500多人的生命。
斯諾用標(biāo)點(diǎn)地圖的方法研究了當(dāng)?shù)厮植己突魜y患者分布之間的關(guān)系,發(fā)現(xiàn)在寬街(BroadStreet)的一口水井供水范圍內(nèi)霍亂出現(xiàn)率明顯較高,最終憑此線索找到該次霍亂爆發(fā)的原因:一個(gè)被污染的水泵。洞悉真相的斯諾醫(yī)生趕緊通知政府關(guān)掉了那個(gè)水泵,疫情立馬就停了。9.1.1數(shù)據(jù)可視化的早期案例
2.南丁格爾的玫瑰圖
兼為護(hù)士和統(tǒng)計(jì)學(xué)家的弗羅倫斯·南丁格爾,為了調(diào)查戰(zhàn)爭(zhēng)期間士兵死亡的真正原因。根據(jù)1854年4月~1856年3月期間士兵死亡的數(shù)據(jù),創(chuàng)建出美麗的統(tǒng)計(jì)玫瑰圖(如圖所示),形象的展示士兵死亡的真正原因和戰(zhàn)地醫(yī)療救護(hù)的作用。
南丁格爾的玫瑰圖9.1.1數(shù)據(jù)可視化的早期案例
這種圖表形式也被稱作“南丁格爾的玫瑰“,是一種圓形的直方圖,南丁格爾自己常昵稱這類圖為雞冠花圖(coxcomb),并且用以表達(dá)軍醫(yī)院季節(jié)性的死亡率,對(duì)象是那些不太能理解傳統(tǒng)統(tǒng)計(jì)報(bào)表的公務(wù)人員。她的方法打動(dòng)了當(dāng)時(shí)的高層,包括軍方人士和維多利亞女王本人,于是醫(yī)事改良的提案才得到支持。
這張圖描述了1854年4月~1856年3月期間士兵死亡情況,右邊的子圖是1854年4月~1855年3月,左邊的子圖是1855年4月~1856年3月,
左右兩個(gè)玫瑰圖被時(shí)間點(diǎn)“1955年3月”所隔開(kāi),左右兩個(gè)玫瑰圖都包含了12個(gè)月的數(shù)據(jù)。其中,右側(cè)較大的玫瑰圖,展現(xiàn)的是1854年4月至1955年3月;而左側(cè)的玫瑰圖,展現(xiàn)的則是1855年4月至1856年3月。9.1.1
數(shù)據(jù)可視化的早期案例
用藍(lán)、紅、黑三種顏色表示三種不同的情況,藍(lán)色代表可預(yù)防和可緩解的疾病治療不及時(shí)造成的死亡、紅色代表戰(zhàn)場(chǎng)陣亡、黑色代表其他死亡原因。圖表各扇區(qū)角度相同,用半徑及扇區(qū)面積來(lái)表示死亡人數(shù),可以清晰的看出每個(gè)月因各種原因死亡的人數(shù)。顯然,1854~1855年,因醫(yī)療條件而造成的死亡人數(shù)遠(yuǎn)遠(yuǎn)大于戰(zhàn)死沙場(chǎng)的人數(shù),這種情況直到1856年初才得到緩解。南丁格爾的這張圖表以及其他圖表“生動(dòng)有力的說(shuō)明了在戰(zhàn)地開(kāi)展醫(yī)療救護(hù)和促進(jìn)傷兵醫(yī)療工作的必要性,打動(dòng)了當(dāng)局者,增加了戰(zhàn)地醫(yī)院,改善了軍隊(duì)醫(yī)院的條件,為挽救士兵生命做出了巨大貢獻(xiàn)”。9.1.2
大數(shù)據(jù)可視化案例
1.百度遷徙
百度遷徙(/)是百度公司在2014年春運(yùn)期間推出的一個(gè)品牌的項(xiàng)目,首次啟用百度地圖定位,大數(shù)據(jù)可視化的方式展示了國(guó)內(nèi)春節(jié)人口遷徙情況,引發(fā)了人們的巨大關(guān)注(如下左圖所示)。
百度遷徙利用百度后臺(tái)每天數(shù)十億次LBS定位數(shù)據(jù)進(jìn)行運(yùn)算分析,通過(guò)可視化大數(shù)據(jù)的方式展現(xiàn)全國(guó)春運(yùn)動(dòng)態(tài),包括當(dāng)前全國(guó)春運(yùn)最熱的路線,最熱門的遷出城市、遷入城市等。
目前,百度遷徙平臺(tái)可查看全國(guó)除港澳臺(tái)所有城市的遷徙狀況;每個(gè)城市的從春運(yùn)首日至昨日的遷徙走勢(shì);從宏觀查看全國(guó)熱門路線,熱門目的地、熱門出發(fā)地。9.1.2
大數(shù)據(jù)可視化案例百度遷徙示意圖航線星云示意圖9.1.2大數(shù)據(jù)可視化案例
2.航線星云
航線星云是一個(gè)全球頂級(jí)的大數(shù)據(jù)可視化案例,數(shù)據(jù)源包括約6萬(wàn)條直飛航班信息,這些航班穿梭在3000多個(gè)機(jī)場(chǎng)間,覆蓋了500多條航線。通過(guò)可視化技術(shù),可以看到世界上各家不同的航空公司看起來(lái)就像是一個(gè)美麗的星云(如上右圖所示)。
這張基于數(shù)據(jù)可視化的Sigma圖表顯示了服務(wù)城市相似的不同航空公司。圖中的圓點(diǎn)或圓圈代表航空公司,連線的粗細(xì)和遠(yuǎn)近則反映兩個(gè)航空公司之間的相似性;連線越粗或越短則代表兩家航空公司服務(wù)的城市越相似。
總的來(lái)說(shuō),這張圖表揭示了各航空公司之間的相似性和競(jìng)爭(zhēng)情況,有利于發(fā)掘潛在的合作關(guān)系、增加市場(chǎng)份額和市場(chǎng)覆蓋面。這項(xiàng)技術(shù)可以通過(guò)不同參與者之間的相同變量,用于分析任何生態(tài)系統(tǒng)
數(shù)據(jù)可視化的常用方法9.2趨勢(shì)型數(shù)據(jù)可視化方法對(duì)比型數(shù)據(jù)可視化方法比例型數(shù)據(jù)可視化方法分布型數(shù)據(jù)可視化文本數(shù)據(jù)可視化關(guān)系網(wǎng)絡(luò)數(shù)據(jù)可視化時(shí)空數(shù)據(jù)可視化層次結(jié)構(gòu)數(shù)據(jù)可視化高維數(shù)據(jù)可視化9.2.1趨勢(shì)型數(shù)據(jù)可視化方法
1.散點(diǎn)圖(Scatterplot)
趨勢(shì)型數(shù)據(jù)可視化包括散點(diǎn)圖、折線圖、階梯圖和時(shí)間序列圖等。
散點(diǎn)圖使用數(shù)據(jù)值作為x軸和y軸坐標(biāo)來(lái)繪制點(diǎn),即數(shù)據(jù)點(diǎn)(x,y)在直角坐標(biāo)系平面上的分布圖,在回歸分析中,可以選擇合適的函數(shù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合,從而判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點(diǎn)的分布模式。散點(diǎn)圖將序列顯示為一組點(diǎn),值由點(diǎn)在圖表中的位置表示,散點(diǎn)圖的樣式如圖所示。散點(diǎn)圖樣例9.2.1趨勢(shì)型數(shù)據(jù)可視化方法
2.折線圖(Linechart)
折線圖是用線段順序連接空間的各個(gè)數(shù)據(jù)點(diǎn),折線圖與散點(diǎn)圖對(duì)比,其更突出數(shù)據(jù)點(diǎn)表現(xiàn)變化,而散點(diǎn)圖突出表現(xiàn)數(shù)據(jù)點(diǎn)分布情況,前者不能做回歸分析,而后者可以。折線圖的樣式如圖所示。折線圖樣例9.2.1趨勢(shì)型數(shù)據(jù)可視化方法
3.階梯圖(Stepplot)
階梯圖又稱為瀑布圖,它是一種無(wú)規(guī)律、間歇型階躍的方式表達(dá)數(shù)值的變化,可以用于數(shù)據(jù)的變化和構(gòu)成情況的分析(如保險(xiǎn)產(chǎn)品、電價(jià)、水價(jià)等)。階梯圖的樣式如圖所示。階梯圖樣例9.2.1趨勢(shì)型數(shù)據(jù)可視化方法
4.時(shí)間序列圖(TimeSeriesPlot)
時(shí)間序列圖用于顯示給定度量隨時(shí)間變化的方式,它是以時(shí)間為橫軸,觀察變量為縱軸,用以反映時(shí)間與數(shù)量之間的關(guān)系,觀察變量變化發(fā)展的趨勢(shì)及偏差的統(tǒng)計(jì)圖。時(shí)間序列圖的樣式如圖所示。時(shí)間序列樣例圖9.2.2對(duì)比型數(shù)據(jù)可視化方法
1.柱狀圖
對(duì)比型數(shù)據(jù)可以使用柱狀圖、面積圖、雷達(dá)圖、氣泡圖等進(jìn)行可視化呈
柱狀圖是一種以長(zhǎng)方形的長(zhǎng)度為變量的統(tǒng)計(jì)圖表,它使用垂直或水平的柱子顯示類別之間的數(shù)值比較,用于描述分類數(shù)據(jù),并統(tǒng)計(jì)每一個(gè)分類中的數(shù)量,柱狀圖的樣式如圖所示。柱狀圖樣例9.2.2對(duì)比型數(shù)據(jù)可視化方法
3.雷達(dá)圖
雷達(dá)圖,又稱網(wǎng)狀圖或星狀圖,它形似雷達(dá)界面,雷達(dá)圖用于同時(shí)對(duì)多個(gè)數(shù)據(jù)的對(duì)比分析和同一數(shù)據(jù)在不同時(shí)期的變化進(jìn)行分析,可以有效地表示數(shù)據(jù)的聚合值,也就是數(shù)據(jù)在各個(gè)方向上達(dá)到的峰值,雷達(dá)圖的樣式如圖所示。雷達(dá)圖樣例9.2.2對(duì)比型數(shù)據(jù)可視化方法
4.氣泡圖
氣泡圖通常用于比較和展示不同類別之間的關(guān)系(例如分析數(shù)據(jù)之間的相關(guān)性),通過(guò)氣泡的位置以及面積大小進(jìn)行比較,氣泡圖的樣式如圖所示。氣泡圖樣例9.2.3比例型數(shù)據(jù)可視化方法
1.餅圖
餅圖用于表示不同分類的占比情況,通過(guò)弧度大小來(lái)對(duì)比各種分類。餅圖通過(guò)將一個(gè)圓餅按照分類的占比劃分成多個(gè)區(qū)塊,整個(gè)圓餅代表數(shù)據(jù)的總量,每個(gè)區(qū)塊表示該分類占總體的比例大小,所有區(qū)塊的和等于100%。餅圖的樣式如圖所示。餅圖樣例比例型數(shù)據(jù)可以使用餅圖、堆壘柱形圖和堆壘面積圖等進(jìn)行可視化呈現(xiàn)。9.2.3比例型數(shù)據(jù)可視化方法
2.堆壘柱形圖(StackColumn)
堆壘柱形圖顯示單個(gè)項(xiàng)目與整體之間的關(guān)系,它比較各個(gè)類別的每個(gè)數(shù)值所占總數(shù)值的大小。堆壘柱形圖以二維垂直堆積矩形顯示數(shù)值。當(dāng)有多個(gè)數(shù)據(jù)系列并且希望強(qiáng)調(diào)總數(shù)值時(shí),可以使用堆壘柱形圖。堆壘柱形圖的樣式如圖所示。堆壘柱形圖樣例9.2.3比例型數(shù)據(jù)可視化方法
3.堆壘面積圖(StackArea)
堆壘柱形圖是由一些大小相同的小正方體堆壘而成的,顯示每個(gè)數(shù)值所占的比例陽(yáng)隨類別或時(shí)間變化的趨勢(shì)。堆壘面積圖的樣式如圖所示。堆壘面積圖樣例9.2.4分布型數(shù)據(jù)可視化
1.直方圖(Histogram)直方圖(Histogram),又稱質(zhì)量分布圖,是一種統(tǒng)計(jì)報(bào)告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況,一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。直方圖是數(shù)值數(shù)據(jù)分布的精確圖形表示,為了構(gòu)建直方圖,需要將值的范圍均勻分段(分成多個(gè)bin),然后計(jì)算每個(gè)bin中有多少值,最后在坐標(biāo)軸上繪制每個(gè)bin上分布的值的數(shù)量。直方圖的樣式如圖所示。直方圖樣例分布型數(shù)據(jù)可以使用直方圖、箱型圖、概率密度圖等進(jìn)行可視化呈現(xiàn)。9.2.4分布型數(shù)據(jù)可視化
2.箱形圖(Boxdiagram)箱形圖(英文:Boxplot),又稱為盒狀圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖。因形狀如箱子而得名。在各種領(lǐng)域也經(jīng)常被使用。
箱形圖于1977年由美國(guó)著名統(tǒng)計(jì)學(xué)家約翰·圖基(JohnTukey)發(fā)明,它能顯示出一組數(shù)據(jù)的最大值、最小值、中位數(shù)、及上下四分位數(shù)。箱形圖的樣式如圖所示箱型圖樣例9.2.4分布型數(shù)據(jù)可視化
3.概率密度圖(DensityPlot)
前面提到的直方圖、箱線圖都是離散型數(shù)據(jù)的分布圖,而概率密度圖則是連續(xù)型變量的數(shù)據(jù)分布圖,它是指隨機(jī)變量落在其區(qū)間內(nèi)的概率,用色塊填充成陰影部分面積。概率密度圖是用概率密度曲線畫的,橫軸是連
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年遠(yuǎn)洋船舶長(zhǎng)期租賃合同版B版
- 2025年度離婚后房產(chǎn)過(guò)戶及補(bǔ)償協(xié)議書3篇
- 2024版高新技術(shù)項(xiàng)目投資合作框架合同版
- 2024年度智能指紋鎖采購(gòu)及安裝服務(wù)合同3篇
- 2025年度智能城市建設(shè)規(guī)劃咨詢服務(wù)合同3篇
- 2024年百貨公司員工聘用協(xié)議
- 2024年美洲地區(qū)航空運(yùn)輸服務(wù)合同
- 2025年度新型節(jié)能玻璃安裝與維護(hù)一體化施工合同范本3篇
- 2024年葡萄采摘基地土地流轉(zhuǎn)與品牌推廣合作協(xié)議3篇
- 2024年檢驗(yàn)類之臨床醫(yī)學(xué)檢驗(yàn)技術(shù)(師)真題練習(xí)試卷A卷附答案
- 個(gè)人現(xiàn)實(shí)表現(xiàn)材料1500字德能勤績(jī)廉(通用6篇)
- 六年級(jí)上冊(cè)數(shù)學(xué)單元測(cè)試-5.圓 青島版 (含答案)
- 日本疾病診斷分組(DPC)定額支付方式課件
- 復(fù)旦大學(xué)用經(jīng)濟(jì)學(xué)智慧解讀中國(guó)課件03用大歷史觀看中國(guó)社會(huì)轉(zhuǎn)型
- (精心整理)高一語(yǔ)文期末模擬試題
- QC成果解決鋁合金模板混凝土氣泡、爛根難題
- 管線管廊布置設(shè)計(jì)規(guī)范
- 提升教練技術(shù)--回應(yīng)ppt課件
- 最新焊接工藝評(píng)定表格
- 精品洲際酒店集團(tuán)皇冠酒店設(shè)計(jì)標(biāo)準(zhǔn)手冊(cè)
- 農(nóng)副產(chǎn)品交易中心運(yùn)營(yíng)方案
評(píng)論
0/150
提交評(píng)論