項(xiàng)目4 電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理-使用pandas進(jìn)行數(shù)據(jù)預(yù)處理_第1頁(yè)
項(xiàng)目4 電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理-使用pandas進(jìn)行數(shù)據(jù)預(yù)處理_第2頁(yè)
項(xiàng)目4 電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理-使用pandas進(jìn)行數(shù)據(jù)預(yù)處理_第3頁(yè)
項(xiàng)目4 電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理-使用pandas進(jìn)行數(shù)據(jù)預(yù)處理_第4頁(yè)
項(xiàng)目4 電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理-使用pandas進(jìn)行數(shù)據(jù)預(yù)處理_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

電商產(chǎn)品銷售數(shù)據(jù)預(yù)處理——使用pandas進(jìn)行數(shù)據(jù)預(yù)處理1清洗電商產(chǎn)品銷售數(shù)據(jù)目錄合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)2標(biāo)準(zhǔn)化電商產(chǎn)品銷售數(shù)據(jù)3變換電商產(chǎn)品銷售數(shù)據(jù)4任務(wù)描述某電商產(chǎn)品銷售數(shù)據(jù)分別存儲(chǔ)在訂單數(shù)據(jù)和商品信息數(shù)據(jù)兩個(gè)數(shù)據(jù)表中。本任務(wù)將合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù),豐富數(shù)據(jù)維度,以便于后續(xù)更能更全局、整體的觀察、分析數(shù)據(jù),有利于發(fā)現(xiàn)更多有價(jià)值的信息。部分訂單信息數(shù)據(jù)如下表。合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)訂單發(fā)生時(shí)間訂單編號(hào)商品編號(hào)用戶編號(hào)訂單是否退款銷售渠道銷售平臺(tái)類型2023/4/2411:50sys_1000000pr1000541user_102124否渠道12應(yīng)用程序2023/4/2414:37sys_1000001pr1016251user_109188否渠道8應(yīng)用程序2023/4/2910:46sys_1000020pr1016251user_109188否渠道8應(yīng)用程序2023/4/2910:46sys_1000020pr1000060user_109188否渠道8應(yīng)用程序2023/10/2119:40sys_1281426pr1011688user_109188否渠道8應(yīng)用程序商品信息數(shù)據(jù)如下表。任務(wù)分析使用merge函數(shù)以訂單編號(hào)、商品編號(hào)、用戶編號(hào)為主鍵,內(nèi)連接合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)。合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)訂單編號(hào)商品編號(hào)商品類別編號(hào)商品類別代碼商品品牌名稱商品售出價(jià)格/美元用戶編號(hào)用戶年齡/歲用戶性別用戶地區(qū)sys_1000000pr1000541c1309電子產(chǎn)品-平板電腦品牌1162.01user_10212424女地區(qū)Asys_1000001pr1016251c1341電子產(chǎn)品-音頻設(shè)備-耳機(jī)品牌277.52user_10918838女地區(qū)Bsys_1000020pr1016251c1341電子產(chǎn)品-音頻設(shè)備-耳機(jī)品牌277.52user_10918838女地區(qū)Bsys_1000020pr1000060c1341電子產(chǎn)品-音頻設(shè)備-耳機(jī)品牌3203.68user_10918838女地區(qū)B橫向堆疊,即將兩個(gè)表在x軸向拼接在一起,可以使用concat函數(shù)完成。concat函數(shù)的基本使用格式如下。concat函數(shù)的常用參數(shù)及其說明如下表。堆疊合并數(shù)據(jù)1.橫向堆疊參數(shù)名稱參數(shù)說明objs接收多個(gè)Series、DataFrame、Panel的組合。表示參與連接的pandas對(duì)象的列表的組合。無默認(rèn)值axis接收int。表示連接的軸向,可選0和1。默認(rèn)為0pandas.concat(objs,axis=0,join='outer',ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,sort=False,copy=True)concat函數(shù)的常用參數(shù)及其說明(續(xù)表)。堆疊合并數(shù)據(jù)參數(shù)名稱參數(shù)說明join接收str。表示其他軸向上的索引是按交集(inner)還是并集(outer)進(jìn)行合并。默認(rèn)為outerignore_index接收bool。表示是否不保留連接軸上的索引,產(chǎn)生一組新索引range(total_length)。默認(rèn)為Falsekeys接收sequence。表示與連接對(duì)象有關(guān)的值,用于形成連接軸向上的層次化索引。默認(rèn)為Nonelevels接收包含多個(gè)sequence的list。表示在指定keys參數(shù)后,指定用作層次化索引各級(jí)別上的索引。默認(rèn)為Nonenames接收l(shuí)ist。表示在設(shè)置了keys和levels參數(shù)后,用于創(chuàng)建分層級(jí)別的名稱。默認(rèn)為Noneverify_integrity接收bool。表示檢查新連接的軸是否包含重復(fù)項(xiàng),如果發(fā)現(xiàn)重復(fù)項(xiàng),那么引發(fā)異常。默認(rèn)為Falsesort接收bool。表示對(duì)非連接軸進(jìn)行排序。默認(rèn)為Falsecopy接受bool。表示是否有必要復(fù)制數(shù)據(jù)。默認(rèn)為True當(dāng)參數(shù)axis=1時(shí),concat函數(shù)可做行對(duì)齊,然后將不同列名稱的兩張或多張表合并。當(dāng)兩個(gè)表索引不完全一樣時(shí),可以設(shè)置join參數(shù)選擇是內(nèi)連接還是外連接。在內(nèi)連接的情況下,僅僅返回索引重疊部分?jǐn)?shù)據(jù);在外連接的情況下,則顯示索引的并集部分?jǐn)?shù)據(jù),不足的地方則使用空值填補(bǔ),橫向堆疊外連接示例如圖所示。當(dāng)兩份數(shù)據(jù)行索引完全一樣時(shí),不論join參數(shù)的取值是inner或outer,結(jié)果都是將兩個(gè)表完全按照x軸拼接起來。堆疊合并數(shù)據(jù)使用concat函數(shù)時(shí),在默認(rèn)情況下,即axis=0,concat函數(shù)做列對(duì)齊,將不同行索引的兩張或多張表縱向合并。在兩張表的列名并不完全相同的情況下,可以使用join參數(shù)。當(dāng)join參數(shù)取值為inner時(shí),返回的僅僅是列名的交集所代表的列。當(dāng)join參數(shù)取值為outer時(shí),返回的是兩者列名的并集所代表的列。其原理示意如圖。當(dāng)兩張表的列名完全相同時(shí),不論join參數(shù)的取值是inner還是outer,結(jié)果都是將兩個(gè)表完全按照y軸拼接起來。堆疊合并數(shù)據(jù)2.縱向堆疊主鍵合并,即通過一個(gè)或多個(gè)鍵將兩個(gè)數(shù)據(jù)集的行連接起來,類似于SQL中的join。針對(duì)兩張包含不同特征的表,將根據(jù)某幾個(gè)特征做為主鍵,將表一一對(duì)應(yīng)拼接起來

