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