《數(shù)據(jù)挖掘與機器學(xué)習(xí)》 課件 項目四 電商平臺運輸行為預(yù)測-邏輯回歸_第1頁
《數(shù)據(jù)挖掘與機器學(xué)習(xí)》 課件 項目四 電商平臺運輸行為預(yù)測-邏輯回歸_第2頁
《數(shù)據(jù)挖掘與機器學(xué)習(xí)》 課件 項目四 電商平臺運輸行為預(yù)測-邏輯回歸_第3頁
《數(shù)據(jù)挖掘與機器學(xué)習(xí)》 課件 項目四 電商平臺運輸行為預(yù)測-邏輯回歸_第4頁
《數(shù)據(jù)挖掘與機器學(xué)習(xí)》 課件 項目四 電商平臺運輸行為預(yù)測-邏輯回歸_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

處理電商平臺用戶行為數(shù)據(jù)電商平臺用戶購買預(yù)測——邏輯回歸任務(wù)描述某電商平臺需要對該平臺的運輸行為進(jìn)行分析,并預(yù)測運輸行為是否會按時到達(dá)。本任務(wù)需要對這些數(shù)據(jù)進(jìn)行處理和分析,以幫助該電商平臺更好地了解運輸行為,并優(yōu)化運輸策略,提高客戶滿意度。在處理敏感的電商平臺用戶數(shù)據(jù)時,需要特別關(guān)注網(wǎng)絡(luò)信息安全問題。在數(shù)據(jù)預(yù)處理過程中,應(yīng)當(dāng)采取措施保證用戶數(shù)據(jù)的機密性、完整性和可用性。本任務(wù)的目標(biāo)是對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理與探索,包括數(shù)據(jù)的啞變量處理和屬性構(gòu)造。任務(wù)要求探索電商平臺運輸行為數(shù)據(jù)。對性別變量進(jìn)行啞變量處理。構(gòu)造總成本的特征。啞變量處理離散化處理屬性構(gòu)造啞變量處理什么是啞變量處理?在某些分類問題中,原始數(shù)據(jù)可能包含一些分類變量(也稱為離散變量),如性別、顏色等。男女無法識別啞變量處理啞變量處理:即將每個分類變量拆分成多個二元變量。拆分后性別變量變?yōu)椤澳小薄芭眱煞N形式,其中1表示肯定,0表示否定。用戶ID性別1男2女3男4男5女6女7男8女9男10男性別_男性別_女10011010010110011010啞變量處理01如何實現(xiàn)啞變量處理?

在Python中,使用pandas庫的get_dummies函數(shù)可以對類別型數(shù)據(jù)進(jìn)行啞變量處理,其基本使用格式如下。啞變量處理pd.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,sparse=False,drop_first=False)啞變量處理get_dummies函數(shù)常用參數(shù)及其說明參數(shù)名稱說明data接收DataFrame。表示輸入數(shù)據(jù)集,無默認(rèn)值prefix接收字符串。表示虛擬變量的名稱前綴,默認(rèn)為Noneprefix_sep接收字符串。表示虛擬變量的名稱前綴與原始列名之間的分隔符,默認(rèn)為'_'dummy_na接收字符串或列表。表示是否添加一列表示缺失值,默認(rèn)為Falsecolumns接收字符串或列表。要進(jìn)行獨熱編碼的列名,默認(rèn)為Nonesparse接收bool。表示是否使用稀疏矩陣表示虛擬變量,默認(rèn)為Falsedrop_first接收bool。表示是否刪除每個虛擬變量的第一列,默認(rèn)為False雙十一是中國的網(wǎng)購狂歡節(jié)。一家電商品牌公司統(tǒng)計了其旗艦店老客戶在雙十一期間的是否購買某美妝產(chǎn)品的消費者信息數(shù)據(jù)。啞變量處理例題用戶ID年齡/歲地區(qū)歷史消費金額/元是否購買128北京12001232上海8000325廣州5000440上海32001535深圳15001627廣州6000730北京9001826北京7000938北京240011029上海10000例題分析對地區(qū)變量進(jìn)行啞變量處理主要通過以下4個步驟實現(xiàn)。觀察啞變量處理前的數(shù)據(jù)集選取數(shù)據(jù)集的“地區(qū)”變量列將“地區(qū)”列按照類別“北上廣深”拆分為4個二元變量輸出啞變量處理后的數(shù)據(jù)集處理電商平臺用戶行為數(shù)據(jù)電商平臺用戶購買預(yù)測——邏輯回歸任務(wù)描述某電商平臺需要對該平臺的運輸行為進(jìn)行分析,并預(yù)測運輸行為是否會按時到達(dá)。本任務(wù)需要對這些數(shù)據(jù)進(jìn)行處理和分析,以幫助該電商平臺更好地了解運輸行為,并優(yōu)化運輸策略,提高客戶滿意度。在處理敏感的電商平臺用戶數(shù)據(jù)時,需要特別關(guān)注網(wǎng)絡(luò)信息安全問題。在數(shù)據(jù)預(yù)處理過程中,應(yīng)當(dāng)采取措施保證用戶數(shù)據(jù)的機密性、完整性和可用性。本任務(wù)的目標(biāo)是對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理與探索,包括數(shù)據(jù)的啞變量處理和屬性構(gòu)造。任務(wù)要求探索電商平臺運輸行為數(shù)據(jù)。對性別變量進(jìn)行啞變量處理。構(gòu)造總成本的特征。啞變量處理離散化處理屬性構(gòu)造離散化處理離散化處理主要應(yīng)用于某些場景下的連續(xù)變量數(shù)據(jù),將其轉(zhuǎn)化為離散變量數(shù)據(jù),從而降低數(shù)據(jù)的復(fù)雜度、降低計算量,提高模型的建立和訓(xùn)練效率。常見的離散化方法有等寬離散化、等頻離散化等,可以根據(jù)實際情況選擇不同的離散化方法。什么是離散化處理?等寬法等寬法(Equi-WidthBinning)將變量的取值范圍劃分為k個等寬的區(qū)間,將落在同一個區(qū)間內(nèi)的數(shù)據(jù)歸為同一類。什么是等寬法?012345678910111213