,合并后數(shù)據(jù)的列數(shù)為兩個(gè)原數(shù)據(jù)表的列數(shù)之和減去主鍵列的數(shù)量

主鍵合并數(shù)據(jù)和數(shù)據(jù)庫(kù)的join一樣,merge函數(shù)也有左連接(left)、右連接(right)、內(nèi)連接(inner)和外連接(outer)。比起數(shù)據(jù)庫(kù)SQL語(yǔ)言中的join,merge函數(shù)還有其自身獨(dú)到之處,如可以在合并過程中對(duì)數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行排序等,merge函數(shù)的基本使用格式如下。根據(jù)merge函數(shù)中的參數(shù)說明,并按照需求修改相關(guān)參數(shù),即可以多種方法實(shí)現(xiàn)主鍵合并。主鍵合并數(shù)據(jù)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,validate=None)merge函數(shù)的常用參數(shù)及其說明。主鍵合并數(shù)據(jù)參數(shù)名稱參數(shù)說明left接收DataFrame或Series。表示要添加的新數(shù)據(jù)1。無默認(rèn)值right接收DataFrame或Series。表示要添加的新數(shù)據(jù)2。無默認(rèn)值how接收“inner”“outer”“l(fā)eft”或“right”。表示數(shù)據(jù)的連接方式。默認(rèn)為inneron接收str或sequence。表示兩個(gè)數(shù)據(jù)合并的主鍵(必須一致)。默認(rèn)為Noneleft_on接收str或sequence。表示left參數(shù)接收數(shù)據(jù)用于合并的主鍵。默認(rèn)為Nonemerge函數(shù)的常用參數(shù)及其說明(續(xù)表)。主鍵合并數(shù)據(jù)參數(shù)名稱參數(shù)說明right_on接收str或sequence。表示right參數(shù)接收數(shù)據(jù)用于合并的主鍵。默認(rèn)為Noneleft_index接收bool。表示是否將left參數(shù)接收數(shù)據(jù)的index作為連接主鍵。默認(rèn)為Falseright_index接收bool。表示是否將right參數(shù)接收數(shù)據(jù)的index作為連接主鍵。默認(rèn)為Falsesort接收bool。表示是否根據(jù)連接鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序。默認(rèn)為Falsesuffixes接收tuple。表示用于追加到left和right參數(shù)接收數(shù)據(jù)列名相同時(shí)的后綴。默認(rèn)為('_x','_y')除了使用merge函數(shù)以外,使用join()方法也可以實(shí)現(xiàn)部分主鍵合并的功能。但是當(dāng)使用join()方法時(shí),兩個(gè)主鍵的名字必須相同,join()方法的基本使用格式如下。主鍵合并數(shù)據(jù)pandas.DataFrame.join(other,on=None,how='left',lsuffix='',rsuffix='',sort=False,validate=None)join()函數(shù)的常用參數(shù)及其說明。主鍵合并數(shù)據(jù)參數(shù)名稱參數(shù)說明other接收DataFrame、Series或包含多個(gè)DataFrame的list。表示參與連接的其他DataFrame。無默認(rèn)值on接收列名、包含列名的list或tuple。表示用于連接的列名。默認(rèn)為Nonehow接收特定str。表示連接方式。當(dāng)取值為“inner”時(shí)代表內(nèi)連接;當(dāng)取值為“outer”時(shí)代表外連接;當(dāng)取值為“l(fā)eft”時(shí)代表左連接;當(dāng)取值為“right”時(shí)代表右連接。默認(rèn)為leftlsuffix接收str。表示追加到左側(cè)重疊列名的后綴。無默認(rèn)值rsuffix接收str。表示追加到右側(cè)重疊列名的后綴。無默認(rèn)值sort接收bool。表示根據(jù)主鍵對(duì)合并后的數(shù)據(jù)進(jìn)行排序。默認(rèn)為False在數(shù)據(jù)分析和數(shù)據(jù)處理過程中偶爾會(huì)出現(xiàn)兩份數(shù)據(jù)的內(nèi)容幾乎一致的情況,但是某些特征在其中一張表上是完整的,而在另外一張表上的數(shù)據(jù)則是缺失的。combine_first()方法來進(jìn)行重疊數(shù)據(jù)合并,其原理如下圖所示。重疊合并數(shù)據(jù)combine_first()方法的基本使用格式如下。combine_first()方法的常用參數(shù)及其說明表如下。重疊合并數(shù)據(jù)參數(shù)名稱參數(shù)說明other接收DataFrame。表示參與重疊合并的另一個(gè)DataFrame。無默認(rèn)值pandas.DataFbine_first(other)1清洗電商產(chǎn)品銷售數(shù)據(jù)目錄合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)2標(biāo)準(zhǔn)化電商產(chǎn)品銷售數(shù)據(jù)3變換電商產(chǎn)品銷售數(shù)據(jù)4任務(wù)描述由于數(shù)據(jù)來源的多樣性和數(shù)據(jù)采集的復(fù)雜性,可能存在一些數(shù)據(jù)質(zhì)量問題,如重復(fù)值、缺失值和異常值等。為了確保數(shù)據(jù)的質(zhì)量和準(zhǔn)確性,以及后續(xù)的數(shù)據(jù)分析和決策的可靠性,需要對(duì)數(shù)據(jù)進(jìn)行清洗。本任務(wù)將通過清洗電商產(chǎn)品銷售數(shù)據(jù),確保數(shù)據(jù)的準(zhǔn)確性和一致性,為后續(xù)的數(shù)據(jù)分析、市場(chǎng)營(yíng)銷和決策制定提供可靠的基礎(chǔ)。任務(wù)分析(1)檢測(cè)電商產(chǎn)品銷售數(shù)據(jù)中的重復(fù)值情況,并對(duì)重復(fù)值進(jìn)行刪除處理。(2)檢測(cè)電商產(chǎn)品銷售數(shù)據(jù)中的缺失值情況,并對(duì)缺失值進(jìn)行刪除處理。(3)檢測(cè)電商產(chǎn)品銷售數(shù)據(jù)中的異常值情況,并對(duì)異常值進(jìn)行刪除處理。清洗電商產(chǎn)品銷售數(shù)據(jù)記錄重復(fù),即一個(gè)或多個(gè)特征的某幾條記錄的值完全相同。方法一:利用列表(list)去重,自定義去重函數(shù)。方法二:利用集合(set)元素唯一的特性去重。比較上述兩種方法可以發(fā)現(xiàn),方法一代碼冗長(zhǎng)。方法二看似代碼簡(jiǎn)潔了許多,但是會(huì)導(dǎo)致數(shù)據(jù)的排列發(fā)生改變。檢測(cè)與處理重復(fù)值1.記錄重復(fù)pandas提供了一個(gè)名為drop_duplicates的去重方法,使用該方法進(jìn)行去重不會(huì)改變數(shù)據(jù)原始排列,并且兼具代碼簡(jiǎn)潔和運(yùn)行穩(wěn)定的特點(diǎn)。不僅支持單一特征的數(shù)據(jù)去重,還能夠依據(jù)DataFrame的其中一個(gè)或多個(gè)特征進(jìn)行去重操作。drop_duplicates()方法的基本使用格式如下。檢測(cè)與處理重復(fù)值pandas.DataFrame.drop_duplicates(subset=None,keep='first',inplace=False,ignore_index=False)drop_duplicates()方法的常用參數(shù)及其說明。檢測(cè)與處理重復(fù)值參數(shù)名稱參數(shù)說明subset接收str或sequence。表示進(jìn)行去重的特征。默認(rèn)為Nonekeep接收特定str。表示重復(fù)時(shí)保留第幾個(gè)數(shù)據(jù),“first”表示保留第一個(gè);“l(fā)ast”表示保留最后一個(gè);False表示只要有重復(fù)都不保留。默認(rèn)為firstinplace接收bool。表示是否在原表上進(jìn)行操作。默認(rèn)為Falseignore_index接收bool。表示是否忽略索引。默認(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ù)進(jìn)行調(diào)節(jié),目前還支持spearman法和kendall法。通過相似度矩陣去重存在一個(gè)弊端是只能對(duì)數(shù)值型重復(fù)特征去重,類別型特征之間無法通過計(jì)算相似系數(shù)來衡量相似度,因此無法根據(jù)相似度矩陣對(duì)其進(jìn)行去重處理。除了使用相似度矩陣進(jìn)行特征去重之外,還可以通過equals()方法進(jìn)行特征去重。檢測(cè)與處理重復(fù)值2.特征重復(fù)equals()方法的基本使用格式如下。equals()方法的參數(shù)說明表如下。檢測(cè)與處理重復(fù)值參數(shù)名稱參數(shù)說明other接收Series或DataFrame。表示要與第一個(gè)Series或DataFrame進(jìn)行比較的另一個(gè)Series或DataFrame。無默認(rèn)值pandas.DataFrame.equals(other)在數(shù)據(jù)中的某個(gè)或某些特征的值是不完整的,這些值稱為缺失值。pandas提供了識(shí)別缺失值的isnull()方法以及識(shí)別非缺失值的notnull()方法,這兩種方法在使用時(shí)返回的都是布爾值,即True和False。結(jié)合sum函數(shù)、isnull()方法和notnull()方法,可以檢測(cè)數(shù)據(jù)中缺失值的分布以及數(shù)據(jù)中一共含有多少缺失值。isnull()方法和notnull()方法的結(jié)果正好相反,因此使用其中任意一個(gè)都可以識(shí)別出數(shù)據(jù)是否存在缺失值。檢測(cè)與處理缺失值刪除法是指將含有缺失值的特征或記錄刪除。刪除法分為刪除觀測(cè)記錄和刪除特征兩種,它屬于通過減少樣本量來?yè)Q取信息完整度的一種方法,是一種較為簡(jiǎn)單的缺失值處理方法。pandas中提供了簡(jiǎn)便的刪除缺失值的dropna()方法,通過控制參數(shù),既可以刪除觀測(cè)記錄,又可以刪除特征。dropna()方法的基本使用格式如下。檢測(cè)與處理缺失值1.刪除法pandas.DataFrame.dropna(*,axis=0,how=any,thresh=None,subset=None,inplace=False,ignore_index=False)dropna()方法的常用參數(shù)及其說明。檢測(cè)與處理缺失值參數(shù)名稱參數(shù)說明axis接收0或1。表示軸向,0為刪除觀測(cè)記錄(行),1為刪除特征(列)。默認(rèn)為0how接收特定str。表示刪除的形式,當(dāng)取值為any時(shí),表示只要有缺失值存在就執(zhí)行刪除操作;當(dāng)取值為all時(shí),表示當(dāng)且僅當(dāng)全部為缺失值時(shí)才執(zhí)行刪除操作。默認(rèn)為anythresh接收int。表示保留至少含有n(thresh參數(shù)值)個(gè)非空數(shù)值的行。默認(rèn)為Nonesubset接收array。表示進(jìn)行去重的列/行。默認(rèn)為Noneinplace接收bool。表示是否在原表上進(jìn)行操作。默認(rèn)為False替換法是指用一個(gè)特定的值替換缺失值。特征可分為數(shù)值型和類別型,兩者出現(xiàn)缺失值時(shí)的處理方法也是不同的。當(dāng)缺失值所在特征為數(shù)值型時(shí),通常利用其均值、中位數(shù)或眾數(shù)等描述其集中趨勢(shì)的統(tǒng)計(jì)量來代替缺失值。當(dāng)缺失值所在特征為類別型時(shí),則選擇使用眾數(shù)來替換缺失值。檢測(cè)與處理缺失值2.替換法pandas庫(kù)中提供了缺失值替換的fillna()方法,fillna()方法的基本使用格式如下。fillna()方法的常用參數(shù)及其說明如下。檢測(cè)與處理缺失值pandas.DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None,downcast=None)參數(shù)名稱參數(shù)說明value接收scalar、dict、Series或DataFrame。表示用于替換缺失值的值。默認(rèn)為Nonemethod接收特定str。表示填補(bǔ)缺失值的方式。當(dāng)取值為“backfilll”或“bfill”時(shí)表示使用下一個(gè)非缺失值來填補(bǔ)缺失值;當(dāng)取值為“pad”或“ffill”時(shí)表示使用上一個(gè)非缺失值來填補(bǔ)缺失值。默認(rèn)為Nonefillna()方法的常用參數(shù)及其說明(續(xù)表)。檢測(cè)與處理缺失值參數(shù)名稱參數(shù)說明axis接收0或1。表示軸向。默認(rèn)為Noneinplace接收bool。表示是否在原表上進(jìn)行操作。默認(rèn)為Falselimit接收int。表示填補(bǔ)缺失值個(gè)數(shù)上限,超過則不進(jìn)行填補(bǔ)。默認(rèn)為Nonedowncast接收dict。表示轉(zhuǎn)換數(shù)據(jù)類型。默認(rèn)為None刪除法簡(jiǎn)單易行,但是會(huì)引起數(shù)據(jù)結(jié)構(gòu)變動(dòng),樣本減少;替換法使用難度較低,但是會(huì)影響數(shù)據(jù)的標(biāo)準(zhǔn)差,導(dǎo)致信息量變動(dòng)。線性插值是一種較為簡(jiǎn)單的插值方法,它針對(duì)已知的值求出線性方程,通過求解線性方程得到缺失值。檢測(cè)與處理缺失值3.插值法多項(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è)與處理缺失值從擬合結(jié)果可以看出,在多項(xiàng)式插值和樣條插值兩種情況下的擬合都非常出色,線性插值法只在自變量和因變量為線性關(guān)系的情況下擬合才較為出色。在實(shí)際分析過程中,由于自變量與因變量的關(guān)系是線性的情況非常少見,所以在大多數(shù)情況下,多項(xiàng)式插值和樣條插值是較為合適的選擇。SciPy庫(kù)中的interpolate模塊除了提供常規(guī)的插值法外,還提供了如在圖形學(xué)領(lǐng)域具有重要作用的重心坐標(biāo)插值(BarycentricInterpolator)等。在實(shí)際應(yīng)用中,需要根據(jù)不同的場(chǎng)景選擇合適的插值方法。檢測(cè)與處理缺失值3σ原則又稱為拉依達(dá)準(zhǔn)則,其原則就是先假設(shè)一組檢測(cè)數(shù)據(jù)只含有隨機(jī)誤差,對(duì)原始數(shù)據(jù)進(jìn)行計(jì)算處理得到標(biāo)準(zhǔn)差,然后按一定的概率確定一個(gè)區(qū)間,認(rèn)為數(shù)據(jù)超過這個(gè)區(qū)間就屬于異常。3σ原則僅適用于對(duì)正態(tài)或近似正態(tài)分布的樣本數(shù)據(jù)進(jìn)行處理。正態(tài)分布數(shù)據(jù)的3σ原則如下表所示,其中σ代表標(biāo)準(zhǔn)差,μ代表均值。數(shù)據(jù)的數(shù)值分布幾乎全部集中在區(qū)間(μ

3σ,μ+3σ)內(nèi),超出這個(gè)范圍的數(shù)據(jù)僅占不到0.3%。故根據(jù)小概率原理,可以認(rèn)為超出3σ的部分為異常數(shù)據(jù)。檢測(cè)與處理異常值1.3σ原則數(shù)值分布在數(shù)據(jù)中的占比(μ

σ,

σ)0.6827(μ

2σ,

2σ)0.9545(μ

3σ,

3σ)0.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之差,其間包含了全部觀察值的一半。檢測(cè)與處理異常值2.

