![PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 第7章 案例分析:基于PySpark的信用貸款風(fēng)險(xiǎn)分析_第1頁(yè)](http://file4.renrendoc.com/view11/M00/13/01/wKhkGWX0FJaAHFSIAAD74c1Bb7k729.jpg)
![PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 第7章 案例分析:基于PySpark的信用貸款風(fēng)險(xiǎn)分析_第2頁(yè)](http://file4.renrendoc.com/view11/M00/13/01/wKhkGWX0FJaAHFSIAAD74c1Bb7k7292.jpg)
![PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 第7章 案例分析:基于PySpark的信用貸款風(fēng)險(xiǎn)分析_第3頁(yè)](http://file4.renrendoc.com/view11/M00/13/01/wKhkGWX0FJaAHFSIAAD74c1Bb7k7293.jpg)
![PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 第7章 案例分析:基于PySpark的信用貸款風(fēng)險(xiǎn)分析_第4頁(yè)](http://file4.renrendoc.com/view11/M00/13/01/wKhkGWX0FJaAHFSIAAD74c1Bb7k7294.jpg)
![PySpark大數(shù)據(jù)技術(shù)與應(yīng)用 課件 第7章 案例分析:基于PySpark的信用貸款風(fēng)險(xiǎn)分析_第5頁(yè)](http://file4.renrendoc.com/view11/M00/13/01/wKhkGWX0FJaAHFSIAAD74c1Bb7k7295.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
需求與架構(gòu)分析1系統(tǒng)架構(gòu)分析目錄業(yè)務(wù)需求分析2信用貸款是指借款人以其信譽(yù)從銀行或貸款公司申請(qǐng)貸款,不需要提供擔(dān)保。借款人是以借款人信用的程度作為還款保證的,無(wú)須提供抵押品或第三方擔(dān)保,僅憑自身信譽(yù)即可取得貸款。因此,貸款方發(fā)放信用貸款時(shí),必須對(duì)借款人進(jìn)行嚴(yán)格審查、評(píng)估,確認(rèn)其資信是否具備還款能力。由于這種貸款方式風(fēng)險(xiǎn)較大,一般要對(duì)借款方的經(jīng)濟(jì)效益、經(jīng)營(yíng)管理水平、發(fā)展前景等情況進(jìn)行詳細(xì)的考察,以降低風(fēng)險(xiǎn)?;诖髷?shù)據(jù)技術(shù)對(duì)信用貸款進(jìn)行分析和預(yù)測(cè),對(duì)用戶進(jìn)行更加精準(zhǔn)和高效的評(píng)級(jí),為銀行提供了準(zhǔn)確信用信息,推動(dòng)信用貸款工作的順利開(kāi)展,助力小微科技企業(yè),個(gè)人用戶積極開(kāi)展創(chuàng)新創(chuàng)業(yè)活動(dòng),促進(jìn)經(jīng)濟(jì)更快更好地發(fā)展。業(yè)務(wù)需求分析本章根據(jù)某銀行貸款用戶數(shù)據(jù),從需求與架構(gòu)分析開(kāi)始介紹,包括業(yè)務(wù)需求分析、系統(tǒng)架構(gòu)分析,然后介紹數(shù)據(jù)探索,分析用戶信息與逾期率的關(guān)系,接著介紹數(shù)據(jù)預(yù)處理,為后續(xù)的分析建模提供更高質(zhì)量的數(shù)據(jù)來(lái)源,然后介紹模型構(gòu)建與評(píng)估,構(gòu)建貸款風(fēng)險(xiǎn)控制模型,最終介紹部署和提交PySpark應(yīng)用程序,實(shí)現(xiàn)在Spark集群中執(zhí)行應(yīng)用程序。業(yè)務(wù)需求分析對(duì)用戶基本信息進(jìn)行分析。探索用戶信息完整程度與逾期還款關(guān)系,并確定用戶完整程度量化指標(biāo)。對(duì)用戶登錄信息進(jìn)行分析。探索用戶的登錄頻率與逾期還款關(guān)系,并確定用戶登錄頻率的量化指標(biāo)。對(duì)用戶更新信息進(jìn)行分析。探索用戶信息的更新頻率與逾期還款的關(guān)系,并確定用戶信息更新頻率量化指標(biāo)。對(duì)所有數(shù)據(jù)進(jìn)行預(yù)處理。包括處理缺失值、刪除數(shù)據(jù)中包含的空格(影響分類型數(shù)據(jù)的統(tǒng)計(jì)),處理重復(fù)信息的合并、數(shù)據(jù)重編碼等,對(duì)數(shù)據(jù)進(jìn)行規(guī)范化處理,提高后續(xù)數(shù)據(jù)分析的效率和準(zhǔn)確度。運(yùn)用梯度提升樹(shù)模型(GBTs)構(gòu)建用戶貸款風(fēng)險(xiǎn)預(yù)測(cè)模型,最后對(duì)模型進(jìn)行評(píng)估,根據(jù)評(píng)估結(jié)果對(duì)模型進(jìn)行必要的調(diào)優(yōu)。業(yè)務(wù)需求分析1系統(tǒng)架構(gòu)分析目錄業(yè)務(wù)需求分析2根據(jù)業(yè)務(wù)需求分析,結(jié)合數(shù)據(jù)樣本,實(shí)現(xiàn)用戶逾期還款分析預(yù)測(cè),將通過(guò)數(shù)據(jù)抽取、數(shù)據(jù)預(yù)處理、模型訓(xùn)練與評(píng)價(jià)、模型優(yōu)化的流程,最后將效果優(yōu)良的模型應(yīng)用至具體場(chǎng)景中進(jìn)行用戶風(fēng)險(xiǎn)評(píng)估和預(yù)測(cè),基于以上步驟設(shè)計(jì)如下系統(tǒng)架構(gòu)。系統(tǒng)架構(gòu)分析數(shù)據(jù)抽取。從業(yè)務(wù)系統(tǒng)中抽取數(shù)據(jù)作為模型學(xué)習(xí)的訓(xùn)練數(shù)據(jù),在該數(shù)據(jù)集上進(jìn)行數(shù)據(jù)探索和建模。數(shù)據(jù)探索與預(yù)處理。在該階段,對(duì)采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)探索分析探索數(shù)據(jù)的基本信息,分析數(shù)據(jù)特征與分類結(jié)果之間的關(guān)系;再對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,包括構(gòu)建新特征、信息重建、缺失值處理等;提取和構(gòu)建關(guān)鍵特征,進(jìn)行分類數(shù)據(jù)預(yù)處理、編碼處理、重編碼減少數(shù)據(jù)特征數(shù)量,以提高模型的分類效率和準(zhǔn)確性。分析與建模。通過(guò)在訓(xùn)練數(shù)據(jù)集上的學(xué)習(xí),不斷優(yōu)化模型參數(shù)并對(duì)模型分類結(jié)果進(jìn)行評(píng)價(jià),以確定最終的分類模型。結(jié)果反饋。最終獲得的模型還需要對(duì)后續(xù)的用戶數(shù)據(jù)進(jìn)行分類和預(yù)測(cè),評(píng)價(jià)其真實(shí)的分類效果,并通過(guò)分類效果不斷優(yōu)化模型參數(shù),以取得最優(yōu)的效果。系統(tǒng)架構(gòu)分析數(shù)據(jù)探索數(shù)據(jù)探索分析,了解數(shù)據(jù)的整體情況并檢測(cè)異常值,通過(guò)作圖、制表和計(jì)算特征量等手段探索用戶數(shù)據(jù)中的結(jié)構(gòu)和規(guī)律。探索性數(shù)據(jù)分析能夠理解數(shù)據(jù)的含義、理解數(shù)據(jù)結(jié)構(gòu),發(fā)現(xiàn)異常值、篩查數(shù)據(jù),便于后續(xù)的數(shù)據(jù)合并、清洗和整理,有助于將業(yè)務(wù)問(wèn)題轉(zhuǎn)化為可行的數(shù)據(jù)分析問(wèn)題,有利于結(jié)合行業(yè)背景選擇合適的數(shù)據(jù)分析方法。數(shù)據(jù)探索1建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)目錄數(shù)據(jù)說(shuō)明2用戶信息完善情況與逾期率關(guān)系探索3分析用戶信息修改情況與逾期率的關(guān)系4分析用戶借款月份與逾期率的關(guān)系5銀行提供的信息(csv文件)用戶登錄信息:訓(xùn)練數(shù)據(jù)文件(Training_LogInfo.csv)和測(cè)試數(shù)據(jù)文件(Test_LogInfo.csv)用戶基本信息:訓(xùn)練數(shù)據(jù)文件(Training_Master.csv)和測(cè)試數(shù)據(jù)文件(Test_Master.csv)用戶更新信息:訓(xùn)練數(shù)據(jù)文件(Training_UserUpdate.csv)和測(cè)試數(shù)據(jù)文件(Test_UserUpdate.csv)數(shù)據(jù)說(shuō)明用戶登錄信息數(shù)據(jù),記錄了用戶登錄平臺(tái)時(shí)的信息訓(xùn)練數(shù)據(jù)文件(Training_LogInfo.csv)測(cè)試數(shù)據(jù)文件(Test_LogInfo.csv)。用戶登錄信息文件共包含5個(gè)字段用戶登錄信息名稱說(shuō)明是否含有缺失值Idx用戶唯一標(biāo)識(shí)否ListingInfo借款成交時(shí)間否LogInfo1用戶登錄操作代碼否LogInfo2用戶登錄操作類別否LogInfo3用戶登錄時(shí)間否用戶基本信息數(shù)據(jù),記錄了用戶的基本信息訓(xùn)練數(shù)據(jù)文件(Training_Master.csv)測(cè)試數(shù)據(jù)文件(Test_Master.csv和Test_Master_result.csv)其中兩份測(cè)試數(shù)據(jù)文件字段的交集等于訓(xùn)練數(shù)據(jù)文件的字段用戶基本信息用戶基本信息文件共109個(gè)字段,用戶唯一標(biāo)識(shí)、用戶信息(包含用戶基本信息、學(xué)歷信息、網(wǎng)頁(yè)登錄信息、社交網(wǎng)絡(luò)信息和第三方平臺(tái)信息共5組信息)、是否逾期標(biāo)識(shí)、借款成交時(shí)間用戶基本信息名稱說(shuō)明是否含有缺失值Idx用戶唯一標(biāo)識(shí)否UserInfo_i用戶基本信息是Education_Info_i用戶學(xué)歷信息是WeblogInfo_i用戶網(wǎng)頁(yè)登錄信息是SocalNetwork_i用戶社交網(wǎng)絡(luò)信息是target用戶是否逾期否ListingInfo借款成交時(shí)間否用戶更新信息數(shù)據(jù)文件記錄了用戶的更新信息訓(xùn)練數(shù)據(jù)文件(Training_UserUpdate.csv)測(cè)試數(shù)據(jù)文件(Test_UserUpdate.csv)用戶更新信息數(shù)據(jù)文件共4個(gè)字段,包含用戶標(biāo)識(shí)、借款成交時(shí)間、用戶更新信息內(nèi)容和更新信息時(shí)間用戶更新信息名稱說(shuō)明是否含有缺失值Idx用戶唯一標(biāo)識(shí)否ListingInfo借款成交時(shí)間否UserUpdateInfo_1用戶更新信息內(nèi)容否UserUpdateInfo_2用戶更新信息時(shí)間否1建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)目錄數(shù)據(jù)說(shuō)明2用戶信息完善情況與逾期率關(guān)系探索3分析用戶信息修改情況與逾期率的關(guān)系4分析用戶借款月份與逾期率的關(guān)系5為了方便后續(xù)使用PySpark讀取數(shù)據(jù),需將CSV文件中的數(shù)據(jù)進(jìn)行預(yù)處理將CSV數(shù)據(jù)導(dǎo)入Hive表中合并訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)對(duì)字段名稱進(jìn)行小寫處理啟動(dòng)Jupyter并新建JupyterNotebook文件,將文件命名為bcl_initialize建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)將數(shù)據(jù)導(dǎo)入Hive數(shù)據(jù)表中在Hive中新建數(shù)據(jù)庫(kù),按照CSV文件的數(shù)據(jù)字段內(nèi)容定義Hive表將數(shù)據(jù)導(dǎo)入Hive表中。在Hive中新建數(shù)據(jù)庫(kù)bclcredit,以Training_LogInfo.csv數(shù)據(jù)為例,根據(jù)Training_LogInfo.csv的數(shù)據(jù)結(jié)構(gòu),在credit數(shù)據(jù)庫(kù)中創(chuàng)建對(duì)應(yīng)的表loginfo_train(代碼7-1)新建Hive表并導(dǎo)入數(shù)據(jù)(方法一)在Hive中創(chuàng)建表再導(dǎo)入數(shù)據(jù),過(guò)程比較繁瑣且容易出錯(cuò),尤其是當(dāng)CSV文件中包含的字段較多時(shí)(如Training_Master.csv文件包含了109個(gè)字段),在建表和導(dǎo)入數(shù)據(jù)的過(guò)程中更容易出錯(cuò)。選擇采用PySpark中的DataFrame編程模型保存CSV文件的數(shù)據(jù),再通過(guò)write()方法直接保存至Hive表中,效率高且不易出錯(cuò)。(代碼7-2)在Hive命令行窗口中創(chuàng)建數(shù)據(jù)庫(kù)bclcredits;導(dǎo)入SparkSession包,創(chuàng)建SparkSession對(duì)象,創(chuàng)建對(duì)象時(shí)需要啟用對(duì)Hive的支持(enableHiveSupport)建立字典變量設(shè)置CSV文件與Hive中表名的對(duì)應(yīng)關(guān)系,其中key為CSV文件名,value為Hive中的表名對(duì)文件中的各個(gè)字段名稱進(jìn)行小寫處理(便于后續(xù)程序通過(guò)字段名稱引用Hive中各個(gè)字段的數(shù)據(jù))新建Hive表并導(dǎo)入數(shù)據(jù)(方法二)后續(xù)數(shù)據(jù)分析過(guò)程需要先對(duì)數(shù)據(jù)進(jìn)行清理、標(biāo)準(zhǔn)化等預(yù)處理需要將用戶基本信息的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行合并,以便統(tǒng)一進(jìn)行數(shù)據(jù)清理和標(biāo)準(zhǔn)化處理用戶基本信息數(shù)據(jù)對(duì)應(yīng)的3張表,將用戶基本信息相關(guān)的3張表進(jìn)行合并(代碼7-3)合并訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)表名備注masterinfo_train用于訓(xùn)練的用戶基本信息數(shù)據(jù),包含108個(gè)特征字段,1個(gè)用戶標(biāo)簽字段labelmasterinfo_test用于測(cè)試的用戶基本信息數(shù)據(jù),包含108個(gè)特征字段test_master_result測(cè)試用戶信息數(shù)據(jù)中用戶的標(biāo)簽字段target,該表需要和表masterinfo_test合并1建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)目錄數(shù)據(jù)說(shuō)明2用戶信息完善情況與逾期率關(guān)系探索3分析用戶信息修改情況與逾期率的關(guān)系4分析用戶借款月份與逾期率的關(guān)系5在征信領(lǐng)域中,用戶信息的完善程度可能會(huì)影響該用戶的信用評(píng)級(jí)。一個(gè)信息完善程度為100%的用戶比完善程度為50%的用戶,具有更強(qiáng)的還款意愿。對(duì)用戶信息表中的用戶信息的完整程度進(jìn)行統(tǒng)計(jì),分析用戶信息完善程度與用戶信用評(píng)級(jí)之間的關(guān)系。通過(guò)對(duì)用戶基本信息數(shù)據(jù)進(jìn)行探索,尋找影響用戶逾期還款的重要因素。目標(biāo)數(shù)據(jù):masterInfo表中數(shù)據(jù)用戶信息完善情況與逾期率的關(guān)系探索從Hive中加載數(shù)據(jù)(代碼7-4)統(tǒng)計(jì)分析遍歷所有用戶記錄,統(tǒng)計(jì)每位用戶信息的缺失情況(代碼7-5)繪制用戶缺失信息柱形圖(代碼7-6)用戶信息完善情況與逾期率的關(guān)系探索數(shù)據(jù)探索分析用戶信息缺失程度大致分為3類,根據(jù)用戶信息缺失信息圖,發(fā)現(xiàn)用戶缺失信息的數(shù)量集中在2~10之間,可將用戶信息缺失程度大致分為3類,即缺失信息數(shù)量分別在[2,4]、[5,7]、[8,10]之間的3類用戶群體,探索這3類群體的逾期還款的比例繪制用戶分類統(tǒng)計(jì)柱形圖用戶信息完善情況與逾期率的關(guān)系探索1建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)目錄數(shù)據(jù)說(shuō)明2用戶信息完善情況與逾期率關(guān)系探索3分析用戶信息修改情況與逾期率的關(guān)系4分析用戶借款月份與逾期率的關(guān)系5在征信領(lǐng)域中,信息修改操作頻率同樣會(huì)影響用戶信用評(píng)級(jí)。本小節(jié)將對(duì)所有借款用戶的更新信息日期和借款成交日期的分布情況進(jìn)行分析,探索用戶信息修改情況與逾期率的關(guān)系目標(biāo)數(shù)據(jù):表userupdate_test和表userupdate_train中數(shù)據(jù)從Hive中加載數(shù)據(jù)統(tǒng)計(jì)分析數(shù)據(jù)探索分析用戶信息修改情況與逾期率的關(guān)系探索從Hive中加載數(shù)據(jù)(代碼7-9)統(tǒng)計(jì)分析(代碼7-10)用戶信息更新次數(shù)統(tǒng)計(jì),對(duì)用戶在同一天對(duì)信息的修改可以視為一次修改userupdate_test和表userupdate_train數(shù)據(jù)去重統(tǒng)計(jì)結(jié)果與用戶信息數(shù)據(jù)進(jìn)行合并用戶信息修改情況與逾期率的關(guān)系探索數(shù)據(jù)探索分析信息修改次數(shù)與逾期率之間的關(guān)系(代碼7-11)用戶信息修改情況與逾期率的關(guān)系探索數(shù)據(jù)探索分析繪制用戶修改信息次數(shù)與逾期率柱形圖(代碼7-12)用戶信息修改情況與逾期率的關(guān)系探索1建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)目錄數(shù)據(jù)說(shuō)明2用戶信息完善情況與逾期率關(guān)系探索3分析用戶信息修改情況與逾期率的關(guān)系4分析用戶借款月份與逾期率的關(guān)系5考慮到不同時(shí)期,用戶的資金狀況(如過(guò)年資金緊張等)可能會(huì)影響用戶的貸款行為,某些用戶為了應(yīng)對(duì)資金壓力而轉(zhuǎn)向網(wǎng)絡(luò)貸款。因此,需要根據(jù)用戶基本信息中的借款月份進(jìn)行探索性分析。目標(biāo)數(shù)據(jù):masterInfo表中數(shù)據(jù)提取日期字段中的月份信息統(tǒng)計(jì)不同月份中借款逾期率用戶借款月份與逾期率的關(guān)系探索從Hive中加載數(shù)據(jù)從masterInfo表的linstinginfo字段提取用戶借款成交時(shí)間的日、周和月,并按月份統(tǒng)計(jì)數(shù)據(jù)(代碼7-14)統(tǒng)計(jì)分析統(tǒng)計(jì)不同月份中借款逾期率(代碼7-15)用戶借款月份與逾期率的關(guān)系探索數(shù)據(jù)探索分析繪制借款月份和逾期率柱形圖(代碼7-16)分析結(jié)果3、4、5、11、12月份用戶逾期還款的概率明顯高于其他月份。結(jié)合中國(guó)傳統(tǒng)節(jié)日,發(fā)現(xiàn)用戶在陽(yáng)歷年關(guān)前和傳統(tǒng)春節(jié)過(guò)后借款的逾還款率較高用戶借款月份與逾期率的關(guān)系探索在數(shù)據(jù)分析之前,對(duì)數(shù)據(jù)進(jìn)行必要的探索,了解數(shù)據(jù)結(jié)構(gòu)特征,數(shù)據(jù)的含義、理解數(shù)據(jù)結(jié)構(gòu),發(fā)現(xiàn)異常值、篩查數(shù)據(jù),以便于進(jìn)行后續(xù)的數(shù)據(jù)合并、清洗和整理建立數(shù)據(jù)倉(cāng)庫(kù)并導(dǎo)入數(shù)據(jù)探索用戶信息完善情況與逾期率的關(guān)系探索用戶信息修改情況與逾期率的關(guān)系探索用戶借款月份與逾期率的關(guān)系小結(jié)數(shù)據(jù)預(yù)處理數(shù)據(jù)在處理之前總是不完整的,不一致、有噪聲的,在進(jìn)行數(shù)據(jù)分析之前,需要本著耐心細(xì)致,嚴(yán)肅認(rèn)真的工作態(tài)度,對(duì)數(shù)據(jù)進(jìn)行合理,正確的預(yù)處理操作,將原始數(shù)據(jù)轉(zhuǎn)換為可以被理解的格式或符合數(shù)據(jù)分析模型的格式,包括對(duì)缺失數(shù)據(jù)、不完整數(shù)據(jù)和不一致數(shù)據(jù)進(jìn)行清洗、集成和變換,構(gòu)建新特征等操作,最終目的是提高數(shù)據(jù)挖掘的質(zhì)量,減少數(shù)據(jù)分析所需要的時(shí)間。數(shù)據(jù)預(yù)處理1用戶更新信息重建目錄計(jì)算缺失信息及構(gòu)建新特征2用戶登錄信息重建3分類數(shù)據(jù)預(yù)處理4在7.2小節(jié)的數(shù)據(jù)探索中可知,用戶的信息越完整,其逾期率越低。用戶信息完善程度初步判斷為用戶逾期還款的關(guān)鍵因素之一,因此需要計(jì)算用戶信息的缺失數(shù)量,并將計(jì)算結(jié)果作為一個(gè)特征。用戶的借款時(shí)間也暫列為用戶還款逾期的關(guān)鍵因素之一,因此還需要計(jì)算用戶的借款月份。目標(biāo)數(shù)據(jù)表:masterinfo表用戶基本信息數(shù)據(jù)記錄內(nèi)容不同,需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換統(tǒng)計(jì)用戶缺失信息以及用戶借款月份計(jì)算缺失數(shù)據(jù)及構(gòu)建新特征新建Notebook文件,并讀取數(shù)據(jù)(代碼7-17)數(shù)據(jù)轉(zhuǎn)換(代碼7-18)用戶基本信息數(shù)據(jù)記錄內(nèi)容不同,有分類型數(shù)據(jù)、數(shù)值數(shù)據(jù),還包含缺失數(shù)據(jù)使用0描述masterinfo表中非空數(shù)據(jù),使用1描述masterinfo表中空數(shù)據(jù)或長(zhǎng)度為0的數(shù)據(jù)通過(guò)統(tǒng)計(jì)masterNew表中的1的個(gè)數(shù)即可得到用戶的缺失信息數(shù)量計(jì)算缺失數(shù)據(jù)及構(gòu)建新特征統(tǒng)計(jì)用戶缺失信息以及用戶借款月份(代碼7-19)將PySpark中DataFrame對(duì)象轉(zhuǎn)換為pandas模塊中DataFrame類型對(duì)象,再使用sum函數(shù)完成統(tǒng)計(jì)從masterNew對(duì)象中的listing_month字段提取用戶借款月份最后將兩組數(shù)據(jù)進(jìn)行合并,并存儲(chǔ)至Hive表中結(jié)果保存至Hive表中(表名nullcount)計(jì)算缺失數(shù)據(jù)及構(gòu)建新特征1用戶更新信息重建目錄計(jì)算缺失信息及構(gòu)建新特征2用戶登錄信息重建3分類數(shù)據(jù)預(yù)處理4用戶更新信息表中userupdateinfo_1、userupdateinfo_2字段對(duì)于每一位用戶均有多條記錄,與masterinfo主表的一位用戶一條記錄的形式不符;字段中時(shí)間格式表示不統(tǒng)一,因此需要對(duì)時(shí)間格式進(jìn)行統(tǒng)計(jì),便于后續(xù)處理;基于表中數(shù)據(jù)統(tǒng)計(jì)出用戶更新信息的頻率,重建一個(gè)用于預(yù)測(cè)用戶貸款風(fēng)險(xiǎn)的特征。
目標(biāo)數(shù)據(jù)表:userupdate_train表和userupdate_test用戶更新信息重建讀取數(shù)據(jù),格式標(biāo)準(zhǔn)化(刪除“_”字符,標(biāo)準(zhǔn)化時(shí)間格式為:YYYY-MM-DD)(代碼7-20)用戶更新信息重建idxlistinginfouserupdateinfo1userupdateinfo2100012020/3/5_EducationId2020/2/20100012020/3/5_HasBuyCar2020/2/20100012020/3/5_LastUpdateDate2020/2/20計(jì)算用戶更新信息的統(tǒng)計(jì)值(代碼7-21)用戶最早更新信息的時(shí)間距離借款成交時(shí)間的天數(shù)用戶更新次數(shù)用戶更新信息的頻率借款成交之前用戶更新信息的天數(shù)用戶更改特征數(shù)目用戶更新信息重建長(zhǎng)寬表轉(zhuǎn)換(長(zhǎng)表是行多列少的表,寬表是指列多行少的表)(代碼7-22)userupdate表中每行數(shù)據(jù)記錄了用戶每次的更新內(nèi)容和更新時(shí)間,每一位用戶均有多條記錄(長(zhǎng)表)master主表的一位用戶一條記錄(寬表)。將userupdate_train和userupdate_test進(jìn)行結(jié)構(gòu)轉(zhuǎn)換,基于寬表結(jié)構(gòu)記錄一位用戶更新信息idx字段為唯一標(biāo)識(shí),統(tǒng)計(jì)每位用戶更新各特征的次數(shù)。當(dāng)用戶沒(méi)有對(duì)某特征進(jìn)行修改,使用0填充用戶更新信息重建idxfirst_updatelast_updateupdate_catsupdate_frequencyage總計(jì)61個(gè)特征36767110.10…490130.0769230770…51414110.1666666670……………………1用戶更新信息重建目錄計(jì)算缺失信息及構(gòu)建新特征2用戶登錄信息重建3分類數(shù)據(jù)預(yù)處理4用戶登錄信息表,記錄用戶登錄操作的類型、登錄操作時(shí)間和借款成交時(shí)間登錄信息表中l(wèi)oginfo_1、loginfo_2字段對(duì)于每一位用戶均有多條記錄,與主表的一位用戶一條記錄的形式不符;基于表中數(shù)據(jù)統(tǒng)計(jì)出用戶登錄平臺(tái)次數(shù)、頻率、最早登錄時(shí)間等,構(gòu)建用于預(yù)測(cè)用戶貸款風(fēng)險(xiǎn)的用戶登錄信息特征。目標(biāo)數(shù)據(jù)表:loginfo_train表和loginfo_test表用戶登錄信息重建讀取數(shù)據(jù)(代碼7-23)loginfo1為用戶登錄操作代碼,loginfo2為用戶登錄操作類別,可將兩個(gè)字段合并減少分類的復(fù)雜性。標(biāo)準(zhǔn)化時(shí)間格式(YYYY-MM-DD),字段:listinginfo和loginfo3 用戶登錄信息重建idx1listinginfologinfo1loginfo2loginfo3100012020/3/510762020/2/20100012020/3/510762020/2/23100012020/3/510762020/2/24計(jì)算用戶登錄信息的統(tǒng)計(jì)值(代碼7-24)最早的登錄時(shí)間距離借款成交時(shí)間的天數(shù)最晚的登錄時(shí)間距離借款成交時(shí)間的天數(shù)用戶總的登錄類型數(shù)目用戶登錄平臺(tái)的天數(shù)用戶第一次登錄平臺(tái)之后的每一天登錄平臺(tái)的頻率用戶登錄信息重建長(zhǎng)寬表轉(zhuǎn)換(代碼7-25)loginfo表中每行數(shù)據(jù)記錄了用戶每次的登錄類型和登錄時(shí)間,每一位用戶均有多條記錄(長(zhǎng)表)master主表的一位用戶一條記錄(寬表)。將loginfo進(jìn)行結(jié)構(gòu)轉(zhuǎn)換,基于寬表結(jié)構(gòu)記錄一位用戶登錄信息idx字段為唯一標(biāo)識(shí),統(tǒng)計(jì)每位用戶登錄操作類型的次數(shù);用戶沒(méi)有對(duì)應(yīng)的登錄類型,那么使用0填充用戶登錄信息重建idxlog_0_0log_1000_23log_1001_23log_100_6log_102_6總計(jì)62個(gè)特征85405111110…1009611013341…360670141120……………………1用戶更新信息重建目錄計(jì)算缺失信息及構(gòu)建新特征2用戶登錄信息重建3分類數(shù)據(jù)預(yù)處理4在信貸用戶數(shù)據(jù)中,部分?jǐn)?shù)據(jù)包含了空格,空格在后續(xù)的數(shù)據(jù)分析中可能造成不可預(yù)估的后果。在進(jìn)行數(shù)據(jù)分析前,通常需要對(duì)含有空格的數(shù)據(jù)進(jìn)行清洗和處理,轉(zhuǎn)換成規(guī)范的數(shù)據(jù)格式。刪除數(shù)據(jù)中的空格重復(fù)字段合并信息不一致分類數(shù)據(jù)預(yù)處理讀取數(shù)據(jù)并刪除數(shù)據(jù)中的空格masterinfo表中有大量字符型數(shù)據(jù),部分字符型數(shù)據(jù)包含了空格,會(huì)導(dǎo)致字符串無(wú)法匹配(代碼7-26)刪除字符類型字段中的空格(代碼7-27)涉及字段:userinfo_2,userinfo_4,userinfo_8,userinfo_9,userinfo_20分類數(shù)據(jù)預(yù)處理+----------+|中國(guó)移動(dòng)||中國(guó)移動(dòng)||中國(guó)電信||中國(guó)聯(lián)通||中國(guó)聯(lián)通||不詳||中國(guó)電信|+----------+重復(fù)字段合并(代碼7-29)masterinfo表中存在多個(gè)字段記錄相同的信息,如userinfo_7和userinfo_19同一個(gè)用戶兩字段的值可能都是同一個(gè)省份,也可能是不同的省份增加一個(gè)字段diffprov整合兩個(gè)字段信息同一個(gè)省份diffprov值為1,否則為0分類數(shù)據(jù)預(yù)處理+-----+----------+-----------+|idx|userinfo_7|userinfo_19|+-----+----------+-----------+|10001|廣東|四川省||10002|浙江|福建省||10003|湖北|湖北省||10006|福建|江西省||10007|遼寧|遼寧省|+-----+----------+-----------+信息不一致字段userinfo_2、userinfo_8、userinfo_4、userinfo_20存在信息不統(tǒng)一情況(代碼7-30)信息表示不統(tǒng)一(部分城市名含“市”),統(tǒng)一城市命名,刪除城市名稱中的“市”(代碼7-31)分類數(shù)據(jù)預(yù)處理+----------+----------+----------+-----------+|userinfo_2|userinfo_8|userinfo_4|userinfo_20|+----------+----------+----------+-----------+|深圳|深圳|深圳|南充市||溫州|溫州|溫州|不詳||宜昌|宜昌|宜昌|宜昌市||南平|南平|南平|不詳|+----------+----------+----------+-----------+信息不一致4個(gè)字段信息也不完全相同,對(duì)4個(gè)字段按照兩兩一組的方式創(chuàng)建新特征(兩字段內(nèi)容相同為1否則為0)UserInfodiff_2_4(對(duì)應(yīng)userinfo_2、userinfo_4字段)UserInfodiff_2_8(對(duì)應(yīng)userinfo_2、userinfo_8字段)UserInfodiff_4_20(對(duì)應(yīng)userinfo_4、userinfo_20字段)UserInfodiff_4_8(對(duì)應(yīng)userinfo_4、userinfo_8字段)UserInfodiff_8_20(對(duì)應(yīng)userinfo_8、userinfo_20字段)分類數(shù)據(jù)預(yù)處理+----------------+----------------+-----------------+----------------+-----------------+|UserInfodiff_2_4|UserInfodiff_2_8|UserInfodiff_4_20|UserInfodiff_4_8|UserInfodiff_8_20|+----------------+----------------+-----------------+----------------+-----------------+| 1|1|0|1|0|| 1|1|0|1|0|| 1|1|1|1|1|| 1|1|0|1|0|5分類數(shù)據(jù)重編碼目錄字符串字段編碼處理6缺失值處理7PySpark的機(jī)器學(xué)習(xí)模型只能處理數(shù)值型數(shù)據(jù),因此需要對(duì)字符型數(shù)據(jù)進(jìn)行轉(zhuǎn)換,使用數(shù)值描述不同類別數(shù)據(jù)。如果類別數(shù)據(jù)占總數(shù)的比例比較小,可以進(jìn)行合并以減少類別數(shù)量。字符類型數(shù)據(jù)轉(zhuǎn)換(對(duì)所有字符型進(jìn)行類別統(tǒng)計(jì),對(duì)類別進(jìn)行編碼轉(zhuǎn)換為數(shù)字,小于0.002的合并為other類別)字符串字段重編碼處理定義處理函數(shù)(可對(duì)不同字符串字段進(jìn)行統(tǒng)計(jì)處理)(代碼7-32)將類別占總數(shù)的比例閾值設(shè)置為0.002,類別占總數(shù)的比例小于該值則合并為other字符類型數(shù)據(jù)轉(zhuǎn)換(代碼7-33)對(duì)多個(gè)字符型字段進(jìn)行類別統(tǒng)計(jì)和編碼轉(zhuǎn)換操作,還需要進(jìn)行字段合并,需要使用較多的內(nèi)存為了避免內(nèi)存溢出,對(duì)中間結(jié)果通過(guò)Hive進(jìn)行臨時(shí)存儲(chǔ)(代碼7-32),將中間結(jié)果寫入Hive表中,然后讀取表中內(nèi)容并緩存。數(shù)據(jù)保存至Hive的encodeprocess表字符串字段重編碼處理5分類數(shù)據(jù)重編碼目錄字符串字段編碼處理6缺失值處理7在PySpark機(jī)器學(xué)習(xí)中用到的數(shù)據(jù)都需要對(duì)其進(jìn)行數(shù)字化。類別數(shù)據(jù)(如男,女)是離散、無(wú)序的分類數(shù)據(jù)使用簡(jiǎn)單的數(shù)字編碼(0,1)分別與其對(duì)應(yīng)實(shí)現(xiàn)數(shù)字化,轉(zhuǎn)換后數(shù)據(jù)存在有序關(guān)系類別之間本是無(wú)序的,而編碼后變?yōu)橛行颉=鉀Q方案就是One-Hot編碼(獨(dú)熱編碼)使用N位二進(jìn)制對(duì)N個(gè)狀態(tài)編碼,每個(gè)狀態(tài)有唯一的二進(jìn)制位與其對(duì)應(yīng),任意時(shí)候其中只有一位有效。例如:男和女,有兩個(gè)特征,所以N取2,男編碼為01,女編碼為10分類數(shù)據(jù)重編碼在歐式空間查看One-Hot編碼分類數(shù)據(jù)在One-Hot編碼后得到N位二進(jìn)制,可以與空間中的某個(gè)點(diǎn)相對(duì)應(yīng)。例如:男01編碼理解為二維坐標(biāo)系中(0,1),女10編碼對(duì)應(yīng)坐標(biāo)(1,0)。分類數(shù)據(jù)使用One-Hot編碼后,分類數(shù)據(jù)的位置與原點(diǎn)的距離是相等的(如位置(0,1)和位置(1,0)到原點(diǎn)(0,0)的距離是相等的)。分類數(shù)據(jù)重編碼重編碼(處理encodeprocess表中數(shù)據(jù))userinfo_9字段(中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信和不祥),userinfo_9_不祥,userinfo_9_中國(guó)電信,userinfo_9_中國(guó)聯(lián)通,userinfo_9_中國(guó)移動(dòng)userinfo_22(婚姻狀況);userinfo_22_married,userinfo_22_unmarried,userinfo_22_unknown結(jié)果保存至Hive表刪除結(jié)果對(duì)象中的字段userinfo_9和userinfo_22結(jié)果寫入Hive表onehotprocess中分類數(shù)據(jù)重編碼5分類數(shù)據(jù)重編碼目錄字符串字段編碼處理6缺失值處理7經(jīng)過(guò)數(shù)據(jù)預(yù)處理后,得到了新的數(shù)據(jù)表onehotprocess表、userupdateprocess表和loginfoproess表。但表中仍然存在缺失數(shù)據(jù),對(duì)表中所有特征列的缺失數(shù)據(jù)比例進(jìn)行統(tǒng)計(jì)若缺失數(shù)據(jù)比率較大的,則將其刪除,若特征列中缺失數(shù)據(jù)比率較小的,則將該特征列中的缺失數(shù)據(jù)使用0代替。合并三張表的數(shù)據(jù)(
按idx列進(jìn)行表數(shù)據(jù)的合并)字段缺失數(shù)據(jù)統(tǒng)計(jì)及處理缺失值處理合并三張表的數(shù)據(jù)并刪除重復(fù)字段(代碼7-36)按idx列進(jìn)行表數(shù)據(jù)的合并刪除重復(fù)字段listinginfo字段字段缺失數(shù)據(jù)統(tǒng)計(jì)及處理(代碼7-37)若缺失值比率大于0.9,認(rèn)為該特征的價(jià)值不高,將該特征刪除。若缺失值比率小于0.9,將該特征列的缺失值填充為0數(shù)據(jù)保存處理后的數(shù)據(jù)集保存至Hive中的tb_nullprocess表缺失值處理數(shù)據(jù)在處理之前總是不完整的,不一致、有噪聲的,在進(jìn)行數(shù)據(jù)分析之前,對(duì)數(shù)據(jù)進(jìn)行合理,正確的預(yù)處理操作,對(duì)缺失數(shù)據(jù)、不完整數(shù)據(jù)和不一致數(shù)據(jù)進(jìn)行清洗、集成和變換,構(gòu)建新特征等操作。計(jì)算用戶信息缺失個(gè)數(shù)及借款月份構(gòu)建新特征用戶更新信息重建用戶登錄信息重建分類數(shù)據(jù)預(yù)處理字符串字段編碼處理分類數(shù)據(jù)重編碼缺失值處理小結(jié)模型構(gòu)建與評(píng)估完成數(shù)據(jù)預(yù)處理后,即可基于處理后的現(xiàn)有數(shù)據(jù)構(gòu)建分類模型,并對(duì)構(gòu)建的分類模型進(jìn)行評(píng)估以達(dá)到期望的正確率。分類效果較佳的分類模型即可應(yīng)用于真實(shí)的業(yè)務(wù)場(chǎng)景中,對(duì)新用戶進(jìn)行信用風(fēng)險(xiǎn)評(píng)估,以便確定是否可以進(jìn)行貸款,并為用戶的貸款金額和貸款時(shí)間等提供決策支持。梯度提升樹(shù)是一種決策樹(shù)的集成算法,通過(guò)反復(fù)迭代訓(xùn)練決策樹(shù)從而最小化損失函數(shù),得到一個(gè)強(qiáng)分類器。模型構(gòu)建與評(píng)估1建立GBTs模型目錄了解GBTs算法2評(píng)價(jià)GBTs模型3梯度提升樹(shù)(Gradient-boostedtrees,GBTs)是一種決策樹(shù)的集成算法,通過(guò)反復(fù)迭代訓(xùn)練決策樹(shù)從而最小化損失函數(shù),得到一個(gè)強(qiáng)分類器。在機(jī)器學(xué)習(xí)集成算法中,主要有如下3種集成學(xué)習(xí)方法。Bagging方法集成同質(zhì)弱學(xué)習(xí)器(稱為基學(xué)習(xí)器),相互獨(dú)立地并行學(xué)習(xí)這些弱學(xué)習(xí)器,并按照某種確定性的平均過(guò)程將它們進(jìn)行組合。Boosting方法集成同質(zhì)弱學(xué)習(xí)器,順序地學(xué)習(xí)弱學(xué)習(xí)器(每個(gè)學(xué)習(xí)器都依賴于前面的學(xué)習(xí)器),并按照某種確定性的策略將它們進(jìn)行組合。Stacking方法集成異質(zhì)弱學(xué)習(xí)器,并行地學(xué)習(xí)異質(zhì)弱學(xué)習(xí)器,并通過(guò)訓(xùn)練一個(gè)元模型將它們進(jìn)行組合,根據(jù)不同弱學(xué)習(xí)器的預(yù)測(cè)結(jié)果輸出一個(gè)最終的預(yù)測(cè)結(jié)果了解GBTs算法梯度提升樹(shù)采用的是Boosting方法,即采用串行的方式組合各個(gè)弱學(xué)習(xí)器,各個(gè)弱學(xué)習(xí)器之間有依賴,再順序地學(xué)習(xí)這些弱學(xué)習(xí)器,最終獲得一個(gè)比單個(gè)學(xué)習(xí)器更好的集成學(xué)習(xí)器。梯度提升樹(shù)的基本思路依次迭代訓(xùn)練一系列的決策樹(shù),每棵樹(shù)使用最小化損失函數(shù)學(xué)習(xí)前一棵樹(shù)的缺點(diǎn)和不足之處。在每一次的迭代中,算法使用得到的決策樹(shù)對(duì)每個(gè)訓(xùn)練實(shí)例的類別進(jìn)行預(yù)測(cè),再將預(yù)測(cè)結(jié)果與真實(shí)的標(biāo)簽值進(jìn)行比較,通過(guò)重新標(biāo)記,賦予預(yù)測(cè)結(jié)果不好的實(shí)例更高的權(quán)重梯度提升樹(shù)是使用最小化上一次迭代錯(cuò)誤結(jié)果的思想,選擇和提高下一棵樹(shù)的性能,從而得到最佳的結(jié)果。了解GBTs算法1建立GBTs模型目錄了解GBTs算法2評(píng)價(jià)GBTs模型3讀數(shù)據(jù)(代碼7-38)處理后的數(shù)據(jù)在tb_nullprocess表中特征提?。ùa7-39)表中包含:206個(gè)特征,使用PCA方法進(jìn)行特征提取,篩選100個(gè)特征建立GBTs模型建立GBTs模型(代碼7-40)對(duì)target字段中的字符串內(nèi)容進(jìn)行重編碼對(duì)提取的100個(gè)特征構(gòu)建Vector向量,作為GBTs模型的輸入數(shù)據(jù)訓(xùn)練GBTs模型(代碼7-41)從tb_train_master表中讀取
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售項(xiàng)目實(shí)施方案
- 2025年度智慧城市基礎(chǔ)設(shè)施建設(shè)合同范本-@-6
- 電商平臺(tái)物流效率提升策略研究
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)1.4.1《有理數(shù)加法的運(yùn)算律》聽(tīng)評(píng)課記錄
- 現(xiàn)代服務(wù)業(yè)的發(fā)展現(xiàn)狀與未來(lái)趨勢(shì)分析
- 電信業(yè)務(wù)營(yíng)銷策略與客戶服務(wù)
- 現(xiàn)代商業(yè)環(huán)境下的網(wǎng)絡(luò)借貸平臺(tái)風(fēng)險(xiǎn)防范
- Unit4 Plants around us Part B start to read(說(shuō)課稿)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 溝通藝術(shù)與職場(chǎng)成功寶典揭秘
- 電商倉(cāng)儲(chǔ)與現(xiàn)代物流的融合-推動(dòng)行業(yè)發(fā)展的新動(dòng)力
- 2025年電力鐵塔市場(chǎng)分析現(xiàn)狀
- GB 12158-2024防止靜電事故通用要求
- 2025-2030年中國(guó)清真食品行業(yè)運(yùn)行狀況及投資發(fā)展前景預(yù)測(cè)報(bào)告
- 中國(guó)服裝零售行業(yè)發(fā)展環(huán)境、市場(chǎng)運(yùn)行格局及前景研究報(bào)告-智研咨詢(2025版)
- 臨床提高膿毒性休克患者1h集束化措施落實(shí)率PDCA品管圈
- 中國(guó)工運(yùn)史知識(shí)競(jìng)答附答案
- 瑞幸咖啡SWOT分析
- DL∕T 1867-2018 電力需求響應(yīng)信息交換規(guī)范
- 小學(xué)生品德發(fā)展水平指標(biāo)評(píng)價(jià)體系(小學(xué))
- 水利工程地震應(yīng)急預(yù)案
- 日歷表空白每月打印計(jì)劃表
評(píng)論
0/150
提交評(píng)論