14等寬法等寬法(Equi-WidthBinning)將變量的取值范圍劃分為k個等寬的區(qū)間,將落在同一個區(qū)間內(nèi)的數(shù)據(jù)歸為同一類。什么是等寬法?01234567891011

121314等寬法等寬法劃分示例圖用戶ID年齡1282323254405356277308269381029年齡[26-30][31-35][20-25][36-40][31-35][26-30][26-30][26-30][36-40][26-30]如何實現(xiàn)等寬法處理?

在Python中,使用pandas庫的cut函數(shù)可以實現(xiàn)等寬離散化處理,其基本使用格式如下。等寬法pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')cut函數(shù)常用參數(shù)及其說明等寬法pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')參數(shù)名稱說明x接收Series或Numpy。表示輸入的數(shù)據(jù)集,無默認(rèn)值bins接收int。指定離散化的區(qū)間,可以是一個整數(shù)、一個序列(表示區(qū)間邊緣的數(shù)值)或者字符串(表示自定義區(qū)間的名稱),無默認(rèn)值right接收bool。是否包含右邊界,默認(rèn)為Truelabels接收bool。指定離散化后每個區(qū)間的標(biāo)簽,可以是一個列表或數(shù)組,長度應(yīng)該與分組后的區(qū)間數(shù)量相同。默認(rèn)為Nonecut函數(shù)常用參數(shù)及其說明等寬法retbins接收bool。是否返回每個區(qū)間的邊界值,默認(rèn)為Falseprecision接收int。設(shè)置顯示區(qū)間邊界的小數(shù)位數(shù),默認(rèn)為3include_lowest接收bool。是否將最小值包含在第一個區(qū)間內(nèi),默認(rèn)為Falseduplicates接收指定str。當(dāng)區(qū)間存在重復(fù)時,指定如何處理。默認(rèn)為raise參數(shù)名稱說明pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise')等寬法對年齡變量進(jìn)行等寬離散化處理主要通過以下4個步驟實現(xiàn)。觀察離散化處理前的數(shù)據(jù)集選取數(shù)據(jù)集的“年齡”變量列將“年齡”列按照相同間距劃分為4個區(qū)間輸出離散化處理后的數(shù)據(jù)集等頻法等頻法(Equi-DepthBinning)將變量的取值范圍劃分為k個區(qū)間,每個區(qū)間包含大致相等數(shù)量的數(shù)據(jù)點,也稱為分位數(shù)法(QuantileBinning)。什么是等頻法?等頻法等頻法(Equi-DepthBinning)將變量的取值范圍劃分為k個區(qū)間,每個區(qū)間包含大致相等數(shù)量的數(shù)據(jù)點,也稱為分位數(shù)法(QuantileBinning)。什么是等頻法?等頻法如何實現(xiàn)等頻法處理?