箱線圖分析箱線圖依據(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è)與處理異常值1清洗電商產(chǎn)品銷售數(shù)據(jù)目錄合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)2標(biāo)準(zhǔn)化電商產(chǎn)品銷售數(shù)據(jù)3變換電商產(chǎn)品銷售數(shù)據(jù)4任務(wù)描述不同商品因其特性和成本差異,售價(jià)可能跨越極大的范圍。標(biāo)準(zhǔn)化能夠?qū)?shù)據(jù)轉(zhuǎn)換到同一量級(jí)上,使得在分析過程中不會(huì)因?yàn)榱烤V或數(shù)量級(jí)的差異而產(chǎn)生偏誤。本任務(wù)將對(duì)商品售出價(jià)格進(jìn)行標(biāo)準(zhǔn)化,確保在綜合分析中每個(gè)商品的價(jià)格特征具有同等的重要性。任務(wù)分析利用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化的計(jì)算方法,使用mean()方法和std()方法對(duì)商品售出價(jià)格進(jìn)行標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化。標(biāo)準(zhǔn)化電商產(chǎn)品銷售數(shù)據(jù)離差標(biāo)準(zhǔn)化是對(duì)原始數(shù)據(jù)的一種線性變換,結(jié)果是將原始數(shù)據(jù)的數(shù)值映射到[0,1]區(qū)間,轉(zhuǎn)換公式如下。其中,X表示原始數(shù)據(jù)值,

