郭旗
(首都經(jīng)濟貿(mào)易大學管理工程學院,北京 100070)
隨著計算機技術和人工智能的飛速發(fā)展,各個領域的數(shù)據(jù)激增,數(shù)據(jù)量呈現(xiàn)出爆炸性增長的趨勢。這種快速增長的數(shù)據(jù)量對于計算機技術的發(fā)展提出了嚴峻的挑戰(zhàn),同時也為數(shù)據(jù)科學家和工程師們提供了更多的機遇和挑戰(zhàn)。為了更好地利用這些數(shù)據(jù),需要不斷地開發(fā)新的技術和算法,以便從這些龐大的數(shù)據(jù)集中提取出有價值的信息和見解。但是目前所接觸的數(shù)據(jù)存在著信息量大、信息冗余、價值隱性等特點,為后續(xù)機器學習建模帶來了不少困擾?;谄浣y(tǒng)計特性[1],數(shù)據(jù)預處理方法在提升模型性能方面發(fā)揮著重要作用,特別是在大數(shù)據(jù)的背景下。更重要的是,處理大數(shù)據(jù)的過程中,應該關注數(shù)據(jù)處理的各個方面,包括噪聲數(shù)據(jù)的處理、類別不平衡數(shù)據(jù)的處理及特征選擇方法等,從多層次出發(fā)全方位地關注整個數(shù)據(jù)預處理過程,并不斷優(yōu)化數(shù)據(jù)處理的各個部分,使其適應多種數(shù)據(jù)集的需要。
中國已成為全球最大的互聯(lián)網(wǎng)市場,這些數(shù)據(jù)在加速推動著中國的數(shù)字經(jīng)濟和人工智能技術的發(fā)展,并且正在對全球的計算機科學和數(shù)據(jù)分析領域產(chǎn)生著深遠的影響。特別是2022 年習近平總書記在黨的二十大上所做的報告中提出了建設數(shù)字中國的戰(zhàn)略目標,包括加快數(shù)字基礎設施建設、加強數(shù)據(jù)資源保護、推動數(shù)字經(jīng)濟發(fā)展等。基于此,本文從數(shù)據(jù)預處理的角度出發(fā),結合其在機器學習算法中的應用,探討數(shù)據(jù)預處理技術的重要性。
為了給機器學習模型輸入整齊、有用的數(shù)據(jù),整個數(shù)據(jù)預處理的過程包含數(shù)據(jù)清洗過程、類別不平衡數(shù)據(jù)處理過程、特征選擇過程等方面。
在數(shù)據(jù)清洗過程中,重復值、缺失值、噪聲數(shù)據(jù)的處理構成了3 個重要的方面,具體如下:①重復值的處理。對于數(shù)據(jù)集中出現(xiàn)的重復值,如重復訂單、重復客戶信息、重復出行數(shù)據(jù)等,可以對重復值進行去重處理[2],采用保留其在數(shù)據(jù)集中唯一值的方法進行數(shù)據(jù)預處理。②缺失值的處理。對于缺失值,目前有2 種處理方法。一種方法是對無用數(shù)據(jù)的缺失而言,且缺失數(shù)據(jù)占總數(shù)據(jù)量比例較少,在確保刪除缺失值對于分析結果沒有影響的前提下,往往采用刪除的方式對數(shù)據(jù)集進行處理;另一種方法是對缺失數(shù)據(jù)進行填充,在缺失數(shù)據(jù)量較高或者數(shù)據(jù)價值較高的情況下,選擇某種替代值對缺失數(shù)據(jù)進行填充,能夠在很大程度上對原有數(shù)據(jù)進行還原。③噪聲數(shù)據(jù)的處理。由于數(shù)據(jù)集中的噪聲數(shù)據(jù)與其他數(shù)據(jù)間存在較大的偏差,為此要以某種標準對這些噪聲數(shù)據(jù)進行剔除處理[3]。一般來說,通過使用基于統(tǒng)計的異常值檢測方法,如計算數(shù)據(jù)的平均數(shù)和標準差,可以有效地檢測出離群值。
對于類別不平衡數(shù)據(jù)的處理,一般采用某種采樣方法增加數(shù)據(jù)集中少數(shù)類實例或者減少多數(shù)類實例已達到數(shù)據(jù)集中不同類別數(shù)據(jù)的相對平衡。過采樣方法是類別不平衡數(shù)據(jù)預處理技術中最常用的方法,通過按照某種標準增加新的少數(shù)類實例以達到類間相對平衡的效果,從而實現(xiàn)原始偏態(tài)數(shù)據(jù)的再平衡[4];欠采樣方法則相反,是通過刪除多數(shù)類實例的數(shù)目來達到類間分布的平衡。大多數(shù)人使用過采樣方法,因為欠采樣方法容易丟失重要的樣本信息且其分類結果不穩(wěn)定。然而,一些研究人員通過改進和調(diào)整欠采樣方法,仍然能夠獲得良好的分類結果[5]。
高維度的數(shù)據(jù)集為分類預測任務增加了難度,當將維度過多的數(shù)據(jù)輸入到機器模型算法中進行學習和預測時,分類器無法對其中的特征進行有效處理。因此,特征選擇方法的運用在數(shù)據(jù)預處理過程中很有必要,其目標是選擇更多相關的特征。
特征選擇研究于20 世紀60 年代初就已經(jīng)開始,當時的研究主要集中于統(tǒng)計學方面的問題,而且由于數(shù)據(jù)量較少,涉及的特征也較少。20 世紀90 年代以來,隨著數(shù)據(jù)量的膨脹和機器學習模型的發(fā)展與應用,迫切需要一個綜合性能較好的特征選擇算法。文獻[6]將特征選擇方法和遺傳算法進行結合,并將其應用于短時強降水和非強降水預報中,發(fā)現(xiàn)特征選擇方法能夠將預測準確率分別提升8.66%和1.05%。
本文選擇刪除空缺值和重復值、去除偏離平均值3 倍標準差以上數(shù)據(jù)的方法來對數(shù)據(jù)進行清洗。
過采樣和欠采樣是不平衡數(shù)據(jù)預處理的2 種主要方法。其中過采樣(Synthetic Minority Oversampling Technique,SMOTE)算法[7]的思想是分析少數(shù)類樣本,根據(jù)少數(shù)類樣本人工合成新樣本,并將其添加到數(shù)據(jù)集中。
假設:首先,對于少數(shù)類中的每個樣本x,使用歐幾里得距離來計算從它到少數(shù)類樣本集中所有樣本的距離,并得到它的k個最近鄰居;然后,根據(jù)樣本不平衡率來確定采樣率N,對于每個少數(shù)類樣本x,從其k個最近鄰居中隨機選擇n個樣本;最后,根據(jù)等式xnew=x+rand(0,1)×(x-xn),在原始樣本之間及其n個鄰居之間進行插值生成n個新的合成樣本而基于聚類的欠采樣(Cluster Under-Sampling,CUS)[8]從原始數(shù)據(jù)集中分離出多數(shù)類和少數(shù)類,并使用k均值聚類算法將多數(shù)類實例聚類為k個聚類。此后,通過隨機選擇大多數(shù)樣本的1/n并去除其余樣本集,對每個創(chuàng)建的聚類進行隨機欠采樣。由于在采樣之前使用聚類,理論上該算法將消除由于隨機欠采樣而導致的顯著數(shù)據(jù)減少的一些影響。
欠采樣技術的基本思想是刪除部分多數(shù)類樣本,因此會造成分類信息的丟失;而過采樣技術通過增加少數(shù)類樣本的數(shù)量,保留甚至增加了少數(shù)類的分布信息。因此,使用過采樣和欠采樣結合的手段來重新調(diào)整數(shù)據(jù)集間不同類別之間的樣本分布。
在輸入空間里,過多的輸入特征會導致整個模型的冗余,刪除冗余的特征將有助于減少計算成本并提升模型的準確性,也將有助于避免模型的過擬合。此外,更緊湊的指標可以幫助研究者關注更重要的指標,并持續(xù)跟蹤重要指標后續(xù)的預測性能。本文采用基于特征權重的啟發(fā)式搜索方法RFE(Recursive Feature Elimination,遞歸特征消除),啟發(fā)式搜索是利用啟發(fā)式信息不斷縮小搜索空間的方法。在特征選擇中,特征權重可作為啟發(fā)式信息。該算法的思想是進行多輪訓練,每輪訓練后,消除若干低權值(例特征權重系數(shù)或者特征重要性)的特征,再基于新的特征集進行下一輪訓練,一直迭代到保留需要數(shù)量的特征為止。
將上述3 種方法集成起來,提出基于集成的數(shù)據(jù)預處理技術,不僅能夠多維度進行數(shù)據(jù)預處理,克服多方面數(shù)據(jù)集本身存在的弊端;還可以結合各自方法的優(yōu)勢,將數(shù)據(jù)預處理的能力發(fā)揮到最大。
在UCⅠ數(shù)據(jù)庫中選取了3 個數(shù)據(jù)集,如表1 所示。選擇決策樹、支持向量機和神經(jīng)網(wǎng)絡這3 種機器模型以驗證所提出的數(shù)據(jù)預處理方法的有效性。
表1 3 個UCI 數(shù)據(jù)集
按照7∶3 的比例劃分為訓練集和測試集。首先用訓練集訓練3 個機器學習模型,迭代30 次從而得到最優(yōu)參數(shù);然后再用測試集驗證模型的準確性。所使用的模型評價指標包括召回率、準確率和AUC(Area Under Curve,ROC 曲線下與坐標軸圍成的面積)值。ROC(Receiver Operating Characteristic,受試者工作特征)曲線被稱為接受者操作特征曲線,可以用來評估分類算法的性能;AUC 值用于衡量分類模型的性能。AUC 的值介于0~1 之間,越接近1 表示模型的性能越好,越接近0.5 表示模型的隨機猜測性能,而越接近0 表示模型的性能越差。
本文提出的基于集成的數(shù)據(jù)預處理方法下的3 種機器學習模型的實證結果如表2 所示,其中符號“&”前后的數(shù)字分別表示數(shù)據(jù)預處理前后的指標得分。從實證結果可以看出,無論是決策樹、支持向量機還是神經(jīng)網(wǎng)絡,雖然在數(shù)據(jù)預處理之前就已經(jīng)達到了很高的預測效能,均在85%以上,但是采用本文提出的基于集成的數(shù)據(jù)預處理技術之后,每一個機器學習模型的預測性能又更上一層樓,分別提升0.8%~4.7%,這表明了基于集成的數(shù)據(jù)預處理技術對于提高機器學習算法性能的有效性。從3 個算法來看,支持向量機在3 項指標上均表現(xiàn)出最優(yōu)秀的性能,其次是神經(jīng)網(wǎng)絡,然后是決策樹。
本文提出了一種基于集成的數(shù)據(jù)預處理技術,將數(shù)據(jù)清洗、類別不平衡數(shù)據(jù)處理、特征選擇3 個階段集成到一起,并將其在決策樹、支持向量機、神經(jīng)網(wǎng)絡這3 種機器學習算法上進行應用。通過UCⅠ數(shù)據(jù)庫的3 個數(shù)據(jù)集(splice_scale、ala 和DRD)的實證分析結果可以看出,在經(jīng)過數(shù)據(jù)預處理之后,無論是哪個機器學習模型,都不同程度地提升了模型的預測性能,最高將預測準確率提升了3.5%。這樣的結果也證明了在大數(shù)據(jù)時代數(shù)據(jù)預處理方法作為數(shù)據(jù)分析、建模的首要部分,在整個過程中的重要性。