在Python中,使用pandas庫的qcut函數(shù)可以實現(xiàn)等頻離散化處理,其基本使用格式如下。pandas.qcut(x,q,labels=None,retbins=False,precision=3,duplicates='raise')等頻法qcut函數(shù)常用參數(shù)及其說明pandas.qcut(x,q,labels=None,retbins=False,precision=3,duplicates='raise')參數(shù)名稱說明retbins接收bool類型。表示是否返回每個區(qū)間的邊界值,默認(rèn)為Falseprecision接收int。表示設(shè)置顯示區(qū)間邊界的小數(shù)位數(shù),默認(rèn)為3duplicates接收指定str。表示當(dāng)區(qū)間存在重復(fù)時,指定如何處理。默認(rèn)為raisex接收Series或Numpy。表示輸入數(shù)據(jù)集。無默認(rèn)值q接收int或列表。表示指定要分成的區(qū)間數(shù)量,表示分位數(shù)。無默認(rèn)值labels接收bool、int、序列或bool標(biāo)記。表示指定離散化后每個區(qū)間的標(biāo)簽,可以是一個列表或數(shù)組,長度應(yīng)該與分組后的區(qū)間數(shù)量相同。如果未指定,則默認(rèn)為整數(shù)索引等頻法對歷史消費金額變量進(jìn)行等頻離散化處理主要通過以下4個步驟實現(xiàn)。觀察離散化處理前的數(shù)據(jù)集選取數(shù)據(jù)集的“歷史消費金額”變量列按照“歷史消費金額”將顧客消費水平等頻劃分為3個消費等級輸出離散化處理后的數(shù)據(jù)集屬性構(gòu)造是指在某些場景下,原始數(shù)據(jù)可能不夠完整或不夠豐富,無法滿足模型的需求。在這種情況下,可以采用屬性構(gòu)造,即通過計算、轉(zhuǎn)換、組合等方式生成新的屬性來增加數(shù)據(jù)的信息量,以便在建模時能夠更好地反映實際情況。屬性構(gòu)造什么是屬性構(gòu)造?屬性構(gòu)造什么是屬性構(gòu)造?是否購買歷史消費金額年齡地區(qū)

[20,25][26,30][31,35][36,40]

北京上海廣州深圳

進(jìn)行屬性構(gòu)造屬性構(gòu)造什么是屬性構(gòu)造?歷史消費金額

進(jìn)行屬性構(gòu)造

歷史消費金額差異消費金額平均消費金額