為原始數(shù)據(jù)的均值,為原始數(shù)據(jù)的標(biāo)準(zhǔn)差。離差標(biāo)準(zhǔn)化保留了原始數(shù)據(jù)值之間的聯(lián)系,是消除量綱和數(shù)據(jù)取值范圍影響較為簡(jiǎn)單的方法。離差標(biāo)準(zhǔn)化前后的數(shù)據(jù)的整體分布情況并未發(fā)生改變,原先取值較大的數(shù)據(jù),在做完離差標(biāo)準(zhǔn)化后的值依舊較大。離差標(biāo)準(zhǔn)化的缺點(diǎn):若數(shù)值集中某個(gè)數(shù)值很大,則規(guī)范化后各其余值會(huì)接近于0,并且將會(huì)相差不大。離差標(biāo)準(zhǔn)化數(shù)據(jù)標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化也叫零均值標(biāo)準(zhǔn)化或z分?jǐn)?shù)標(biāo)準(zhǔn)化,是當(dāng)前使用較為廣泛的數(shù)據(jù)標(biāo)準(zhǔn)化方法,經(jīng)過該方法處理的數(shù)據(jù)均值為0,標(biāo)準(zhǔn)差為1,轉(zhuǎn)化公式如下式。其中,X表示原始數(shù)據(jù)值,為原始數(shù)據(jù)的均值,

