
探索性數(shù)據(jù)分析(Exploratory Data Analysis,EDA)是指對(duì)已有數(shù)據(jù)在盡量少的先驗(yàn)假設(shè)下通過(guò)作圖、制表、方程擬合、計(jì)算特征量等手段探索數(shù)據(jù)的結(jié)構(gòu)和規(guī)律的一種數(shù)據(jù)分析方法。
常用的第三方庫(kù)
數(shù)據(jù)科學(xué)庫(kù)
數(shù)據(jù)可視化庫(kù)
常用函數(shù)
數(shù)據(jù)簡(jiǎn)略觀測(cè)
數(shù)據(jù)總覽
數(shù)據(jù)檢測(cè)
缺失值檢測(cè)
異常值檢測(cè)
預(yù)測(cè)分布
總體分布概況:
很多模型假設(shè)數(shù)據(jù)服從正態(tài)分布,數(shù)據(jù)整體服從正態(tài)分布,樣本均值和方差則相互獨(dú)立。當(dāng)樣本不服從正態(tài)分布時(shí),可以做如下轉(zhuǎn)換:
查看skeness 和kurtosis
預(yù)測(cè)值的具體頻數(shù)
當(dāng)某范圍預(yù)測(cè)值很少時(shí),可將其當(dāng)作異常值處理填充或刪除。若頻數(shù)很失常,需對(duì)數(shù)據(jù)進(jìn)行處理,例如進(jìn)行l(wèi)og變換,使數(shù)據(jù)分布較均勻,可據(jù)處理后的數(shù)據(jù)進(jìn)行預(yù)測(cè),這也是預(yù)測(cè)問(wèn)題常用的技巧。
特征分析
數(shù)字特征
類別特征
數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已。俗話說(shuō):garbage in, garbage out。分析完數(shù)據(jù)后,特征工程前,必不可少的步驟是對(duì)數(shù)據(jù)進(jìn)行清洗。
數(shù)據(jù)清洗作用是利用有關(guān)技術(shù)如數(shù)理統(tǒng)計(jì)、數(shù)據(jù)挖掘或預(yù)定義的清理規(guī)則將臟數(shù)據(jù)轉(zhuǎn)化為滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù)。主要包括缺失值處理、異常值處理、數(shù)據(jù)分桶、特征歸一化/標(biāo)準(zhǔn)化等流程。
缺失值處理
關(guān)于缺失值處理的方式, 有幾種情況:
異常值處理
常用的異常值處理操作包括BOX-COX轉(zhuǎn)換(處理有偏分布),箱線圖分析刪除異常值, 長(zhǎng)尾截?cái)嗟确绞剑?當(dāng)然這些操作一般都是處理數(shù)值型的數(shù)據(jù)。
數(shù)據(jù)分桶
連續(xù)值經(jīng)常離散化或者分離成“箱子”進(jìn)行分析, 為什么要做數(shù)據(jù)分桶呢?
當(dāng)然還有很多原因,LightGBM 在改進(jìn) XGBoost 時(shí)就增加了數(shù)據(jù)分桶,增強(qiáng)了模型的泛化性。現(xiàn)在介紹數(shù)據(jù)分桶的方式有:
數(shù)據(jù)轉(zhuǎn)換的方式有:
特征工程指的是把原始數(shù)據(jù)轉(zhuǎn)變?yōu)槟P陀?xùn)練數(shù)據(jù)的過(guò)程,目的是獲取更好的訓(xùn)練數(shù)據(jù)特征。特征工程能使得模型的性能得到提升,有時(shí)甚至在簡(jiǎn)單的模型上也能取得不錯(cuò)的效果。
特征構(gòu)造
特征構(gòu)造的時(shí)候需要考慮數(shù)值特征,類別特征,時(shí)間特征。
特征選擇
特征選擇主要有兩個(gè)功能:
通常來(lái)說(shuō),從兩個(gè)方面考慮來(lái)選擇特征:
數(shù)據(jù)特征維度太高,首先會(huì)導(dǎo)致計(jì)算很麻煩,其次增加了問(wèn)題的復(fù)雜程度,分析起來(lái)也不方便。但盲目減少數(shù)據(jù)的特征會(huì)損失掉數(shù)據(jù)包含的關(guān)鍵信息,容易產(chǎn)生錯(cuò)誤的結(jié)論,對(duì)分析不利。
PCA降維方法,既可以減少需要分析的指標(biāo),而且盡可能多的保持了原來(lái)數(shù)據(jù)的信息。
但要注意一點(diǎn), 特征選擇是從已存在的特征中選取攜帶信息最多的,選完之后的特征依然具有可解釋性,而PCA,將已存在的特征壓縮,降維完畢后不是原來(lái)特征的任何一個(gè),也就是PCA降維之后的特征我們根本不知道什么含義了。
特征工程也好,數(shù)據(jù)清洗也罷,都是為最終的模型來(lái)服務(wù)的,模型的建立和調(diào)參決定了最終的結(jié)果。模型的選擇決定結(jié)果的上限, 如何更好的去達(dá)到模型上限取決于模型的調(diào)參。
建模的過(guò)程需要我們對(duì)常見(jiàn)的線性模型、非線性模型有基礎(chǔ)的了解。模型構(gòu)建完成后,需要掌握一定的模型性能驗(yàn)證的方法和技巧。同時(shí),還需要掌握貪心調(diào)參、網(wǎng)格調(diào)參、貝葉斯調(diào)參等調(diào)參方法。
回歸分析是一種統(tǒng)計(jì)學(xué)上分析數(shù)據(jù)的方法,目的在于了解兩個(gè)或多個(gè)變量間是否相關(guān)、相關(guān)方向與強(qiáng)度,并建立數(shù)學(xué)模型。以便通過(guò)觀察特定變量(自變量),來(lái)預(yù)測(cè)研究者感興趣的變量(因變量)
這種分布會(huì)使得采樣不準(zhǔn),估值不準(zhǔn),因?yàn)槲膊空剂撕艽蟛糠帧A硪环矫?,尾部的?shù)據(jù)少,人們對(duì)它的了解就少,那么如果它是有害的,那么它的破壞力就非常大,因?yàn)槿藗儗?duì)它的預(yù)防措施和經(jīng)驗(yàn)比較少。
欠擬合:訓(xùn)練的模型在訓(xùn)練集上面的表現(xiàn)很差,在驗(yàn)證集上面的表現(xiàn)也很差。即訓(xùn)練誤差和泛化誤差都很大。原因:
過(guò)擬合:模型的訓(xùn)練誤差遠(yuǎn)小于它在測(cè)試數(shù)據(jù)集上的誤差。即訓(xùn)練誤差不錯(cuò),但是泛化誤差比訓(xùn)練誤差相差太多。原因:
由此引出模型復(fù)雜度概念模型中的參數(shù),一個(gè)簡(jiǎn)單的二元線性的函數(shù)只有兩個(gè)權(quán)重,而多元的復(fù)雜的函數(shù)的權(quán)重可能會(huì)什么上百上千個(gè)。
模型復(fù)雜度太低(參數(shù)過(guò)少),模型學(xué)習(xí)得太少,就難以訓(xùn)練出有效的模型,便會(huì)出現(xiàn)欠擬合。模型復(fù)雜度太高(參數(shù)很多),即模型可訓(xùn)練空間很大,容易學(xué)習(xí)過(guò)度,甚至于也將噪聲數(shù)據(jù)學(xué)習(xí)了,便會(huì)出現(xiàn)過(guò)擬合。
損失函數(shù)后面會(huì)添加一個(gè)額外項(xiàng),稱作 L1正則化 和 L2正則化,或者 L1范數(shù)和 L2范數(shù)。
L1正則化和L2正則化可以看做是損失函數(shù)的懲罰項(xiàng)。所謂『懲罰』是指對(duì)損失函數(shù)中的某些參數(shù)做一些限制。對(duì)于線性回歸模型,使用L1正則化的模型建叫做Lasso回歸,使用L2正則化的模型叫做Ridge回歸(嶺回歸)。
正則化說(shuō)明:
正則化作用:
調(diào)參方法
貪心調(diào)參 (坐標(biāo)下降)坐標(biāo)下降法是一類優(yōu)化算法,其最大的優(yōu)勢(shì)在于不用計(jì)算待優(yōu)化的目標(biāo)函數(shù)的梯度。與坐標(biāo)下降法不同的是,不循環(huán)使用各個(gè)參數(shù)進(jìn)行調(diào)整,而是貪心地選取了對(duì)整體模型性能影響最大的參數(shù)。參數(shù)對(duì)整體模型性能的影響力是動(dòng)態(tài)變化的,故每一輪坐標(biāo)選取的過(guò)程中,這種方法在對(duì)每個(gè)坐標(biāo)的下降方向進(jìn)行一次直線搜索(line search)網(wǎng)格調(diào)參GridSearchCV作用是在指定的范圍內(nèi)可以自動(dòng)調(diào)參,只需將參數(shù)輸入即可得到最優(yōu)化的結(jié)果和參數(shù)。相對(duì)于人工調(diào)參更省時(shí)省力,相對(duì)于for循環(huán)方法更簡(jiǎn)潔靈活,不易出錯(cuò)。貝葉斯調(diào)參貝葉斯優(yōu)化通過(guò)基于目標(biāo)函數(shù)的過(guò)去評(píng)估結(jié)果建立替代函數(shù)(概率模型),來(lái)找到最小化目標(biāo)函數(shù)的值。貝葉斯方法與隨機(jī)或網(wǎng)格搜索的不同之處在于,它在嘗試下一組超參數(shù)時(shí),會(huì)參考之前的評(píng)估結(jié)果,因此可以省去很多無(wú)用功。超參數(shù)的評(píng)估代價(jià)很大,因?yàn)樗笫褂么u(píng)估的超參數(shù)訓(xùn)練一遍模型,而許多深度學(xué)習(xí)模型動(dòng)則幾個(gè)小時(shí)幾天才能完成訓(xùn)練,并評(píng)估模型,因此耗費(fèi)巨大。貝葉斯調(diào)參發(fā)使用不斷更新的概率模型,通過(guò)推斷過(guò)去的結(jié)果來(lái)“集中”有希望的超參數(shù)。
這里給出一個(gè)模型可調(diào)參數(shù)及范圍選取的參考:
通過(guò)融合多個(gè)不同的模型,可能提升機(jī)器學(xué)習(xí)的性能。這一方法在各種機(jī)器學(xué)習(xí)比賽中廣泛應(yīng)用, 也是在比賽的攻堅(jiān)時(shí)刻沖刺Top的關(guān)鍵。而融合模型往往又可以從模型結(jié)果,模型自身,樣本集等不同的角度進(jìn)行融合。
模型融合是比賽后期一個(gè)重要的環(huán)節(jié),大體來(lái)說(shuō)有如下的類型方式
1. 簡(jiǎn)單加權(quán)融合:
2. stacking/blending:
3. boosting/bagging:
簡(jiǎn)單算術(shù)平均法
Averaging方法就多個(gè)模型預(yù)測(cè)的結(jié)果進(jìn)行平均。這種方法既可以用于回歸問(wèn)題,也可以用于對(duì)分類問(wèn)題的概率進(jìn)行平均。
加權(quán)算術(shù)平均法
這種方法是平均法的擴(kuò)展??紤]不同模型的能力不同,對(duì)最終結(jié)果的貢獻(xiàn)也有差異,需要用權(quán)重來(lái)表征不同模型的重要性importance。
投票法
假設(shè)對(duì)于一個(gè)二分類問(wèn)題,有3個(gè)基礎(chǔ)模型,現(xiàn)在我們可以在這些基學(xué)習(xí)器的基礎(chǔ)上得到一個(gè)投票的分類器,把票數(shù)最多的類作為我們要預(yù)測(cè)的類別。
堆疊法(Stacking)
stacking 就是當(dāng)用初始訓(xùn)練數(shù)據(jù)學(xué)習(xí)出若干個(gè)基學(xué)習(xí)器后,將這幾個(gè)學(xué)習(xí)器的預(yù)測(cè)結(jié)果作為新的訓(xùn)練集,來(lái)學(xué)習(xí)一個(gè)新的學(xué)習(xí)器。對(duì)不同模型預(yù)測(cè)的結(jié)果再進(jìn)行建模。
把原始的訓(xùn)練集先分成兩部分,比如70%的數(shù)據(jù)作為新的訓(xùn)練集,剩下30%的數(shù)據(jù)作為測(cè)試集。
其基本思想是:增加前一個(gè)基學(xué)習(xí)器在訓(xùn)練訓(xùn)練過(guò)程中預(yù)測(cè)錯(cuò)誤樣本的權(quán)重,使得后續(xù)基學(xué)習(xí)器更加關(guān)注這些打標(biāo)錯(cuò)誤的訓(xùn)練樣本,盡可能糾正這些錯(cuò)誤,一直向下串行直至產(chǎn)生需要的T個(gè)基學(xué)習(xí)器,Boosting最終對(duì)這T個(gè)學(xué)習(xí)器進(jìn)行加權(quán)結(jié)合,產(chǎn)生學(xué)習(xí)器委員會(huì)。
下面給出加州大學(xué)歐文分校Alex Ihler教授的兩頁(yè)P(yáng)PT:
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無(wú)論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫(kù)管理中,“大表” 始終是性能優(yōu)化繞不開(kāi)的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫(kù)表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開(kāi)始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫(kù)表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫(kù))處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開(kāi)發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫(kù)表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問(wèn)題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問(wèn)題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問(wèn)題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過(guò)程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見(jiàn)頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無(wú)監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10