屬性構(gòu)造構(gòu)造歷史消費金額差異屬性主要通過以下4個步驟實現(xiàn)。計算歷史消費金額的平均值計算每個用戶消費金額與平均值的差值并單獨保存一列,名為“歷史消費金額差異”輸出屬性構(gòu)造后的數(shù)據(jù)集輸出離散化處理后的數(shù)據(jù)集處理電商平臺運輸行為數(shù)據(jù)電商平臺運輸行為預(yù)測——邏輯回歸任務(wù)描述某電商平臺需要對該平臺的運輸行為進(jìn)行分析,并預(yù)測運輸行為是否會按時到達(dá)。本任務(wù)需要對這些數(shù)據(jù)進(jìn)行處理和分析,以幫助該電商平臺更好地了解運輸行為,并優(yōu)化運輸策略,提高客戶滿意度。在處理敏感的電商平臺用戶數(shù)據(jù)時,需要特別關(guān)注網(wǎng)絡(luò)信息安全問題。在數(shù)據(jù)預(yù)處理過程中,應(yīng)當(dāng)采取措施保證用戶數(shù)據(jù)的機密性、完整性和可用性。本任務(wù)的目標(biāo)是對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理與探索,包括數(shù)據(jù)的啞變量處理和屬性構(gòu)造。任務(wù)要求探索電商平臺運輸行為數(shù)據(jù)。對性別變量進(jìn)行啞變量處理。構(gòu)造總成本的特征。讀取電商平臺運輸行為數(shù)據(jù)啞變量處理屬性構(gòu)造讀取電商平臺運輸行為數(shù)據(jù)讀取電商平臺運輸行為數(shù)據(jù)主要通過以下6個步驟實現(xiàn)。查看電商平臺運輸行為數(shù)據(jù)讀取數(shù)據(jù)查看數(shù)據(jù)維度查看數(shù)據(jù)類型分析產(chǎn)品重要程度分析是否按時到達(dá)查看電商平臺運輸行為數(shù)據(jù)考慮到電商平臺用戶數(shù)據(jù)的敏感性和網(wǎng)絡(luò)信息安全問題,在采取保證用戶數(shù)據(jù)的機密性、完整性和可用性的基礎(chǔ)上,已到數(shù)據(jù)進(jìn)行脫敏處理,加強個人信息保護(hù)。脫敏后的特征說明如表所示??蛻鬒D客戶的ID號,已經(jīng)過脫敏處理公司廠庫公司的倉庫編號,分為1~5等區(qū)裝運方式裝運產(chǎn)品的方式,分為船舶、飛行和公路。其中0代表公路,1表示船舶,2表示飛行客戶服務(wù)電話數(shù)量從詢價到詢價的客戶服務(wù)電話總數(shù)量字段字段說明查看電商平臺運輸行為數(shù)據(jù)考慮到電商平臺用戶數(shù)據(jù)的敏感性和網(wǎng)絡(luò)信息安全問題,在采取保證用戶數(shù)據(jù)的機密性、完整性和可用性的基礎(chǔ)上,已到數(shù)據(jù)進(jìn)行脫敏處理,加強個人信息保護(hù)。脫敏后的特征說明如表所示。運輸數(shù)量運輸數(shù)量字段字段說明客戶評價公司已對每位客戶進(jìn)行了評價。1為最低,5為最高產(chǎn)品重要性公司根據(jù)產(chǎn)品的重要程度,為0~10的評分?jǐn)?shù)產(chǎn)品成本產(chǎn)品成本查看電商平臺運輸行為數(shù)據(jù)考慮到電商平臺用戶數(shù)據(jù)的敏感性和網(wǎng)絡(luò)信息安全問題,在采取保證用戶數(shù)據(jù)的機密性、完整性和可用性的基礎(chǔ)上,已到數(shù)據(jù)進(jìn)行脫敏處理,加強個人信息保護(hù)。脫敏后的特征說明如表所示。字段字段說明性別客戶的性別重量產(chǎn)品的重量折扣針對該特定產(chǎn)品提供的折扣準(zhǔn)時到達(dá)商品是否準(zhǔn)時到達(dá)。其中0表示未按時到達(dá)產(chǎn)品,1表示已按時到達(dá)讀取數(shù)據(jù)使用pandas庫中read_csv函數(shù)讀取用戶行為數(shù)據(jù)。查看電子商務(wù)運輸數(shù)據(jù),輸出前5行數(shù)據(jù)。讀取數(shù)據(jù)維度使用pandas庫中shape屬性可以得到DataFrame對象的維度信息。返回一個包含行數(shù)和列數(shù)的元組。查看數(shù)據(jù)類型使用pandas庫中info()方法查看電商平臺運輸行為數(shù)據(jù)類型。分析產(chǎn)品重要程度使用Python中的pandas庫中的cut函數(shù)可以對產(chǎn)品重要性進(jìn)行等寬離散化處理。使用Matplotlib庫的pie函數(shù)繪制產(chǎn)品重要程度分布餅圖。讀取電商平臺運輸行為數(shù)據(jù)使用Matplotlib庫的pie函數(shù)繪制是否按時到達(dá)分布的餅圖。由圖可知,初始數(shù)據(jù)集中有53.9%的客戶按時到達(dá),46.1%的客戶未按時到達(dá)。啞變量處理使用pandas庫中g(shù)et_dummies函數(shù)對性別變量進(jìn)行啞變量處理。將一元變量性別拆分為性別_男和性別_女二元變量,并查看處理后的數(shù)據(jù)情況??蛻鬒D性別1男2女3女4女5男性別_男性別_女1001010110屬性說明想要得到測試集的類別標(biāo)簽,需要模型經(jīng)過訓(xùn)練集學(xué)習(xí),模型在訓(xùn)練集上學(xué)習(xí)的其實就是特征。在給模型輸入數(shù)據(jù)時,實際上模型用到的是特征及其相應(yīng)的類別標(biāo)簽,而特征就是用于描述為什么該樣本的類別標(biāo)簽如此。在本例中即用于描述某用戶運輸行為準(zhǔn)時/不準(zhǔn)時。結(jié)合生活經(jīng)驗及業(yè)務(wù)理解,為數(shù)據(jù)集增加“總成本”屬性。構(gòu)造總成本屬性使用pandas的DataFrame數(shù)據(jù)結(jié)構(gòu)df訪問“產(chǎn)品成本”和“運輸數(shù)量”這兩個屬性列,并將它們相乘,得到每個客戶的總成本。將總成本除以1000,得到以千元為單位的總成本,并將結(jié)果存儲在一個新的列“總成本/千元”中。保存數(shù)據(jù)使用pandas庫的to_csv()方法將處理后的數(shù)據(jù)保存為新的數(shù)據(jù)集“新電子商務(wù)運輸數(shù)據(jù).csv”。保存路徑為tmp文件,保留原有的中文表頭且不保存行索引。構(gòu)建電商平臺運輸行為預(yù)測電商平臺用戶購買預(yù)測——邏輯回歸任務(wù)描述電商平臺運輸預(yù)測是一項非常重要的任務(wù)。堅持一切為了人民,通過預(yù)測用戶的運輸行為,電商平臺可以更好地了解用戶需求。然而,運輸行為往往是一個難以捉摸的過程,不受規(guī)律和時間限制的影響,這給預(yù)測模型的建立帶來了很大的挑戰(zhàn)。本任務(wù)基于邏輯回歸模型,從歷史交互數(shù)據(jù)中學(xué)習(xí)運輸行為的一般特征,預(yù)測下一個月用戶可能會運輸哪些品牌。將重點關(guān)注電商平臺用戶的運輸行為,提高運輸預(yù)測的準(zhǔn)確率,優(yōu)化平臺的運營管理和商業(yè)決策,從而提高平臺的競爭力和收益。任務(wù)要求利用sklearn庫建立邏輯回歸模型。邏輯回歸模型邏輯回歸模型二分類問題是一種基本的分類問題,它涉及將數(shù)據(jù)樣本分為兩個不同的類別或標(biāo)簽中的一個。例如,將垃圾郵件與正常郵件分類、將腫瘤分為惡性和良性等都是二分類問題。在二分類問題中,通常將一個類別標(biāo)記為“正例”(positive)和另一個標(biāo)記為“反例”(negative)。分類模型的目標(biāo)是學(xué)習(xí)如何將輸入特征與相應(yīng)的標(biāo)簽相關(guān)聯(lián),以便在新的未知數(shù)據(jù)上進(jìn)行分類預(yù)測。邏輯回歸模型常用的二分類算法包括邏輯回歸、決策樹、隨機森林等。這些算法在不同的數(shù)據(jù)集和應(yīng)用場景中表現(xiàn)不同,因此,選擇合適的算法以及進(jìn)行適當(dāng)?shù)奶卣鞴こ淌沁M(jìn)行二分類任務(wù)的重要部分。邏輯回歸模型在任務(wù)3.1的學(xué)習(xí)中已經(jīng)介紹了線性回歸的一般形式,給出了自變量x與因變量y成線性關(guān)系時所建立的函數(shù)關(guān)系。但是,現(xiàn)實場景中更多的情況y不是與x成線性關(guān)系,而是與x的某個函數(shù)成線性關(guān)系,此時需要引入廣義線性回歸模型。需要注意的是,邏輯回歸雖然稱作“回歸”,但實際上是一種分類算法。該算法期望所有預(yù)測值都介于0~1之間。具體的分類方法為設(shè)定一個分類閾值,將預(yù)測結(jié)果y大于分類閾值的樣本歸為正類,反之歸為反類。邏輯回歸模型邏輯回歸雖然稱作“回歸”,但實際上是一種分類算法。該算法期望所有預(yù)測值都介于0~1之間。具體的分類方法為設(shè)定一個分類閾值,將預(yù)測結(jié)果y大于分類閾值的樣本歸為正類,反之歸為反類。決策邊界邏輯回歸模型假設(shè)函數(shù)如下式所示。

