




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用pandas進(jìn)行數(shù)據(jù)預(yù)處理1清洗數(shù)據(jù)目錄合并數(shù)據(jù)2標(biāo)準(zhǔn)化數(shù)據(jù)3轉(zhuǎn)換數(shù)據(jù)4小結(jié)5橫向堆疊,即將兩個(gè)表在X軸向拼接在一起,可以使用concat函數(shù)完成,concat函數(shù)的基本語法如下。pandas.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)常用參數(shù)如下所示。堆疊合并數(shù)據(jù)1.橫向表堆疊參數(shù)名稱說明objs接收多個(gè)Series,DataFrame,Panel的組合。表示參與鏈接的pandas對(duì)象的列表的組合。無默認(rèn)。axis接收0或1。表示連接的軸向,默認(rèn)為0。join接收inner或outer。表示其他軸向上的索引是按交集(inner)還是并集(outer)進(jìn)行合并。默認(rèn)為outer。join_axes接收Index對(duì)象。表示用于其他n-1條軸的索引,不執(zhí)行并集/交集運(yùn)算。參數(shù)名稱說明ignore_index接收boolean。表示是否不保留連接軸上的索引,產(chǎn)生一組新索引range(total_length)。默認(rèn)為False。keys接收sequence。表示與連接對(duì)象有關(guān)的值,用于形成連接軸向上的層次化索引。默認(rèn)為None。levels接收包含多個(gè)sequence的list。表示在指定keys參數(shù)后,指定用作層次化索引各級(jí)別上的索引。默認(rèn)為None。names接收list。表示在設(shè)置了keys和levels參數(shù)后,用于創(chuàng)建分層級(jí)別的名稱。默認(rèn)為None。verify_integrity接收boolearn。表示是否檢查結(jié)果對(duì)象新軸上的重復(fù)情況,如果發(fā)現(xiàn)則引發(fā)異常。默認(rèn)為False。堆疊合并數(shù)據(jù)1.橫向表堆疊續(xù)上表當(dāng)axis=1的時(shí)候,concat做行對(duì)齊,然后將不同列名稱的兩張或多張表合并。當(dāng)兩個(gè)表索引不完全一樣時(shí),可以使用join參數(shù)選擇是內(nèi)連接還是外連接。在內(nèi)連接的情況下,僅僅返回索引重疊部分。在外連接的情況下,則顯示索引的并集部分?jǐn)?shù)據(jù),不足的地方則使用空值填補(bǔ)。當(dāng)兩張表完全一樣時(shí),不論join參數(shù)取值是inner或者outer,結(jié)果都是將兩個(gè)表完全按照X軸拼接起來。堆疊合并數(shù)據(jù)1.橫向表堆疊使用concat函數(shù)時(shí),在默認(rèn)情況下,即axis=0時(shí),concat做列對(duì)齊,將不同行索引的兩張或多張表縱向合并。在兩張表的列名并不完全相同的情況下,可join參數(shù)取值為inner時(shí),返回的僅僅是列名交集所代表的列,取值為outer時(shí),返回的是兩者列名的并集所代表的列,其原理示意如圖。不論join參數(shù)取值是inner或者outer,結(jié)果都是將兩個(gè)表完全按照Y軸拼接起來堆疊合并數(shù)據(jù)2.縱向堆疊——concat函數(shù)append方法也可以用于縱向合并兩張表。但是append方法實(shí)現(xiàn)縱向表堆疊有一個(gè)前提條件,那就是兩張表的列名需要完全一致。append方法的基本語法如下pandas.DataFrame.append(self,other,ignore_index=False,verify_integrity=False)。常用參數(shù)如下所示。堆疊合并數(shù)據(jù)2.縱向堆疊——append方法參數(shù)名稱說明other接收DataFrame或Series。表示要添加的新數(shù)據(jù)。無默認(rèn)。ignore_index接收boolean。如果輸入True,會(huì)對(duì)新生成的DataFrame使用新的索引(自動(dòng)產(chǎn)生)而忽略原來數(shù)據(jù)的索引。默認(rèn)為False。verify_integrity接收boolean。如果輸入True,那么當(dāng)ignore_index為False時(shí),會(huì)檢查添加的數(shù)據(jù)索引是否沖突,如果沖突,則會(huì)添加失敗。默認(rèn)為False。主鍵合并,即通過一個(gè)或多個(gè)鍵將兩個(gè)數(shù)據(jù)集的行連接起來,類似于SQL中的JOIN。針對(duì)同一個(gè)主鍵存在兩張包含不同字段的表,將其根據(jù)某幾個(gè)字段一一對(duì)應(yīng)拼接起來,結(jié)果集列數(shù)為兩個(gè)元數(shù)據(jù)的列數(shù)和減去連接鍵的數(shù)量。主鍵合并數(shù)據(jù)主鍵合并和數(shù)據(jù)庫的join一樣,merge函數(shù)也有左連接(left)、右連接(right)、內(nèi)連接(inner)和外連接(outer),但比起數(shù)據(jù)庫SQL語言中的join和merge函數(shù)還有其自身獨(dú)到之處,例如可以在合并過程中對(duì)數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行排序等。pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False)可根據(jù)merge函數(shù)中的參數(shù)說明,并按照需求修改相關(guān)參數(shù),就可以多種方法實(shí)現(xiàn)主鍵合并。主鍵合并數(shù)據(jù)主鍵合并——merge函數(shù)參數(shù)名稱說明left接收DataFrame或Series。表示要添加的新數(shù)據(jù)。無默認(rèn)。right接收DataFrame或Series。表示要添加的新數(shù)據(jù)。無默認(rèn)。。how接收inner,outer,left,right。表示數(shù)據(jù)的連接方式。默認(rèn)為inner。on接收string或sequence。表示兩個(gè)數(shù)據(jù)合并的主鍵(必須一致)。默認(rèn)為None。left_on接收string或sequence。表示left參數(shù)接收數(shù)據(jù)用于合并的主鍵。默認(rèn)為None。right_on接收string或sequence。表示right參數(shù)接收數(shù)據(jù)用于合并的主鍵。默認(rèn)為None。left_index接收boolean。表示是否將left參數(shù)接收數(shù)據(jù)的index作為連接主鍵。默認(rèn)為False。right_index接收boolean。表示是否將right參數(shù)接收數(shù)據(jù)的index作為連接主鍵。默認(rèn)為False。sort接收boolean。表示是否根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序。默認(rèn)為False。suffixes接收接收tuple。表示用于追加到left和right參數(shù)接收數(shù)據(jù)重疊列名的尾綴默認(rèn)為('_x','_y')。主鍵合并數(shù)據(jù)常用參數(shù)及其說明join方法也可以實(shí)現(xiàn)部分主鍵合并的功能,但是join方法使用時(shí),兩個(gè)主鍵的名字必須相同。pandas.DataFrame.join(self,other,on=None,how='left',lsuffix='',rsuffix='',sort=False)常用參數(shù)說明如下。主鍵合并數(shù)據(jù)主鍵合并——join方法參數(shù)名稱說明other接收DataFrame、Series或者包含了多個(gè)DataFrame的list。表示參與連接的其他DataFrame。無默認(rèn)。on接收列名或者包含列名的list或tuple。表示用于連接的列名。默認(rèn)為None。how接收特定string。inner代表內(nèi)連接;outer代表外連接;left和right分別代表左連接和右連接。默認(rèn)為inner。lsuffix接收sring。表示用于追加到左側(cè)重疊列名的末尾。無默認(rèn)。rsuffix接收string。表示用于追加到右側(cè)重疊列名的末尾。無默認(rèn)。sort根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序,默認(rèn)為True。數(shù)據(jù)分析和處理過程中若出現(xiàn)兩份數(shù)據(jù)的內(nèi)容幾乎一致的情況,但是某些特征在其中一張表上是完整的,而在另外一張表上的數(shù)據(jù)則是缺失的時(shí)候,可以用combine_first方法進(jìn)行重疊數(shù)據(jù)合并,其原理如下。重疊合并數(shù)據(jù)combine_first方法combine_first的具體用法如下。pandas.DataFrame.combine_first(other)參數(shù)及其說明如下。重疊合并數(shù)據(jù)combine_first方法參數(shù)名稱說明other接收DataFrame。表示參與重疊合并的另一個(gè)DataFrame。無默認(rèn)。1.堆疊不同時(shí)間的訂單詳情表訂單詳情表meal_order_detail1、meal_order_detail2、meal_order_detail3具有相同的特征,但數(shù)據(jù)時(shí)間不同,訂單編號(hào)也不同,在數(shù)據(jù)分析過程中需要使用全量數(shù)據(jù),故需要將幾張表做縱向堆疊操作。2.主鍵合并訂單詳情表、訂單信息表和客戶信息表訂單詳情表、訂單信息表和客戶信息表兩兩之間存在相同意義的字段,因此需通過主鍵合并的方式將三張表合并為一張寬表。任務(wù)實(shí)現(xiàn)1清洗數(shù)據(jù)目錄合并數(shù)據(jù)2標(biāo)準(zhǔn)化數(shù)據(jù)3轉(zhuǎn)換數(shù)據(jù)4小結(jié)5記錄重復(fù),即一個(gè)或者多個(gè)特征某幾個(gè)記錄的值完全相同方法一是利用列表(list)去重,自定義去重函數(shù):方法二是利用集合(set)的元素是唯一的特性去重,如dish_set=set(dishes)。檢測(cè)與處理重復(fù)值1.記錄重復(fù)defdelRep(list1):list2=[]foriinlist1:ifinotinlist2:list2.append(i)returnlist2比較上述兩種方法可以發(fā)現(xiàn),方法一代碼冗長。方法二代碼簡(jiǎn)單了許多,但會(huì)導(dǎo)致數(shù)據(jù)的排列發(fā)生改變。pandas提供了一個(gè)名為drop_duplicates的去重方法。該方法只對(duì)DataFrame或者Series類型有效。這種方法不會(huì)改變數(shù)據(jù)原始排列,并且兼具代碼簡(jiǎn)潔和運(yùn)行穩(wěn)定的特點(diǎn)。該方法不僅支持單一特征的數(shù)據(jù)去重,還能夠依據(jù)DataFrame的其中一個(gè)或者幾個(gè)特征進(jìn)行去重操作。pandas.DataFrame(Series).drop_duplicates(self,subset=None,keep='first',inplace=False)檢測(cè)與處理重復(fù)值1.記錄重復(fù)參數(shù)名稱說明subset接收string或sequence。表示進(jìn)行去重的列。默認(rèn)為None,表示全部列。keep接收特定string。表示重復(fù)時(shí)保留第幾個(gè)數(shù)據(jù)。First:保留第一個(gè)。Last:保留最后一個(gè)。False:只要有重復(fù)都不保留。默認(rèn)為first。inplace接收boolean。表示是否在原表上進(jìn)行操作。默認(rèn)為False。結(jié)合相關(guān)的數(shù)學(xué)和統(tǒng)計(jì)學(xué)知識(shí),去除連續(xù)型特征重復(fù)可以利用特征間的相似度將兩個(gè)相似度為1的特征去除一個(gè)。在pandas中相似度的計(jì)算方法為corr,使用該方法計(jì)算相似度時(shí),默認(rèn)為“pearson”法
,可以通過“method”參數(shù)調(diào)節(jié),目前還支持“spearman”法和“kendall”法。但是通過相似度矩陣去重存在一個(gè)弊端,該方法只能對(duì)數(shù)值型重復(fù)特征去重,類別型特征之間無法通過計(jì)算相似系數(shù)來衡量相似度。除了使用相似度矩陣進(jìn)行特征去重之外,可以通過DataFrame.equals的方法進(jìn)行特征去重。檢測(cè)與處理重復(fù)值2.特征重復(fù)數(shù)據(jù)中的某個(gè)或某些特征的值是不完整的,這些值稱為缺失值。pandas提供了識(shí)別缺失值的方法isnull以及識(shí)別非缺失值的方法notnull,這兩種方法在使用時(shí)返回的都是布爾值True和False。結(jié)合sum函數(shù)和isnull、notnull函數(shù),可以檢測(cè)數(shù)據(jù)中缺失值的分布以及數(shù)據(jù)中一共含有多少缺失值。isnull和notnull之間結(jié)果正好相反,因此使用其中任意一個(gè)都可以判斷出數(shù)據(jù)中缺失值的位置。檢測(cè)與處理缺失值利用isnull或notnull找到缺失值刪除法分為刪除觀測(cè)記錄和刪除特征兩種,它屬于利用減少樣本量來換取信息完整度的一種方法,是一種最簡(jiǎn)單的缺失值處理方法。pandas中提供了簡(jiǎn)便的刪除缺失值的方法dropna,該方法既可以刪除觀測(cè)記錄,亦可以刪除特征。pandas.DataFrame.dropna(self,axis=0,how='any',thresh=None,subset=None,inplace=False)常用參數(shù)及其說明如下。檢測(cè)與處理缺失值1.刪除法參數(shù)名稱說明axis接收0或1。表示軸向,0為刪除觀測(cè)記錄(行),1為刪除特征(列)。默認(rèn)為0。how接收特定string。表示刪除的形式。any表示只要有缺失值存在就執(zhí)行刪除操作。all表示當(dāng)且僅當(dāng)全部為缺失值時(shí)執(zhí)行刪除操作。默認(rèn)為any。subset接收類array數(shù)據(jù)。表示進(jìn)行去重的列∕行。默認(rèn)為None,表示所有列/行。inplace接收boolean。表示是否在原表上進(jìn)行操作。默認(rèn)為False。替換法是指用一個(gè)特定的值替換缺失值。特征可分為數(shù)值型和類別型,兩者出現(xiàn)缺失值時(shí)的處理方法也是不同的。缺失值所在特征為數(shù)值型時(shí),通常利用其均值、中位數(shù)和眾數(shù)等描述其集中趨勢(shì)的統(tǒng)計(jì)量來代替缺失值。缺失值所在特征為類別型時(shí),則選擇使用眾數(shù)來替換缺失值。檢測(cè)與處理缺失值2.替換法pandas庫中提供了缺失值替換的方法名為fillna,其基本語法如下。pandas.DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None)常用參數(shù)及其說明如下。檢測(cè)與處理缺失值2.替換法參數(shù)名稱說明value接收scalar,dict,Series或者DataFrame。表示用來替換缺失值的值。無默認(rèn)。method接收特定string。backfill或bfill表示使用下一個(gè)非缺失值填補(bǔ)缺失值。pad或ffill表示使用上一個(gè)非缺失值填補(bǔ)缺失值。默認(rèn)為None。axis接收0或1。表示軸向。默認(rèn)為1。inplace接收boolean。表示是否在原表上進(jìn)行操作。默認(rèn)為False。limit接收int。表示填補(bǔ)缺失值個(gè)數(shù)上限,超過則不進(jìn)行填補(bǔ)。默認(rèn)為None。刪除法簡(jiǎn)單易行,但是會(huì)引起數(shù)據(jù)結(jié)構(gòu)變動(dòng),樣本減少;替換法使用難度較低,但是會(huì)影響數(shù)據(jù)的標(biāo)準(zhǔn)差,導(dǎo)致信息量變動(dòng)。在面對(duì)數(shù)據(jù)缺失問題時(shí),除了這兩種方法之外,還有一種常用的方法—插值法。常用的插值法有線性插值、多項(xiàng)式插值和樣條插值等:線性插值是一種較為簡(jiǎn)單的插值方法,它針對(duì)已知的值求出線性方程,通過求解線性方程得到缺失值。多項(xiàng)式插值是利用已知的值擬合一個(gè)多項(xiàng)式,使得現(xiàn)有的數(shù)據(jù)滿足這個(gè)多項(xiàng)式,再利用這個(gè)多項(xiàng)式求解缺失值,常見的多項(xiàng)式插值法有拉格朗日插值和牛頓插值等。樣條插值是以可變樣條來作出一條經(jīng)過一系列點(diǎn)的光滑曲線的插值方法,插值樣條由一些多項(xiàng)式組成,每一個(gè)多項(xiàng)式都是由相鄰兩個(gè)數(shù)據(jù)點(diǎn)決定,這樣可以保證兩個(gè)相鄰多項(xiàng)式及其導(dǎo)數(shù)在連接處連續(xù)。檢測(cè)與處理缺失值3.插值法從擬合結(jié)果可以看出多項(xiàng)式插值和樣條插值在兩種情況下擬合都非常出色,線性插值法只在自變量和因變量為線性關(guān)系的情況下擬合才較為出色。而在實(shí)際分析過程中,自變量與因變量的關(guān)系是線性的情況非常少見,所以在大多數(shù)情況下,多項(xiàng)式插值和樣條插值是較為合適的選擇。SciPy庫中的interpolate模塊除了提供常規(guī)的插值法外,還提供了例如在圖形學(xué)領(lǐng)域具有重要作用的重心坐標(biāo)插值(BarycentricInterpolator)等。在實(shí)際應(yīng)用中,需要根據(jù)不同的場(chǎng)景,選擇合適的插值方法。檢測(cè)與處理缺失值3.插值法異常值是指數(shù)據(jù)中個(gè)別值的數(shù)值明顯偏離其余的數(shù)值,有時(shí)也稱為離群點(diǎn),檢測(cè)異常值就是檢驗(yàn)數(shù)據(jù)中是否有錄入錯(cuò)誤以及是否含有不合理的數(shù)據(jù)。異常值的存在對(duì)數(shù)據(jù)分析十分危險(xiǎn),如果計(jì)算分析過程的數(shù)據(jù)有異常值,那么會(huì)對(duì)結(jié)果會(huì)產(chǎn)生不良影響,從而導(dǎo)致分析結(jié)果產(chǎn)生偏差乃至錯(cuò)誤。常用的異常值檢測(cè)主要為3σ原則和箱線圖分析兩種方法。檢測(cè)與處理異常值異常值3σ原則又稱為拉依達(dá)法則。該法則就是先假設(shè)一組檢測(cè)數(shù)據(jù)只含有隨機(jī)誤差,對(duì)原始數(shù)據(jù)進(jìn)行計(jì)算處理得到標(biāo)準(zhǔn)差,然后按一定的概率確定一個(gè)區(qū)間,認(rèn)為誤差超過這個(gè)區(qū)間的就屬于異常值。這種判別處理方法僅適用于對(duì)正態(tài)或近似正態(tài)分布的樣本數(shù)據(jù)進(jìn)行處理,如下表所示,其中σ代表標(biāo)準(zhǔn)差,μ代表均值,x=μ為圖形的對(duì)稱軸。數(shù)據(jù)的數(shù)值分布幾乎全部集中在區(qū)間(μ-3σ,μ+3σ)內(nèi),超出這個(gè)范圍的數(shù)據(jù)僅占不到0.3%。故根據(jù)小概率原理,可以認(rèn)為超出3σ的部分?jǐn)?shù)據(jù)為異常數(shù)據(jù)。檢測(cè)與處理異常值1.3σ原則數(shù)值分布在數(shù)據(jù)中的占比0.68270.95450.9973箱型圖提供了識(shí)別異常值的一個(gè)標(biāo)準(zhǔn),即異常值通常被定義為小于QL-1.5IQR或大于QU+1.5IQR的值。QL稱為下四分位數(shù),表示全部觀察值中有四分之一的數(shù)據(jù)取值比它小。QU稱為上四分位數(shù),表示全部觀察值中有四分之一的數(shù)據(jù)取值比它大。IQR稱為四分位數(shù)間距,是上四分位數(shù)QU與下四分位數(shù)QL之差,其間包含了全部觀察值的一半。箱線圖依據(jù)實(shí)際數(shù)據(jù)繪制,真實(shí)、直觀地表現(xiàn)出了數(shù)據(jù)分布的本來面貌,且沒有對(duì)數(shù)據(jù)做任何限制性要求,其判斷異常值的標(biāo)準(zhǔn)以四分位數(shù)和四分位數(shù)間距為基礎(chǔ)。四分位數(shù)給出了數(shù)據(jù)分布的中心、散布和形狀的某種指示,具有一定的魯棒性,即25%的數(shù)據(jù)可以變得任意遠(yuǎn)而不會(huì)很大地?cái)_動(dòng)四分位數(shù),所以異常值通常不能對(duì)這個(gè)標(biāo)準(zhǔn)施加影響。鑒于此,箱線圖識(shí)別異常值的結(jié)果比較客觀,因此在識(shí)別異常值方面具有一定的優(yōu)越性。檢測(cè)與處理異常值2.箱線圖分析1清洗數(shù)據(jù)目錄合并數(shù)據(jù)2標(biāo)準(zhǔn)化數(shù)據(jù)3轉(zhuǎn)換數(shù)據(jù)4小結(jié)5
離差標(biāo)準(zhǔn)化數(shù)據(jù)離差標(biāo)準(zhǔn)化公式數(shù)據(jù)的整體分布情況并不會(huì)隨離差標(biāo)準(zhǔn)化而發(fā)生改變,原先取值較大的數(shù)據(jù),在做完離差標(biāo)準(zhǔn)化后的值依舊較大。當(dāng)數(shù)據(jù)和最小值相等的時(shí)候,通過離差標(biāo)準(zhǔn)化可以發(fā)現(xiàn)數(shù)據(jù)變?yōu)?。若數(shù)據(jù)極差過大就會(huì)出現(xiàn)數(shù)據(jù)在離差標(biāo)準(zhǔn)化后數(shù)據(jù)之間的差值非常小的情況。同時(shí),還可以看出離差標(biāo)準(zhǔn)化的缺點(diǎn):若數(shù)據(jù)集中某個(gè)數(shù)值很大,則離差標(biāo)準(zhǔn)化的值就會(huì)接近于0,并且相互之間差別不大。若將來遇到超過目前屬性[min,max]取值范圍的時(shí)候,會(huì)引起系統(tǒng)出錯(cuò),這時(shí)便需要重新確定min和max。離差標(biāo)準(zhǔn)化數(shù)據(jù)離差標(biāo)準(zhǔn)化的特點(diǎn)
標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化數(shù)據(jù)標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化的公式及特點(diǎn)
小數(shù)定標(biāo)標(biāo)準(zhǔn)化數(shù)據(jù)小數(shù)定標(biāo)標(biāo)準(zhǔn)化公式及對(duì)比1清洗數(shù)據(jù)目錄合并數(shù)據(jù)2標(biāo)準(zhǔn)化數(shù)據(jù)3轉(zhuǎn)換數(shù)據(jù)4小結(jié)5數(shù)據(jù)分析模型中有相當(dāng)一部分的算法模型都要求輸入的特征為數(shù)值型,但實(shí)際數(shù)據(jù)中特征的類型不一定只有數(shù)值型,還會(huì)存在相當(dāng)一部分的類別型,這部分的特征需要經(jīng)過啞變量處理才可以放入模型之中。啞變量處理的原理示例如圖。啞變量處理類別數(shù)據(jù)啞變量處理Python中可以利用pandas庫中的get_dummies函數(shù)對(duì)類別型特征進(jìn)行啞變量處理。pandas.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,sparse=False,drop_first=False)啞變量處理類別數(shù)據(jù)get_dummies函數(shù)參數(shù)名稱說明data接收array、DataFrame或者Series。表示需要啞變量處理的數(shù)據(jù)。無默認(rèn)。prefix接收string、string的列表或者string的dict。表示啞變量化后列名的前綴。默認(rèn)為None。prefix_sep接收string。表示前綴的連接符。默認(rèn)為‘_’。dummy_na接收boolean。表示是否為Nan值添加一列。默認(rèn)為False。columns接收類似list的數(shù)據(jù)。表示DataFrame中需要編碼的列名。默認(rèn)為None,表示對(duì)所有object和category類型進(jìn)行編碼。sparse接收boolean。表示虛擬列是否是稀疏的。默認(rèn)為False。drop_first接收boolean。表示是否通過從k個(gè)分類級(jí)別中刪除第一級(jí)來獲得k-1個(gè)分類級(jí)別。默認(rèn)為False。對(duì)于一個(gè)類別型特征,若其取值有m個(gè),則經(jīng)過啞變量處理后就變成了m個(gè)二元特征,并且這些特征互斥,每次只有一個(gè)激活,這使得數(shù)據(jù)變得稀疏。對(duì)類別型特征進(jìn)行啞變量處理主要解決了部分算法模型無法處理類別型數(shù)據(jù)的問題,這在一定程度上起到了擴(kuò)充特征的作用。由于數(shù)據(jù)變成了稀疏矩陣的形式,因此也加速了算法模型的運(yùn)算速度。啞變量處理類別數(shù)據(jù)啞變量處理的特點(diǎn)某些模型算法,特別是某些分類算法如ID3決策樹算法和Apriori算法等,要求數(shù)據(jù)是離散的,此時(shí)就需要將連續(xù)型特征(數(shù)值型)變換成離散型特征(類別型)。連續(xù)特征的離散化就是在數(shù)據(jù)的取值范圍內(nèi)設(shè)定若干個(gè)離散的劃分點(diǎn),將取值范圍劃分為一些離散化的區(qū)間,最后用不同的符號(hào)或整數(shù)值代表落在每個(gè)子區(qū)間中的數(shù)據(jù)值。因此離散化涉及兩個(gè)子任務(wù),即確定分類數(shù)以及如何將連續(xù)型數(shù)據(jù)映射到這些類別型數(shù)據(jù)上。其原理如圖。離散化連續(xù)型數(shù)據(jù)離散化將數(shù)據(jù)的值域分成具有相同寬度的區(qū)間,區(qū)間的個(gè)數(shù)由數(shù)據(jù)本身的特點(diǎn)決定或者用戶指定,與制作頻率分布表類似。pandas提供了cut函數(shù),可以進(jìn)行連續(xù)型數(shù)據(jù)的等寬離散化,其基礎(chǔ)語法格式如下。pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)離散化連續(xù)型數(shù)據(jù)1.等寬法參數(shù)名稱說明x接收數(shù)組或Series。代表需要進(jìn)行離散化處理的數(shù)據(jù)。無默認(rèn)。bins接收int,list,array,tuple。若為int,代表離散化后的類別數(shù)目;若為序列類型的數(shù)據(jù),則表示進(jìn)行切分的區(qū)間,每?jī)蓚€(gè)數(shù)間隔為一個(gè)區(qū)間。無默認(rèn)。right接收boolean。代表右側(cè)是否為閉區(qū)間。默認(rèn)為True。labels接收list,array。代表離散化后各個(gè)類別的名稱。默認(rèn)為空。retbins接收boolean。代表是否返回區(qū)間標(biāo)簽。默認(rèn)為False。precision接收int。顯示的標(biāo)簽的精度。默認(rèn)為3。使用等寬法離散化的缺陷為:等寬法離散化對(duì)數(shù)據(jù)分布具有較高要求,若數(shù)據(jù)分布不均勻,那么各個(gè)類的數(shù)目也會(huì)變得非常不均勻,有些區(qū)間包含許多數(shù)據(jù),而另外一些區(qū)間的數(shù)據(jù)極少,這會(huì)嚴(yán)重?fù)p壞所建立的模型。離散化連續(xù)型數(shù)據(jù)1.等寬法cut函數(shù)雖然不能夠直接實(shí)現(xiàn)等頻離散化,但是可以通過定義將相同數(shù)量的記錄放進(jìn)每個(gè)區(qū)間。等頻法離散化的方法相比較于等寬法離散化而言,避免了類分布不均勻的問題,但同時(shí)卻也有可能將數(shù)值非常接近的兩個(gè)值分到不同的區(qū)間以滿足每個(gè)區(qū)間中固定的數(shù)據(jù)個(gè)數(shù)。離散化連續(xù)型數(shù)據(jù)2.等頻法一維聚類的方法包括兩個(gè)步驟:將連續(xù)型數(shù)據(jù)用聚類算法(如K-Means算法等)進(jìn)行聚類。處理聚類得到的簇,將合并到一個(gè)簇的連續(xù)型數(shù)據(jù)做同一標(biāo)記。聚類分析的離散化方法需要用戶指定簇的個(gè)數(shù),用來決定產(chǎn)生的區(qū)間數(shù)。k-Means聚類分析的離散化方法可以很好地根據(jù)現(xiàn)有特征的數(shù)據(jù)分布狀況進(jìn)行聚類,但是由于k-Means算法本身的缺陷,用該方法進(jìn)行離散化時(shí)依舊需要指定離散化后類別的數(shù)目。此時(shí)需要配合聚類算法評(píng)價(jià)方法,找出最優(yōu)的聚類簇?cái)?shù)目。離散化連續(xù)型數(shù)據(jù)3.基于聚類分析的方法1清洗數(shù)據(jù)目錄合并數(shù)據(jù)2標(biāo)準(zhǔn)化數(shù)據(jù)3轉(zhuǎn)換數(shù)據(jù)4小結(jié)5本章以菜品數(shù)據(jù)為例子,實(shí)現(xiàn)了數(shù)據(jù)分析的數(shù)據(jù)預(yù)處理過程,即數(shù)據(jù)清洗、數(shù)據(jù)合并、數(shù)據(jù)標(biāo)準(zhǔn)化和數(shù)據(jù)轉(zhuǎn)換。這四個(gè)步驟并不存在嚴(yán)格的先后關(guān)系,實(shí)際工作中往往需要交叉工作。數(shù)據(jù)清洗主要介紹了對(duì)重復(fù)數(shù)據(jù)、缺失值和異常值的處理。重復(fù)數(shù)據(jù)處理細(xì)分為記錄去重和特征去重。缺失值處理方法分為刪除、替換和插值。異常值介紹了3σ原則和箱線圖識(shí)別這兩種識(shí)別方法。數(shù)據(jù)合并是將多個(gè)數(shù)據(jù)源中的數(shù)據(jù)合并存放到一個(gè)數(shù)據(jù)存儲(chǔ)的過程。數(shù)據(jù)標(biāo)準(zhǔn)化介紹了如何將不同量綱的數(shù)據(jù)轉(zhuǎn)化為可以相互比較的標(biāo)準(zhǔn)化數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換介紹了如何從不同的應(yīng)用角度對(duì)已有特征進(jìn)行轉(zhuǎn)換。小結(jié)使用scikit-learn構(gòu)建模型1構(gòu)建并評(píng)價(jià)聚類模型目錄使用sklearn轉(zhuǎn)換器處理數(shù)據(jù)2構(gòu)建并評(píng)價(jià)分類模型3構(gòu)建并評(píng)價(jià)回歸模型4小結(jié)5sklearn庫的datasets模塊集成了部分?jǐn)?shù)據(jù)分析的經(jīng)典數(shù)據(jù)集,可以使用這些數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,建模等操作,熟悉sklearn的數(shù)據(jù)處理流程和建模流程。datasets模塊常用數(shù)據(jù)集的加載函數(shù)與解釋如下表所示。使用sklearn進(jìn)行數(shù)據(jù)預(yù)處理會(huì)用到sklearn提供的統(tǒng)一接口——轉(zhuǎn)換器(Transformer)。加載后的數(shù)據(jù)集可以視為一個(gè)字典,幾乎所有的sklearn數(shù)據(jù)集均可以使用data,target,feature_names,DESCR分別獲取數(shù)據(jù)集的數(shù)據(jù),標(biāo)簽,特征名稱和描述信息。加載datasets模塊中數(shù)據(jù)集數(shù)據(jù)集加載函數(shù)數(shù)據(jù)集任務(wù)類型數(shù)據(jù)集加載函數(shù)數(shù)據(jù)集任務(wù)類型load_boston回歸load_breast_cancer分類,聚類fetch_california_housing回歸load_iris分類,聚類load_digits分類load_wine分類datasets模塊常用數(shù)據(jù)集加載函數(shù)及其解釋在數(shù)據(jù)分析過程中,為了保證模型在實(shí)際系統(tǒng)中能夠起到預(yù)期作用,一般需要將樣本分成獨(dú)立的三部分:訓(xùn)練集(trainset):用于估計(jì)模型。驗(yàn)證集(validationset):用于確定網(wǎng)絡(luò)結(jié)構(gòu)或者控制模型復(fù)雜程度的參數(shù)。測(cè)試集(testset):用于檢驗(yàn)最優(yōu)的模型的性能。典型的劃分方式是訓(xùn)練集占總樣本的50%,而驗(yàn)證集和測(cè)試集各占25%。將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集常用劃分方式當(dāng)數(shù)據(jù)總量較少的時(shí)候,使用上面的方法將數(shù)據(jù)劃分為三部分就不合適了。常用的方法是留少部分做測(cè)試集,然后對(duì)其余N個(gè)樣本采用K折交叉驗(yàn)證法,基本步驟如下:將樣本打亂,均勻分成K份。輪流選擇其中K-1份做訓(xùn)練,剩余的一份做驗(yàn)證。計(jì)算預(yù)測(cè)誤差平方和,把K次的預(yù)測(cè)誤差平方和的均值作為選擇最優(yōu)模型結(jié)構(gòu)的依據(jù)。將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集K折交叉驗(yàn)證法sklearn的model_selection模塊提供了train_test_split函數(shù),能夠?qū)?shù)據(jù)集進(jìn)行拆分,其使用格式如下。sklearn.model_selection.train_test_split(*arrays,**options)將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集train_test_split函數(shù)參數(shù)名稱說明*arrays接收一個(gè)或多個(gè)數(shù)據(jù)集。代表需要?jiǎng)澐值臄?shù)據(jù)集,若為分類回歸則分別傳入數(shù)據(jù)和標(biāo)簽,若為聚類則傳入數(shù)據(jù)。無默認(rèn)。test_size接收float,int,None類型的數(shù)據(jù)。代表測(cè)試集的大小。如果傳入的為float類型的數(shù)據(jù)則需要限定在0-1之間,代表測(cè)試集在總數(shù)中的占比;如果傳入為int類型的數(shù)據(jù),則表示測(cè)試集記錄的絕對(duì)數(shù)目。該參數(shù)與train_size可以只傳入一個(gè)。在0.21版本前,若test_size和train_size均為默認(rèn)則testsize為25%。train_size接收float,int,None類型的數(shù)據(jù)。代表訓(xùn)練集的大小。該參數(shù)與test_size可以只傳入一個(gè)。random_state接收int。代表隨機(jī)種子編號(hào),相同隨機(jī)種子編號(hào)產(chǎn)生相同的隨機(jī)結(jié)果,不同的隨機(jī)種子編號(hào)產(chǎn)生不同的隨機(jī)結(jié)果。默認(rèn)為None。shuffle接收boolean。代表是否進(jìn)行有放回抽樣。若該參數(shù)取值為True則stratify參數(shù)必須不能為空。stratify接收array或者None。如果不為None,則使用傳入的標(biāo)簽進(jìn)行分層抽樣。train_test_split函數(shù)根據(jù)傳入的數(shù)據(jù),分別將傳入的數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集。如果傳入的是1組數(shù)據(jù),那么生成的就是這一組數(shù)據(jù)隨機(jī)劃分后訓(xùn)練集和測(cè)試集,總共2組。如果傳入的是2組數(shù)據(jù),則生成的訓(xùn)練集和測(cè)試集分別2組,總共4組。train_test_split是最常用的數(shù)據(jù)劃分方法,在model_selection模塊中還提供了其他數(shù)據(jù)集劃分的函數(shù),如PredefinedSplit,ShuffleSplit等。將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集train_test_split函數(shù)sklearn把相關(guān)的功能封裝為轉(zhuǎn)換器(transformer)。使用sklearn轉(zhuǎn)換器能夠?qū)崿F(xiàn)對(duì)傳入的NumPy數(shù)組進(jìn)行標(biāo)準(zhǔn)化處理,歸一化處理,二值化處理,PCA降維等操作。轉(zhuǎn)換器主要包括三個(gè)方法:使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維sklearn轉(zhuǎn)換器三個(gè)方法方法名稱說明fitfit方法主要通過分析特征和目標(biāo)值,提取有價(jià)值的信息,這些信息可以是統(tǒng)計(jì)量,也可以是權(quán)值系數(shù)等。transformtransform方法主要用來對(duì)特征進(jìn)行轉(zhuǎn)換。從可利用信息的角度可分為無信息轉(zhuǎn)換和有信息轉(zhuǎn)換。無信息轉(zhuǎn)換是指不利用任何其他信息進(jìn)行轉(zhuǎn)換,比如指數(shù)和對(duì)數(shù)函數(shù)轉(zhuǎn)換等。有信息轉(zhuǎn)換根據(jù)是否利用目標(biāo)值向量又可分為無監(jiān)督轉(zhuǎn)換和有監(jiān)督轉(zhuǎn)換。無監(jiān)督轉(zhuǎn)換指只利用特征的統(tǒng)計(jì)信息的轉(zhuǎn)換,比如標(biāo)準(zhǔn)化和PCA降維等。有監(jiān)督轉(zhuǎn)換指既利用了特征信息又利用了目標(biāo)值信息的轉(zhuǎn)換,比如通過模型選擇特征和LDA降維等。fit_transformfit_transform方法就是先調(diào)用fit方法,然后調(diào)用transform方法。在數(shù)據(jù)分析過程中,各類特征處理相關(guān)的操作都需要對(duì)訓(xùn)練集和測(cè)試集分開操作,需要將訓(xùn)練集的操作規(guī)則,權(quán)重系數(shù)等應(yīng)用到測(cè)試集中。如果使用pandas,則應(yīng)用至測(cè)試集的過程相對(duì)煩瑣,使用sklearn轉(zhuǎn)換器可以解決這一困擾。使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維sklearn轉(zhuǎn)換器函數(shù)名稱說明MinMaxScaler對(duì)特征進(jìn)行離差標(biāo)準(zhǔn)化。StandardScaler對(duì)特征進(jìn)行標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化。Normalizer對(duì)特征進(jìn)行歸一化。Binarizer對(duì)定量特征進(jìn)行二值化處理。OneHotEncoder對(duì)定性特征進(jìn)行獨(dú)熱編碼處理。FunctionTransformer對(duì)特征進(jìn)行自定義函數(shù)變換。使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維sklearn部分預(yù)處理函數(shù)與其作用sklearn除了提供基本的特征變換函數(shù)外,還提供了降維算法,特征選擇算法,這些算法的使用也是通過轉(zhuǎn)換器的方式。使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維PCA降維算法函數(shù)使用sklearn轉(zhuǎn)換器進(jìn)行數(shù)據(jù)預(yù)處理與降維PCA降維算法函數(shù)常用參數(shù)及其作用函數(shù)名稱說明n_components接收None,int,float或string。未指定時(shí),代表所有特征均會(huì)被保留下來;如果為int,則表示將原始數(shù)據(jù)降低到n個(gè)維度;如果為float,同時(shí)svd_solver參數(shù)等于full;賦值為string,比如n_components='mle',將自動(dòng)選取特征個(gè)數(shù)n,使得滿足所要求的方差百分比。默認(rèn)為None。copy接收bool。代表是否在運(yùn)行算法時(shí)將原始數(shù)據(jù)復(fù)制一份,如果為True,則運(yùn)行后,原始數(shù)據(jù)的值不會(huì)有任何改變;如果為False,則運(yùn)行PCA算法后,原始訓(xùn)練數(shù)據(jù)的值會(huì)發(fā)生改變。默認(rèn)為Truewhiten接收boolean。表示白化,所謂白化,就是對(duì)降維后的數(shù)據(jù)的每個(gè)特征進(jìn)行歸一化,讓方差都為1。默認(rèn)為False。svd_solver接收string{‘a(chǎn)uto’,‘full’,‘a(chǎn)rpack’,‘randomized’}。代表使用的SVD算法。randomized一般適用于數(shù)據(jù)量大,數(shù)據(jù)維度多,同時(shí)主成分?jǐn)?shù)目比例又較低的PCA降維,它使用了一些加快SVD的隨機(jī)算法。full是使用SciPy庫實(shí)現(xiàn)的傳統(tǒng)SVD算法。arpack和randomized的適用場(chǎng)景類似,區(qū)別是randomized使用的是sklearn自己的SVD實(shí)現(xiàn),而arpack直接使用了SciPy庫的sparseSVD實(shí)現(xiàn)。auto則代表PCA類會(huì)自動(dòng)在上述三種算法中去權(quán)衡,選擇一個(gè)合適的SVD算法來降維。默認(rèn)為auto。1構(gòu)建并評(píng)價(jià)聚類模型目錄使用sklearn轉(zhuǎn)換器處理數(shù)據(jù)2構(gòu)建并評(píng)價(jià)分類模型3構(gòu)建并評(píng)價(jià)回歸模型4小結(jié)5聚類的輸入是一組未被標(biāo)記的樣本,聚類根據(jù)數(shù)據(jù)自身的距離或相似度將他們劃分為若干組,劃分的原則是組內(nèi)樣本最小化而組間(外部)距離最大化,如圖所示。使用sklearn估計(jì)器構(gòu)建聚類模型聚類算法類別包括的主要算法劃分(分裂)方法K-Means算法(K-平均),K-MEDOIDS算法(K-中心點(diǎn))和CLARANS算法(基于選擇的算法)。層次分析方法BIRCH算法(平衡迭代規(guī)約和聚類),CURE算法(代表點(diǎn)聚類)和CHAMELEON算法(動(dòng)態(tài)模型)?;诿芏鹊姆椒―BSCAN算法(基于高密度連接區(qū)域),DENCLUE算法(密度分布函數(shù))和OPTICS算法(對(duì)象排序識(shí)別)?;诰W(wǎng)格的方法STING算法(統(tǒng)計(jì)信息網(wǎng)絡(luò)),CLIOUE算法(聚類高維空間)和WAVE-CLUSTER算法(小波變換)。使用sklearn估計(jì)器構(gòu)建聚類模型聚類方法類別sklearn常用的聚類算法模塊cluster提供的聚類算法及其適用范圍如下所示:使用sklearn估計(jì)器構(gòu)建聚類模型cluster提供的聚類算法及其適用范圍函數(shù)名稱參數(shù)適用范圍距離度量KMeans簇?cái)?shù)可用于樣本數(shù)目很大,聚類數(shù)目中等的場(chǎng)景。點(diǎn)之間的距離Spectralclustering簇?cái)?shù)可用于樣本數(shù)目中等,聚類數(shù)目較小的場(chǎng)景。圖距離Wardhierarchicalclustering簇?cái)?shù)可用于樣本數(shù)目較大,聚類數(shù)目較大的場(chǎng)景。點(diǎn)之間的距離Agglomerativeclustering簇?cái)?shù),鏈接類型,距離可用于樣本數(shù)目較大,聚類數(shù)目較大的場(chǎng)景。任意成對(duì)點(diǎn)線圖間的距離DBSCAN半徑大小,最低成員數(shù)目可用于樣本數(shù)目很大,聚類數(shù)目中等的場(chǎng)景。最近的點(diǎn)之間的距離Birch分支因子,閾值,可選全局集群可用于樣本數(shù)目很大,聚類數(shù)目較大的場(chǎng)景。點(diǎn)之間的歐式距離聚類算法實(shí)現(xiàn)需要sklearn估計(jì)器(estimator)。sklearn估計(jì)器和轉(zhuǎn)換器類似,擁有fit和predict兩個(gè)方法。兩個(gè)方法的作用如下。使用sklearn估計(jì)器構(gòu)建聚類模型sklearn估計(jì)器方法名稱說明fitfit方法主要用于訓(xùn)練算法。該方法可接收用于有監(jiān)督學(xué)習(xí)的訓(xùn)練集及其標(biāo)簽兩個(gè)參數(shù),也可以接收用于無監(jiān)督學(xué)習(xí)的數(shù)據(jù)。predictpredict用于預(yù)測(cè)有監(jiān)督學(xué)習(xí)的測(cè)試集標(biāo)簽,亦可以用于劃分傳入數(shù)據(jù)的類別。聚類完成后需要通過可視化的方式查看聚類效果,通過sklearn的manifold模塊中的TSNE函數(shù)可以實(shí)現(xiàn)多維數(shù)據(jù)的可視化展現(xiàn)。其原理是使用TSNE進(jìn)行數(shù)據(jù)降維,降成兩維。使用sklearn估計(jì)器構(gòu)建聚類模型TSNE函數(shù)聚類評(píng)價(jià)的標(biāo)準(zhǔn)是組內(nèi)的對(duì)象相互之間是相似的(相關(guān)的),而不同組中的對(duì)象是不同的(不相關(guān)的)。即組內(nèi)的相似性越大,組間差別越大,聚類效果就越好。sklearn的metrics模塊提供的聚類模型評(píng)價(jià)指標(biāo)。評(píng)價(jià)聚類模型聚類模型評(píng)價(jià)指標(biāo)方法名稱真實(shí)值最佳值sklearn函數(shù)ARI評(píng)價(jià)法(蘭德系數(shù))需要1.0adjusted_rand_scoreAMI評(píng)價(jià)法(互信息)需要1.0adjusted_mutual_info_scoreV-measure評(píng)分需要1.0completeness_scoreFMI評(píng)價(jià)法需要1.0fowlkes_mallows_score輪廓系數(shù)評(píng)價(jià)法不需要畸變程度最大silhouette_scoreCalinski-Harabasz指數(shù)評(píng)價(jià)法不需要相較最大calinski_harabaz_score上表總共列出了6種評(píng)價(jià)的方法,其中前4種方法均需要真實(shí)值的配合才能夠評(píng)價(jià)聚類算法的優(yōu)劣,后2種則不需要真實(shí)值的配合。但是前4種方法評(píng)價(jià)的效果更具有說服力,并且在實(shí)際運(yùn)行的過程中在有真實(shí)值做參考的情況下,聚類方法的評(píng)價(jià)可以等同于分類算法的評(píng)價(jià)。除了輪廓系數(shù)以外的評(píng)價(jià)方法,在不考慮業(yè)務(wù)場(chǎng)景的情況下都是得分越高,其效果越好,最高分值均為1。而輪廓系數(shù)則需要判斷不同類別數(shù)目的情況下其輪廓系數(shù)的走勢(shì),尋找最優(yōu)的聚類數(shù)目。在具備真實(shí)值作為參考的情況下,幾種方法均可以很好地評(píng)估聚類模型。在沒有真實(shí)值作為參考的時(shí)候,輪廓系數(shù)評(píng)價(jià)方法和Calinski-Harabasz指數(shù)評(píng)價(jià)方法可以結(jié)合使用。評(píng)價(jià)聚類模型聚類模型評(píng)價(jià)指標(biāo)1構(gòu)建并評(píng)價(jià)聚類模型目錄使用sklearn轉(zhuǎn)換器處理數(shù)據(jù)2構(gòu)建并評(píng)價(jià)分類模型3構(gòu)建并評(píng)價(jià)回歸模型4小結(jié)5在數(shù)據(jù)分析領(lǐng)域,分類算法有很多,其原理千差萬別,有基于樣本距離的最近鄰算法,有基于特征信息熵的決策樹,有基于bagging的隨機(jī)森林,有基于boosting的梯度提升分類樹,但其實(shí)現(xiàn)的過程相差不大。過程如圖所示。使用sklearn估計(jì)器構(gòu)建分類模型分類算法的實(shí)現(xiàn)過程sklearn中提供的分類算法非常多,分別存在于不同的模塊中。常用的分類算法如下表所示。使用sklearn估計(jì)器構(gòu)建分類模型sklearn庫常用分類算法函數(shù)模塊名稱函數(shù)名稱算法名稱linear_modelLogisticRegression邏輯斯蒂回歸svmSVC支持向量機(jī)neighborsKNeighborsClassifierK最近鄰分類naive_bayesGaussianNB高斯樸素貝葉斯treeDecisionTreeClassifier分類決策樹ensembleRandomForestClassifier隨機(jī)森林分類ensembleGradientBoostingClassifier梯度提升分類樹分類模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè)而得出的準(zhǔn)確率并不能很好地反映模型的性能,為了有效判斷一個(gè)預(yù)測(cè)模型的性能表現(xiàn),需要結(jié)合真實(shí)值,計(jì)算出精確率、召回率、F1值和Cohen’sKappa系數(shù)等指標(biāo)來衡量。常規(guī)分類模型的評(píng)價(jià)指標(biāo)如表所示。分類模型評(píng)價(jià)方法前4種都是分值越高越好,其使用方法基本相同。sklearn的metrics模塊還提供了一個(gè)能夠輸出分類模型評(píng)價(jià)報(bào)告的函數(shù)classfication_report。評(píng)價(jià)分類模型分類模型的評(píng)價(jià)指標(biāo)方法名稱最佳值sklearn函數(shù)Precision(精確率)1.0metrics.precision_scoreRecall(召回率)1.0metrics.recall_scoreF1值1.0metrics.f1_scoreCohen’sKappa系數(shù)1.0metrics.cohen_kappa_score
溫馨提示
- 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企業(yè)與股東之間的借款合同模板
- 2025家居裝修涂料采購合同模板
- 模板支撐體系建筑工程保溫施工合同
- 虛擬財(cái)產(chǎn)交易平臺(tái)結(jié)算服務(wù)與網(wǎng)絡(luò)支付安全協(xié)議
- 抖音內(nèi)部創(chuàng)作者競(jìng)爭(zhēng)權(quán)益保障協(xié)議
- 高效建筑項(xiàng)目鋼材期貨價(jià)格鎖定采購專項(xiàng)合同
- 歐洲分公司設(shè)立:跨區(qū)域市場(chǎng)拓展合作協(xié)議
- 2025年中國包裝印刷機(jī)行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 虛擬偶像形象使用權(quán)托管協(xié)議
- 游戲企業(yè)融資與風(fēng)險(xiǎn)投資合作協(xié)議
- 溝通的藝術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2023年九年級(jí)中考數(shù)學(xué)微專題+鉛垂法求三角形面積課件
- 企業(yè)級(jí)IPv6網(wǎng)絡(luò)改造及升級(jí)服務(wù)合同
- 甘肅省2023年中考語文現(xiàn)代文閱讀真題及答案
- 安徽省合肥市科大附中2025年第二次中考模擬初三數(shù)學(xué)試題試卷含解析
- 市政工程單位、分部、分項(xiàng)工程劃分方案
- 2024至2030年中國磁性元器件市場(chǎng)前景及投資發(fā)展戰(zhàn)略研究報(bào)告
- 人力資源服務(wù)派遣合同范本(2024版)
- 河南省洛陽市2023-2024學(xué)年八年級(jí)下學(xué)期期末質(zhì)量檢測(cè)英語試題
- CJT244-2016 游泳池水質(zhì)標(biāo)準(zhǔn)
- 淄博市臨淄區(qū)2022-2023學(xué)年七年級(jí)下學(xué)期期中數(shù)學(xué)試題
評(píng)論
0/150
提交評(píng)論