為原始數(shù)據(jù)的標(biāo)準(zhǔn)差。標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化后的值區(qū)間不局限于[0,1],并且存在負(fù)值。同時(shí)也不難發(fā)現(xiàn),標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化和離差標(biāo)準(zhǔn)化一樣不會(huì)改變數(shù)據(jù)的分布情況。標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化數(shù)據(jù)通過移動(dòng)數(shù)據(jù)的小數(shù)位數(shù),將數(shù)據(jù)映射到區(qū)間[-1,1],移動(dòng)的小數(shù)位數(shù)取決于數(shù)據(jù)絕對(duì)值的最大值,其轉(zhuǎn)化公式如下式。3種標(biāo)準(zhǔn)化方法各有其優(yōu)勢(shì)。離差標(biāo)準(zhǔn)化方法簡(jiǎn)單,便于理解,標(biāo)準(zhǔn)化后的數(shù)據(jù)限定在[0,1]區(qū)間內(nèi)。標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化受數(shù)據(jù)分布的影響較小。小數(shù)定標(biāo)標(biāo)準(zhǔn)化方法的適用范圍廣,并且受數(shù)據(jù)分布的影響較小,相比較于前兩種方法,該方法適用程度適中。小數(shù)定標(biāo)標(biāo)準(zhǔn)化數(shù)據(jù)1清洗電商產(chǎn)品銷售數(shù)據(jù)目錄合并訂單信息數(shù)據(jù)和商品信息數(shù)據(jù)2標(biāo)準(zhǔn)化電商產(chǎn)品銷售數(shù)據(jù)3變換電商產(chǎn)品銷售數(shù)據(jù)4任務(wù)描述根據(jù)數(shù)據(jù)的特性,通常會(huì)包含類別型或連續(xù)型的數(shù)據(jù)。通過變換數(shù)據(jù),如啞變量轉(zhuǎn)換類別型數(shù)據(jù)、離散化連續(xù)型數(shù)據(jù)等,可以使得數(shù)據(jù)更適合特定的分析任務(wù),提高模型的準(zhǔn)確性和可靠性。本任務(wù)將對(duì)電商產(chǎn)品銷售數(shù)據(jù)中的類別型數(shù)據(jù)和連續(xù)型數(shù)據(jù)分別進(jìn)行啞變量處理和離散化處理。任務(wù)分析(1)使用get_dummies函數(shù)對(duì)性別、銷售渠道、平臺(tái)類型數(shù)據(jù)進(jìn)行啞變量處理。(2)使用cut函數(shù)對(duì)年齡、商品售出價(jià)格進(jìn)行離散化。變換電商產(chǎn)品銷售數(shù)據(jù)在數(shù)據(jù)分析模型中有相當(dāng)一部分的算法模型都要求輸入的特征為數(shù)值型特征,但在實(shí)際數(shù)據(jù)中,特征的類型不一定只有數(shù)值型,還會(huì)存在相當(dāng)一部分的類別型。類別型特征需要經(jīng)過啞變量處理后才可以放入模型之中。啞變量處理的示例如下圖。啞變量處理類別型數(shù)據(jù)在Python中可以利用pandas庫(kù)中的get_dummies函數(shù)對(duì)類別型特征進(jìn)行啞變量處理,get_dummies函數(shù)的基本使用格式如下。get_dummies函數(shù)的常用參數(shù)及其說明如下。啞變量處理類別型數(shù)據(jù)pandas.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,sparse=False,drop_first=False,dtype=None)參數(shù)名稱參數(shù)說明data接收array、DataFrame或Series。表示需要啞變量處理的數(shù)據(jù)。無默認(rèn)值prefix接收str、str的列表或str的dict。表示啞變量化后列名的前綴。默認(rèn)為Noneprefix_sep接收str。表示前綴的連接符。默認(rèn)為“_”get_dummies函數(shù)的常用參數(shù)及其說明(續(xù)表)。啞變量處理類別型數(shù)據(jù)參數(shù)名稱參數(shù)說明dummy_na接收bool。表示是否為NaN值添加一列。默認(rèn)為Falsecolumns接收類似list的數(shù)據(jù)。表示DataFrame中需要編碼的列名。默認(rèn)為Nonesparse接收bool。表示虛擬列是否是稀疏的。默認(rèn)為Falsedrop_first接收bool。表示是否通過從k個(gè)分類級(jí)別中刪除第一級(jí)來獲得k