表示分類閾值參數(shù)集。

上式的圖像如圖所示,保證了所有函數(shù)值都介于[0,1]之間。Logstic函數(shù)如下式所示。邏輯回歸模型合并左邊兩式轉(zhuǎn)為標(biāo)準(zhǔn)邏輯回歸形式如左式所示。

邏輯回歸模型建模步驟根據(jù)分析目的設(shè)置因變量和自變量,并進(jìn)行屬性篩選列出線性回歸方程,估計回歸系數(shù)模型檢驗?zāi)P皖A(yù)測邏輯回歸模型LogisticRegression類使用scikit-learn庫中l(wèi)inear_model模塊的LogisticRegression類可以建立邏輯回歸模型,其語法格式如下。classsklearn.linear_model.LogisticRegression(penalty='l2',dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_start=False,n_jobs=1)邏輯回歸模型LogisticRegression類常用參數(shù)及其說明penalty接收str。表示正則化選擇參數(shù),可選l1或l2。默認(rèn)為l2solver接收str。表示優(yōu)化算法選擇參數(shù),可選參數(shù)為newton-cg、lbfg、liblinear、sag,當(dāng)penalty='l2'時,4種都可選;當(dāng)penalty='l1'時,只能選liblinear。默認(rèn)為liblinearmulti_class接收str。表示分類方式選擇參數(shù),可選ovr和multinomial。默認(rèn)為ovr參數(shù)名稱說明classsklearn.linear_model.LogisticRegression(penalty='l2',dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_start=False,n_jobs=1)邏輯回歸模型LogisticRegression類常用參數(shù)及其說明class_weight接收balanced以及字典。表示類型權(quán)重參數(shù),如對于因變量取值為0或1的二元模型,可以定義class_weight={0:0.9,1:0.1},這樣類型0的權(quán)重為90%,而類型1的權(quán)重為10%。默認(rèn)為Nonecopy_X接收bool。表示是否復(fù)制數(shù)據(jù)表進(jìn)行運算。默認(rèn)為Truen_jobs接收int。表示計算時使用的核數(shù)。默認(rèn)為1參數(shù)名稱說明classsklearn.linear_model.LogisticRegression(penalty='l2',dual=False,tol=0.0001,C=1.0,fit_intercept=True,intercept_scaling=1,class_weight=None,random_state=None,solver='liblinear',max_iter=100,multi_class='ovr',verbose=0,warm_start=False,n_jobs=1)邏輯回歸模型人才是第一資源,碩士研究生招生考試競爭非常激烈,尤其是在一些熱門專業(yè)中,招生人數(shù)往往遠(yuǎn)遠(yuǎn)少于報考人數(shù)。因此,考生需要充分準(zhǔn)備,提高自己的綜合素質(zhì)和應(yīng)試能力,加快建設(shè)教育強國。研究生入學(xué)考試分為初試和復(fù)試兩個環(huán)節(jié)。下表為某高校某專業(yè)2022年考生的考研分?jǐn)?shù)數(shù)據(jù)集,其中初試成績已按比例處理為百分制。初試成績復(fù)試成績錄取結(jié)果34.6278.02094.8345.69135.8472.900………55.3464.93142.0878.840邏輯回歸模型繪制數(shù)據(jù)集的散點圖構(gòu)建邏輯回歸模型預(yù)測考生錄取情況繪制決策邊界使用LogisticRegression構(gòu)建考生錄取情況預(yù)測模型主要分為以下四個步驟。構(gòu)建邏輯回歸模型繪制運輸預(yù)測結(jié)果柱形圖構(gòu)建邏輯回歸模型讀取數(shù)據(jù)提取特征變量和目標(biāo)變量拆分訓(xùn)練集和測試集構(gòu)建模型使用LogisticRegression構(gòu)建電商平臺運輸行為預(yù)測主要分為以下五個步驟。對電商平臺運輸行為進(jìn)行預(yù)測讀取數(shù)據(jù)使用pandas庫中read_csv函數(shù)讀取處理后的電子商務(wù)運輸數(shù)據(jù)。提取特征變量和目標(biāo)變量從原始數(shù)據(jù)集中提取出特征變量(即用于預(yù)測的變量)和目標(biāo)變量(即要預(yù)測的變量)??蛻鬒D公司廠庫裝運方式客戶服務(wù)電話數(shù)量客戶評價產(chǎn)品成本運輸數(shù)量產(chǎn)品重要性折扣重量準(zhǔn)時到達(dá)性別_女性別_男總成本/千元特征變量目標(biāo)變量拆分訓(xùn)練集和測試集將數(shù)據(jù)集拆分為訓(xùn)練集和測試集。使用訓(xùn)練集對模型進(jìn)行訓(xùn)練,使用測試集對構(gòu)建的模型進(jìn)行測試,其中測試集占整個數(shù)據(jù)集的20%。使用train_test_split類拆分為訓(xùn)練集和測試集構(gòu)建邏輯回歸模型使用LogisticRegression類構(gòu)建電商平臺運輸邏輯回歸預(yù)測模型。對電商平臺運輸行為進(jìn)行預(yù)測利用訓(xùn)練后的電商平臺運輸行為預(yù)測模型來預(yù)測測試集中的運輸行為。繪制運輸預(yù)測結(jié)果柱形圖使用柱形圖可視化展示預(yù)測得到的各類型的柱形圖。觀察圖可以看出模型的預(yù)測結(jié)果,預(yù)測前的真實值是861人運輸不準(zhǔn)時,1068人運輸準(zhǔn)時。預(yù)測后的結(jié)果是964運輸不準(zhǔn)時,965人運輸準(zhǔn)時。評估與優(yōu)化電商平臺運輸行為預(yù)測電商平臺用戶購買預(yù)測——邏輯回歸任務(wù)描述電商平臺運輸預(yù)測模型已經(jīng)建立,通過各種指標(biāo)(例如準(zhǔn)確率、召回率、精確率等)來評價模型的性能,并找出模型存在的不足之處。在了解模型不足的地方之后,可以采用類不平衡問題處理等方法改進(jìn)模型,以優(yōu)化模型,提高模型預(yù)測效果,貫徹高質(zhì)量發(fā)展精神。不斷地優(yōu)化模型,使其在預(yù)測電商客戶運輸行為方面的準(zhǔn)確率和效果不斷提高。任務(wù)要求使用sklearn.metrics模塊對邏輯回歸模型進(jìn)行評價。使用imblearn庫解決類不平衡問題。混淆矩陣、準(zhǔn)確率與召回率ROC曲線樣本平衡混淆矩陣(ConfusionMatrix)是模式識別領(lǐng)域中一種常用的表達(dá)形式,描繪樣本數(shù)據(jù)的真實屬性與識別結(jié)果類型之間的關(guān)系,是評價分類器性能的一種常用方法,并且可以將分類問題的結(jié)果進(jìn)行可視化。以一個二分類任務(wù)為例,可將樣本根據(jù)真實類別與預(yù)測的分類結(jié)果的組合劃分為真正例(TruePositive,TP)、假正例(FalsePositive,F(xiàn)P)、真反例(TrueNegative,TN)和假反例(FalseNegative,F(xiàn)N)共4種情形,并對應(yīng)其樣本數(shù),則有總樣本數(shù)=TP+FP+FN+TN?;煜仃嚪诸惤Y(jié)束后的混淆矩陣如表所示?;煜仃囌鎸嵔Y(jié)果預(yù)測結(jié)果正類反類正類TPFN反類FPTNTP:正確地將正樣本預(yù)測為正樣本的分類數(shù)FN:錯誤地將正樣本預(yù)測為負(fù)樣本的分類數(shù)FP:錯誤地將負(fù)樣本預(yù)測為正樣本的分類數(shù)TN:正確地將負(fù)樣本預(yù)測為負(fù)樣本的分類數(shù)準(zhǔn)確率(Accuracy)是指分類器正確分類的樣本數(shù)與總樣本數(shù)之比,它可以展示分類器的整體分類效果。準(zhǔn)確率定義如式所示。

準(zhǔn)確率取值范圍為[0,1],取值越高表示分類模型效果越好,完美分類的準(zhǔn)確率為1,完全隨機猜測的準(zhǔn)確率為分類的類別數(shù)的倒數(shù)。準(zhǔn)確率召回率(Recall),是指分類器正確分類的正樣本數(shù)與實際正樣本數(shù)之比,它可以展示分類器對于正樣本的分類效果,用于評估模型對正類的識別能力。計算公式如公式所示。召回率的取值范圍為[0,1],取值越大表示模型在預(yù)測正樣本方面的能力越強,即能夠更準(zhǔn)確地將正樣本識別出來。當(dāng)召回率為1時,表示模型能夠?qū)⑺姓龢颖径甲R別出來,沒有遺漏,這是理想的情況。召回率classification_report是一個用于生成分類報告的類,用于評估分類模型的性能。它計算并打印出準(zhǔn)確率、召回率、F1-score和support等指標(biāo)。分類報告ROC曲線接收者操作特征曲線(ReceiverOperatingCharacteristiccurve,ROC曲線)是一種非常有效的模型評價方法,可為選定臨界值給出定量提示。正確地將正例預(yù)測為正例的比率為縱坐標(biāo)錯誤地將負(fù)例預(yù)測為正例的比率為橫坐標(biāo)該曲線下的面積(AUC)為0.93,而面積的大小與每種方法的優(yōu)劣密切相關(guān),可反映分類器正確分類的統(tǒng)計概率,因此,其值越接近1說明該算法效果越好。在Python中,使用sklearn.metrics模塊中的roc_curve類中的roc_curve函數(shù)可以計算ROC曲線,其基本使用格式如下。ROC曲線fpr,tpr,thresholds=roc_curve(y_true,y_score,pos_label=None,sample_weight=None,drop_intermediate=True)ROC曲線roc_curve函數(shù)常用參數(shù)及其說明如下。參數(shù)名稱說明y_true接收數(shù)組。表示樣本真實的標(biāo)簽,必須為0或1。無默認(rèn)值y_score接收數(shù)組。表示分類器預(yù)測的樣本得分,可以是概率值、決策函數(shù)的值等。無默認(rèn)值pos_label接收int或str。表示正類的標(biāo)簽。默認(rèn)為Nonesample_weight接收數(shù)組。表示樣本的權(quán)重,可以用于不平衡樣本的處理。默認(rèn)為Nonedrop_intermediate接收bool。表示是否刪除不必要的閾值點,如果為True,則只返回fpr和tpr值中有效的部分。默認(rèn)為True對邏輯回歸模型進(jìn)行評價對考生錄取預(yù)測模型進(jìn)行評價主要通過以下4個步驟實現(xiàn)。計算考生錄取情況預(yù)測模型的混淆矩陣計算考生錄取情況預(yù)測模型的準(zhǔn)確率與召回率計算考生錄取情況預(yù)測模型的分類報告繪制考生錄取情況預(yù)測模型的ROC曲線在現(xiàn)實分類模型中,常存在類別不平衡問題,即指在數(shù)據(jù)集中,不同類別的樣本數(shù)量差別很大,其中一個類別的樣本數(shù)量遠(yuǎn)遠(yuǎn)少于另一個類別的樣本數(shù)量。這種情況在機器學(xué)習(xí)任務(wù)中很常見,如欺詐檢測、罕見病預(yù)測等。如果不處理類別不平衡問題,那么訓(xùn)練得到的模型可能會偏向于樣本數(shù)量多的類別,對樣本數(shù)量少的類別預(yù)測效果較差。樣本平衡什么是類別不平衡?解決類別不平衡問題的方法有欠采樣、過采樣等。欠采樣是一種處理類不平衡問題的方法,它通過減少多數(shù)類樣本的數(shù)量來達(dá)到平衡樣本分布的目的。欠采樣的主要思想是從多數(shù)類中隨機選擇一部分樣本作為訓(xùn)練集,使得多數(shù)類樣本數(shù)量和少數(shù)類樣本數(shù)量相近。在Python中,可以使用imblearn庫中under_sampling模塊的RandomUnderSampler類實現(xiàn)欠采樣。樣本平衡如何解決類別不平衡問題?SMOTE(SyntheticMinorityOver-samplingTechnique)是一種常見的過采樣方法,它通過生成新的合成樣本來增加少數(shù)類別的樣本數(shù)量,從而平衡數(shù)據(jù)集中各個類別的樣本數(shù)量。它主要是通過生成一些與小類樣本相似的樣本來達(dá)到平衡數(shù)據(jù)的目的。該算法不是簡單復(fù)地制小類樣本,而是增加新的并不存在的樣本,因此在一定程度上可以避免過擬合的問題。樣本平衡SMOTE過采樣SMOTE算法的實現(xiàn)過程如下

樣本平衡對于少數(shù)類樣本中的每一個樣本,計算其與所有少數(shù)類樣本的歐氏距離。選取距離該樣本最近的k個少數(shù)類樣本,對其進(jìn)行隨機采樣。對于每個選中的少數(shù)類樣本,按照公式生成一個新的合成樣本。新樣本=原樣本+隨機因子(選中樣本-原樣本)其中,選中樣本為為樣本空間中隨機選擇的一個樣本,隨機因子為[0,1]之間的隨機數(shù)。在Python中,可以使用imblearn庫中over_sampling模塊的SMOTE類實現(xiàn)過采樣,其基本使用格式如下。樣本平衡SMOTE=SMOTE(sampling_strategy='auto',k_neighbors=5,random_state=42)樣本平衡SMOTE類常用參數(shù)及其說明如下。參數(shù)名稱說明sampling_strategy接收str或float。表示用于設(shè)置合成樣本的數(shù)量,默認(rèn)為autok_neighbors接收int。表示用于設(shè)置用于合成樣本的k個最近鄰居的數(shù)量,默認(rèn)為5random_state接收int。表示用于設(shè)置

溫馨提示

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

評論

0/150

提交評論