1個(gè)分類級(jí)別。默認(rèn)為Falsedtype接收數(shù)據(jù)類型。表示處理后新列的數(shù)據(jù)類型。默認(rèn)為None對(duì)于一個(gè)類別型特征,若其取值有m個(gè),則經(jīng)過啞變量處理后將變成了m個(gè)二元特征,并且這些特征互斥,每次只有一個(gè)激活,這使得數(shù)據(jù)變得稀疏。對(duì)類別型特征進(jìn)行啞變量處理主要解決了部分算法模型無法處理類別型數(shù)據(jù)的問題,在一定程度上起到了擴(kuò)充特征的作用。由于數(shù)據(jù)變成了稀疏矩陣的形式,因此也加快了算法模型的運(yùn)算速度。啞變量處理類別型數(shù)據(jù)某些模型算法,特別是分類算法,如ID3決策樹算法和Apriori算法等,要求數(shù)據(jù)是離散的,此時(shí)就需要將連續(xù)型特征數(shù)據(jù)(數(shù)值型)變換成離散型特征數(shù)據(jù)(類別型),即連續(xù)特征離散化。連續(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ù)特征離散化示例如圖。離散化連續(xù)型數(shù)據(jù)等寬法將數(shù)據(jù)的值域分成具有相同寬度的區(qū)間,區(qū)間的個(gè)數(shù)由數(shù)據(jù)本身的特點(diǎn)決定或由用戶指定,與制作頻率分布表類似。pandas提供了cut函數(shù),可以進(jìn)行連續(xù)型數(shù)據(jù)的等寬離散化,其基礎(chǔ)語(yǔ)法如下。cut函數(shù)的常用參數(shù)及其說明如下。離

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論