本發(fā)明涉及信息處理技術領域,尤其涉及一種處理數(shù)據(jù)的方法及裝置。
背景技術:
近年來,隨著信息處理技術的發(fā)展,大數(shù)據(jù)被越來越多的應用到了導航系統(tǒng)或城市規(guī)劃等各個領域。
目前的大數(shù)據(jù)架構通常是以數(shù)據(jù)流為導向來進行數(shù)據(jù)處理的,即,首先從數(shù)據(jù)源獲取數(shù)據(jù)并將獲取到的數(shù)據(jù)進行存儲,然后對數(shù)據(jù)進行預處理,再根據(jù)預處理后的數(shù)據(jù)進行數(shù)據(jù)建模、數(shù)據(jù)分析與數(shù)據(jù)挖掘,最后實現(xiàn)數(shù)據(jù)變現(xiàn)。由此可見,數(shù)據(jù)預處理是大數(shù)據(jù)結構中整個數(shù)據(jù)處理過程的基礎,其質量與精準度可能會直接影響到后續(xù)環(huán)節(jié)中數(shù)據(jù)維度建模的指標定義、數(shù)據(jù)挖掘算法的選擇或數(shù)據(jù)的準確性度量等,是數(shù)據(jù)處理過程的重要環(huán)節(jié)之一。
數(shù)據(jù)預處理的過程中通常會涉及到對數(shù)據(jù)中的缺失值進行處理,現(xiàn)有技術中,在對數(shù)據(jù)進行處理時一般會采用人工填寫、刪除含缺失值的記錄數(shù)據(jù)(即刪除法)、使用特殊字符(如null)填充、或者使用統(tǒng)計學上的均值或眾數(shù)進行缺失值的填補等方法對數(shù)據(jù)中的缺失值進行處理。但是,當數(shù)據(jù)量較多或達到一定級別時,人工填寫需耗費較多的時間與精力,無法滿足數(shù)據(jù)流實時快速傳輸與處理的需求;刪除含缺失值的記錄數(shù)據(jù)、使用統(tǒng)一的特殊字符或者使用統(tǒng)計學上的均值或眾數(shù)進行缺失值填充不具有針對性,會導致數(shù)據(jù)準精確性和有效性降低,由此可見,現(xiàn)有技術無法同時滿足缺失值處理的高效率和高精度的要求。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種處理數(shù)據(jù)的方法及裝置,以解決現(xiàn)有技術中的數(shù)據(jù)處理方法無法同時滿足缺失值處理的高效率和高精度的要求的技術問題。
第一方面,本發(fā)明實施例提供了一種處理數(shù)據(jù)的方法,包括:
獲取數(shù)據(jù)樣本以及數(shù)據(jù)樣本各屬性的屬性信息,所述數(shù)據(jù)樣本包括包含缺失值的數(shù)據(jù)樣本和未包含缺失值的數(shù)據(jù)樣本;
根據(jù)所述屬性信息對所述數(shù)據(jù)樣本進行聚類計算以確定各類數(shù)據(jù)樣本對應的填充值,并根據(jù)所述填充值更新對應的數(shù)據(jù)樣本;
如果更新后的數(shù)據(jù)樣本的符合結束條件,則結束操作;否則,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
第二方面,本發(fā)明實施例還提供了一種處理數(shù)據(jù)的裝置,包括:
樣本信息獲取模塊,用于獲取數(shù)據(jù)樣本以及數(shù)據(jù)樣本各屬性的屬性信息,所述數(shù)據(jù)樣本包括包含缺失值的數(shù)據(jù)樣本和未包含缺失值的數(shù)據(jù)樣本;
填充值確定模塊,用于根據(jù)所述屬性信息對所述數(shù)據(jù)樣本進行聚類計算以確定各類數(shù)據(jù)樣本對應的填充值,并根據(jù)所述填充值更新對應的數(shù)據(jù)樣本;
循環(huán)調(diào)用模塊,用于如果更新后的數(shù)據(jù)樣本的符合結束條件,則結束操作;否則,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
本發(fā)明實施例提供的處理數(shù)據(jù)的技術方案,獲取數(shù)據(jù)樣本以及各數(shù)據(jù)樣本的屬性信息,根據(jù)各數(shù)據(jù)樣本的屬性信息對數(shù)據(jù)樣本進行聚類計算以確定各數(shù)據(jù)樣本對應的填充值,并根據(jù)所確定的填充值更新對應的數(shù)據(jù)樣本,判斷更新后的數(shù)據(jù)樣本是否符合結束條件,若是,則結束操作;若否,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止。本發(fā)明實施例通過采用上述技術方案,通過聚類計算確定填充值以及各填充值對應的包含缺失值的數(shù)據(jù)樣本,可以提高填充值的正確性與數(shù)據(jù)信息的有效性,提高缺失值的處理速度,減少處理缺失值所需的時間,進而提高后續(xù)數(shù)據(jù)處理流程的準確性與整個數(shù)據(jù)處理過程的平均速度。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本發(fā)明實施例一提供的一種處理數(shù)據(jù)的方法的流程示意圖;
圖2為本發(fā)明實施例二提供的一種處理數(shù)據(jù)的方法的流程示意圖;
圖3為本發(fā)明實施例三提供的一種處理數(shù)據(jù)的方法的流程示意圖;
圖4為本發(fā)明實施例四提供的一種處理數(shù)據(jù)的裝置的結構框圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部內(nèi)容。
實施例一
本發(fā)明實施例一提供一種處理數(shù)據(jù)的方法。該方法可由處理數(shù)據(jù)的裝置執(zhí)行,其中,該裝置可由硬件和/或軟件實現(xiàn),一般可集成在數(shù)據(jù)處理平臺中。圖1是本發(fā)明實施例一提供的處理數(shù)據(jù)的方法的流程示意圖,如圖1所示,該方法包括:
s101、獲取數(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ù)樣本。數(shù)據(jù)樣本各屬性的屬性信息可以是數(shù)據(jù)樣本各屬性的屬性值、各屬性的屬性值類型和/或各屬性的貢獻度等信息。包含缺失值的數(shù)據(jù)樣本和不包含缺失值的數(shù)據(jù)樣本的具體定義可以根據(jù)處理方式的不同靈活設定,例如,可以將任意一個或多個屬性值缺失的數(shù)據(jù)樣本均定義為包含缺失值的數(shù)據(jù)樣本,相應的,將不包含缺失值的數(shù)據(jù)樣本定義為所有屬性值均不缺失的數(shù)據(jù)樣本;也可以在對數(shù)據(jù)樣本某一個屬性中包含的缺失值進行處理時,只將該屬性的屬性值缺失的數(shù)據(jù)樣本定義為包含缺失值的數(shù)據(jù)樣本,相應的,將不包含缺失值的數(shù)據(jù)樣本定義為該屬性的屬性值不缺失的數(shù)據(jù)樣本或所有屬性值均不缺失的數(shù)據(jù)樣本??紤]到計算的簡便性,優(yōu)選的,在對數(shù)據(jù)樣本某一個屬性中包含的缺失值進行處理時,可以將該屬性的屬性值缺失的數(shù)據(jù)樣本定義為包含缺失值的數(shù)據(jù)樣本,將所有屬性值均不缺失的數(shù)據(jù)樣本定義為不包含缺失值的數(shù)據(jù)樣本。
具體應用中,數(shù)據(jù)樣本和數(shù)據(jù)樣本的屬性信息可以預先存儲在與數(shù)據(jù)處理平臺相對應的數(shù)據(jù)庫中,在獲取數(shù)據(jù)樣本及其屬性信息時,直接從數(shù)據(jù)樣本的存儲位置調(diào)用該數(shù)據(jù)樣本、從數(shù)據(jù)樣本屬性信息的存儲位置獲取該數(shù)據(jù)樣本的屬性信息即可;也可以實時從數(shù)據(jù)傳輸接口獲取其他平臺或數(shù)據(jù)庫發(fā)送的數(shù)據(jù)樣本及其屬性信息并對數(shù)據(jù)樣本中的缺失值進行處理,此處不作限制。
s102、根據(jù)所述屬性信息對所述數(shù)據(jù)樣本進行聚類計算以確定各類數(shù)據(jù)樣本對應的填充值,并根據(jù)所述填充值更新對應的數(shù)據(jù)樣本。
本實施例中,在對數(shù)據(jù)樣本中包含的缺失值進行處理時,可以以橫向或縱向的順序進行處理,即,可以以數(shù)據(jù)樣本為單位進行處理,也可以以屬性為單位進行處理??紤]到處理數(shù)據(jù)時的便利性,可選的,可以以屬性為單位對數(shù)據(jù)樣本中的缺失值進行處理,不同屬性中的缺失值可同時或依次進行處理,即,可以首先確定各屬性中缺失值的處理順序,然后按照該處理順序依次對每個屬性中的缺失值進行處理;也可以按照同時或隨機等順序對各屬性中的缺失值進行處理。
示例性的,在對數(shù)據(jù)樣本某一屬性中的缺失值進行處理時,可以首先按照設定的聚類算法對數(shù)據(jù)樣本進行聚類計算,然后確定聚類計算后各類數(shù)據(jù)樣本對應的填充值,并將所確定的填充值填充到其對應類的待填充數(shù)據(jù)樣本中以實現(xiàn)對待填充數(shù)據(jù)樣本的更新。其中,某一類數(shù)據(jù)樣本對應的填充值可以是該類聚類樣本的聚類中心對應的缺失值對應屬性的屬性值、該類數(shù)據(jù)樣本中缺失值對應屬性出現(xiàn)次數(shù)最多的屬性值或者該類中與包含缺失值的數(shù)據(jù)樣本的非缺失值對應屬性的屬性值相似度最高的未包含缺失值的數(shù)據(jù)樣本的缺失值對應屬性的屬性值等。對數(shù)據(jù)樣本進行聚類計算時所使用的聚類算法可以根據(jù)需要靈活設定,例如,可以采用k-means、k-medoids、clara或clarans等聚類算法對數(shù)據(jù)樣本進行聚類計算。某一類中的待填充數(shù)據(jù)樣本為該類中包含缺失值的數(shù)據(jù)樣本,在具有應用中,可以將某一類中所有包含缺失值的數(shù)據(jù)樣本均標記為該類的待填充數(shù)據(jù)樣本;也可以只將該類中符合預設條件的部分包含缺失值的數(shù)據(jù)樣本標記為待填充數(shù)據(jù)樣本,此處不作限制??紤]到對包含缺失值的數(shù)據(jù)樣本進行填充后數(shù)據(jù)樣本的準確性,優(yōu)選的,可以將符合預設條件的部分包含缺失值的數(shù)據(jù)樣本標記為待填充數(shù)據(jù)樣本,每次聚類計算只對每類數(shù)據(jù)樣本中的待填充數(shù)據(jù)樣本進行填充,例如,可以將與該類的聚類中心的距離小于設定距離閾值、與聚類中心的相似度大于設定相似度閾值、與聚類中心的距離排序在該類所有數(shù)據(jù)樣本距離排序的第一設定比例系數(shù)之內(nèi)和/或與聚類中心的相似度排序在該類所有數(shù)據(jù)樣本相似度排序的第二設定比例系數(shù)之內(nèi)的包含缺失值的數(shù)據(jù)樣本標記為待填充數(shù)據(jù)樣本。
s103、如果更新后的數(shù)據(jù)樣本符合結束條件,則結束操作;否則,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
示例性的,當結束條件為更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算的聚類中心相同時,可以在每次確定本次計算的聚類中心之后即對該聚類中心進行記錄并獲取上次聚類計算的聚類中心,然后比較兩個聚類中心是否相同,若相同,則結束操作;若不相同,則采用本次計算的聚類中心繼續(xù)進行聚類計算。在此,需要指出的是,可以只將聚類中心完全相同的情況判定為兩次聚類計算的聚類中心相同,也可以當聚類中心的相似度高于預設的相似度閾值,如,當兩次聚類計算的聚類中心的相似度達到或高于99%時即判定兩次聚類計算的聚類中心相同。
當結束條件為聚類計算次數(shù)達到預設的計算次數(shù)時,可以通過計數(shù)器等具有計數(shù)功能的軟件或硬件統(tǒng)計聚類計算的次數(shù),每進行一次聚類計算,則計數(shù)加1,當計數(shù)達到預設的計算次數(shù)時即結束操作。在此,聚類預設的計算次數(shù)可以根據(jù)需要靈活設置,如可以將預設計算次數(shù)設置為10000次或20000次等次數(shù)值。
當結束條件為更新后的數(shù)據(jù)中未包含缺失值額數(shù)據(jù)樣本所占比例達到設定閾值時,可以在每次聚類計算結束后計算此次缺失值填充后的數(shù)據(jù)樣本中包含的缺失值信息,如果未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值,則結束操作。其中,設定閾值可以根據(jù)數(shù)據(jù)樣本的不同進行靈活設定,例如,若具體應用時對數(shù)據(jù)樣本或數(shù)據(jù)樣本某屬性的屬性值的完整性要求較高,則可以將設定閾值設置為100%;若具體應用時對數(shù)據(jù)樣本的完整性要求不高,則可以將設定閾值設置為99%、95%或其他比例值。
可選是,可以將結束條件設置為更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同,從而提高更新后的數(shù)據(jù)樣本的實用性與完整性。
本發(fā)明實施例一提供的處理數(shù)據(jù)的方法,獲取數(shù)據(jù)樣本以及各數(shù)據(jù)樣本的屬性信息,根據(jù)各數(shù)據(jù)樣本的屬性信息對數(shù)據(jù)樣本進行聚類計算以確定各數(shù)據(jù)樣本對應的填充值,并根據(jù)所確定的填充值更新對應的數(shù)據(jù)樣本,判斷更新后的數(shù)據(jù)樣本是否符合結束條件,若是,則結束操作;若否,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止。本發(fā)明實施例通過采用上述技術方案,通過聚類計算確定填充值以及各填充值對應的包含缺失值的數(shù)據(jù)樣本,可以提高填充值的正確性與數(shù)據(jù)信息的有效性,提高缺失值的處理速度,減少處理缺失值所需的時間,進而提高后續(xù)數(shù)據(jù)處理流程的準確性與整個數(shù)據(jù)處理過程的平均速度。
實施例二
圖2為本發(fā)明實施例二提供的一種處理數(shù)據(jù)的方法的流程示意圖。本實施例在上述實施例的基礎上進行優(yōu)化,進一步地,所述根據(jù)所述屬性信息對所述數(shù)據(jù)樣本進行聚類計算以確定各類數(shù)據(jù)樣本對應的填充值,并根據(jù)所述填充值更新對應的數(shù)據(jù)樣本,包括:按照設定規(guī)則確定當前聚類中心;根據(jù)所述屬性信息確定所述各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息;根據(jù)所述距離信息對各數(shù)據(jù)樣本進行分類;根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本進行更新,所述目標類為非缺失率大于當前非缺失率閾值的類,所述非缺失率為數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占的比例。
相應的,如圖2所示,本實施例提供的處理數(shù)據(jù)的方法包括:
s201、獲取數(shù)據(jù)樣本以及數(shù)據(jù)樣本各屬性的屬性信息,所述數(shù)據(jù)樣本包括包含缺失值的數(shù)據(jù)樣本和未包含缺失值的數(shù)據(jù)樣本。
s202、按照設定規(guī)則確定當前聚類中心。
本實施例中,確定當前聚類中心的設定規(guī)則可以根據(jù)需要靈活設置,例如,可以在數(shù)據(jù)樣本中隨機選取預設數(shù)量的未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心,也可以隨機將數(shù)據(jù)樣本或未包含缺失值的數(shù)據(jù)樣本分為預設數(shù)量的包含數(shù)據(jù)樣本數(shù)相同或不同的類,并取每一類的平均值作為當前聚類中心,或者隨機生成幾個由相同數(shù)量的未包含缺失值的數(shù)據(jù)樣本組成的數(shù)據(jù)樣本集,并取每個數(shù)據(jù)樣本集的平均值作為當前聚類中心,等等。
s203、根據(jù)所述屬性信息確定所述各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息。
本實施例中,可以根據(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ù)樣本與各當前聚類中心之間的距離信息,也可以通過各數(shù)據(jù)樣本相關屬性的屬性信息確定各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息,此處不作限制??紤]到計算的簡便性與實用性,可選是,可以根據(jù)各數(shù)據(jù)樣本的相關屬性信息確定各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息。此時,優(yōu)選的,所述根據(jù)所述屬性信息確定所述各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息,具體為:根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值確定所述數(shù)據(jù)樣本與各當前聚類中心之間的距離信息;或者,根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值以及各相關屬性的貢獻度確定所述數(shù)據(jù)樣本與各前聚類中心之間的距離信息;其中,所述相關屬性為缺失值對應屬性的相關屬性。某一缺失值對應屬性的相關屬性(某一相關屬性的貢獻度)可以由開發(fā)商或運營商根據(jù)需要靈活設定,也可以根據(jù)數(shù)據(jù)樣本各相關屬性與該缺失值對應屬性的關聯(lián)度信息(該相關屬性與該缺失值對應屬性的關聯(lián)度信息)確定,關聯(lián)度信息可以通過統(tǒng)計該缺失值對應屬性的屬性值發(fā)生變化時其他各屬性(相關屬性)的屬性值發(fā)生變化的概率獲得。
示例性的,在根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值確定某一數(shù)據(jù)樣本與某一當前聚類中心之間的距離信息時,如果該數(shù)據(jù)樣本各相關屬性的屬性值均為離散型數(shù)值,則可以將該數(shù)據(jù)樣本與該當前聚類中心屬性值不相同的相關屬性的個數(shù)與相關屬性的總個數(shù)之比作為該數(shù)據(jù)樣本與該當前聚類中心的距離信息,例如,若缺失值對應屬性共有10個相關屬性,該數(shù)據(jù)樣本中有8個相關屬性的屬性值與該當前聚類中心相同,則該數(shù)據(jù)樣本與該當前聚類中心之間的距離m=(10-8)/10=0.2;如果該數(shù)據(jù)樣本各相關屬性的屬性值均為連續(xù)型數(shù)值,則可以通過歐氏距離公式
在根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值以及各相關屬性的貢獻度確定某一數(shù)據(jù)樣本與某一當前聚類中心之間的距離信息時,如果該數(shù)據(jù)樣本各相關屬性的屬性值均為離散型數(shù)值,則可以將該數(shù)據(jù)樣本與該當前聚類中心屬性值不相同的相關屬性的貢獻度之和與所有相關屬性的貢獻度之和的比值作為該數(shù)據(jù)樣本與該當前聚類中心的距離信息,例如,若缺失值對應屬性共有4個相關屬性a、b、c和d(貢獻度分別為0.8、0.7、0.9和0.85),該數(shù)據(jù)樣本中相關屬性a和b的屬性值與該當前聚類中心相同,則該數(shù)據(jù)樣本與該當前聚類中心之間的距離m=(0.9+0.85)/(0.8+0.7+0.9+0.85)=0.54;如果該數(shù)據(jù)樣本各相關屬性的屬性值均為連續(xù)型數(shù)值,則可以通過歐氏距離公式
在此,需要指出的是,如果缺失值對應屬性的相關屬性中既包含離散型數(shù)值,也包含連續(xù)型數(shù)值,則可以首先將相關屬性中的連續(xù)型數(shù)值進行離散化處理,然后再計算各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息。
s204、根據(jù)所述距離信息對各數(shù)據(jù)樣本進行分類。
示例性的,在對某一數(shù)據(jù)樣本進行分類時,可以選擇與該數(shù)據(jù)樣本距離最近的聚類中心所屬的類作為該數(shù)據(jù)樣本的所述類。如果存在兩個或更多個與該數(shù)據(jù)樣本距離最近的聚類中心,則可以本次聚類計算不對該數(shù)據(jù)樣本進行分類,也可以隨機選取一個距離最近的聚類中心所屬的類作為該數(shù)據(jù)樣本的所屬類,此處不作限制。
s205、根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本進行更新,所述目標類為非缺失率大于當前非缺失率閾值的類,所述非缺失率為數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占的比例。
本實施例中,非缺失率閾值與預設條件可以根據(jù)需要靈活設定,例如,可以將非缺失率閾值設置為0.5或0.6等比例值,可以將預設條件設置為與該類的聚類中心的距離小于設定距離閾值、與聚類中心的相似度大于設定相似度閾值、與聚類中心的距離排序在該類所有數(shù)據(jù)樣本距離排序的第一設定比例系數(shù)之內(nèi)和/或與聚類中心的相似度排序在該類所有數(shù)據(jù)樣本相似度排序的一定的比例系數(shù)之內(nèi)等。在此,需要指出的是,不同次聚類計算所對應的非缺失率閾值可以為相同的數(shù)值,也可以為不同的數(shù)值,此處不作限制。示例性的,假設某一類中共有1000個數(shù)據(jù)樣本,其中缺失值對應屬性的屬性值缺失的數(shù)據(jù)樣本的數(shù)量為200,則該類數(shù)據(jù)樣本的非缺失率為:(1000-200)/1000=0.8。
s206、如果更新后的數(shù)據(jù)樣本符合結束條件,則結束操作;否則,返回步驟s202,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
本發(fā)明實施例二提供的處理數(shù)據(jù)的方法,按照設定規(guī)則確定當前聚類中心,根據(jù)數(shù)據(jù)樣本的屬性信息確定數(shù)據(jù)樣本與各當前聚類中心之間的距離信息,根據(jù)所得到的距離信息對各數(shù)據(jù)樣本進行分類,根據(jù)非缺失率大于當前非缺失率閾值的目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本進行更新。本實施例通過采用上述技術方案,每次聚類計算都只對非缺失率較高的類中的部分包含缺失值的數(shù)據(jù)樣本進行更新,可以提高所填充的填充值的準確性,進而提高填充后數(shù)據(jù)樣本的準確性與有效性,提高缺失值的處理速度,減少處理缺失值所需的時間,進而提高后續(xù)數(shù)據(jù)處理流程的準確性與整個數(shù)據(jù)處理過程的平均速度。
實施例三
圖3為本發(fā)明實施例三提供的一種處理數(shù)據(jù)的方法的流程示意圖。本實施例在上述實施例的基礎上進行優(yōu)化,進一步地,所述按照設定規(guī)則確定聚類計算的當前聚類中心,包括:判斷數(shù)據(jù)樣本是否存在所屬類;如果不存在,則從所述未包含缺失值的數(shù)據(jù)樣本中獲取至少兩個未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心;如果存在,則根據(jù)各類中包含的數(shù)據(jù)樣本各屬性的屬性信息計算各類的質心點作為當前聚類中心。
進一步地,所述根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本中的缺失值進行填充進行更新,包括:根據(jù)各類中缺失值對應屬性的非缺失率確定可進行缺失值填充的目標類;基于所述目標類中各包含缺失值的數(shù)據(jù)樣本與所述目標類的當前聚類中心之間的距離信息確定待填充數(shù)據(jù)樣本;根據(jù)目標類中未包含缺失值的數(shù)據(jù)樣本的缺失值對應屬性的屬性值確定填充值,并根據(jù)所述填充值更新所述待填充數(shù)據(jù)樣本。
進一步地,在所述根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本中的缺失值進行填充進行更新之后,還包括:基于設定更新規(guī)則更新所述當前非缺失率閾值。
相應的,如圖3所示,本實施例提供的處理數(shù)據(jù)的方法包括:
s301、獲取數(shù)據(jù)樣本以及數(shù)據(jù)樣本各屬性的屬性信息,所述數(shù)據(jù)樣本包括包含缺失值的數(shù)據(jù)樣本和未包含缺失值的數(shù)據(jù)樣本。
s302、判斷數(shù)據(jù)樣本是否存在所屬類,若否,則執(zhí)行步驟s303;若是,則執(zhí)行步驟s304。
本實施例中,判定數(shù)據(jù)樣本是否存在所屬類的方法可以根據(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ù)樣本相對應的聚類中心信息,則判定數(shù)據(jù)樣本存在所屬類,否則,則判定數(shù)據(jù)樣本不存在所屬類。
s303、從所述未包含缺失值的數(shù)據(jù)樣本中獲取至少兩個未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心,執(zhí)行步驟s305。
本實施例中,所獲取的未包含缺失值的數(shù)據(jù)樣本的數(shù)量可以根據(jù)需要靈活設定,如可以獲取3個或5個未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心??紤]到聚類計算的簡便性和有效性,可選是,可以將所獲取的未包含缺失值的數(shù)據(jù)樣本的數(shù)量設置為3-5個。在獲取數(shù)據(jù)樣本時,可以隨機或按照預設規(guī)則獲取未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心,例如,如果缺失值對應屬性的屬性值為離散型數(shù)值,則可以根據(jù)缺失值對應屬性的屬性值的個數(shù)確定所獲取的未包含缺失值的數(shù)據(jù)樣本的個數(shù);如果缺失值對應屬性的屬性值為連續(xù)性數(shù)值,則可以隨機獲取3-5個未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心。
s304、根據(jù)各類中包含的數(shù)據(jù)樣本各屬性的屬性信息計算各類的質心點作為當前聚類中心,執(zhí)行步驟s305。
示例性的,可以將各類中數(shù)據(jù)樣本各屬性的屬性值的均值作為數(shù)據(jù)樣本的當前聚類中心。相應的,在計算某一類中的數(shù)據(jù)樣本的某一屬性的均值時,如果該屬性的屬性值為連續(xù)型數(shù)值,則可以直接計算給類中所有數(shù)據(jù)樣本該屬性的屬性值的平均值或者該類數(shù)據(jù)樣本中該屬性的屬性值不缺失的數(shù)據(jù)樣本的該屬性的屬性值的平均值作為該類數(shù)據(jù)樣本該屬性的均值;如果該屬性的屬性值為離散型數(shù)值,則可以取該類數(shù)據(jù)樣本中出現(xiàn)次數(shù)最多的該屬性的屬性值作為該類數(shù)據(jù)樣本該屬性的均值,如果出現(xiàn)次數(shù)最多的該屬性的屬性值為多個,則可以隨機獲取該出現(xiàn)次數(shù)最多的多個屬性值中的一個作為該類數(shù)據(jù)樣本該屬性的均值。
s305、根據(jù)所述屬性信息確定所述各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息。
s306、根據(jù)所述距離信息對各數(shù)據(jù)樣本進行分類。
s307、根據(jù)各類中缺失值對應屬性的非缺失率確定可進行缺失值填充的目標類。
示例性的,可以首先獲取用于判定某一類是否為目標類的非缺失率閾值,然后計算各類中缺失值對應屬性的非缺失率并將大于或等于該非缺失率閾值的類確定為目標類。其中,非缺失率閾值可以根據(jù)需要靈活設置,例如,假設非缺失率閾值為0.5,此時,相應的,可以將非缺失率大于或等于0.5的類確定為目標類。
s308、基于所述目標類中各包含缺失值的數(shù)據(jù)樣本與所述目標類的當前聚類中心之間的距離信息確定待填充數(shù)據(jù)樣本。
示例性的,可以預先設定確定待填充樣本的比例系數(shù),并與聚類中心的距離排序在該比例系數(shù)之內(nèi)的包含缺失值的數(shù)據(jù)樣本確定為待填充數(shù)據(jù)樣本。其中,該比例系數(shù)可以是只針對包含缺失值的數(shù)據(jù)樣本的比例系數(shù),也可以是針對該類中的所有數(shù)據(jù)樣本的比例系數(shù)。例如,假設比例系數(shù)為10%,則可以將距離排序在包含缺失值的數(shù)據(jù)樣本的距離排序的前10%的包含缺失值的數(shù)據(jù)樣本確定為待填充數(shù)據(jù)樣本;也可以將距離排序在該類所有數(shù)據(jù)樣本的距離排序的前10%的包含缺失值的數(shù)據(jù)樣本確定為待填充數(shù)據(jù)樣本。
s309、根據(jù)目標類中未包含缺失值的數(shù)據(jù)樣本的缺失值對應屬性的屬性值確定填充值,并根據(jù)所述填充值更新所述待填充數(shù)據(jù)樣本。
示例性的,如果缺失值對應屬性的屬性值為連續(xù)型數(shù)值,則可以取目標類中未包含缺失值的數(shù)據(jù)樣本的缺失值對應屬性的屬性值的平均值作為該目標類的填充值;如果缺失值對應屬性的屬性值為離散型數(shù)值,則可以確目標類中未包含缺失值的數(shù)據(jù)樣本中出現(xiàn)次數(shù)最高的缺失值對應屬性的屬性值作為填充值,如果某一目標類中出現(xiàn)次數(shù)最高的缺失值對應屬性的屬性值為多個,則可以默認此次聚類計算不對該目標類中的缺失值進行處理。
s310、基于設定更新規(guī)則更新當前非缺失率閾值。
本實施例中,設定更新規(guī)則可以根據(jù)需要靈活設定,例如,可以預先為每次聚類計算均設置不同的非缺失率閾值,每次聚類計算時調(diào)用與該次聚類計算相符的非缺失率閾值作為當前非缺失率閾值,此時各次聚類計算的非缺失率閾值之間是相互獨立的;也可以根據(jù)前一次計算的非缺失率閾值確定本次計算的當前非缺失率閾值,如可以在前一次計算的非缺失率閾值的基礎上減少設定的值作為此次計算的當前非缺失率閾值,例如,可以將本次計算的當前非缺失率閾值設置為前一次計算的非缺失率閾值的90%,此時,假設前一次聚類計算的非缺失率閾值為0.5,則本次聚類計算的當前非缺失率閾值為:0.5×90%=0.45。
s311、如果更新后的數(shù)據(jù)樣本符合結束條件,則結束操作;否則,返回步驟s304,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
本發(fā)明實施例三提供的處理數(shù)據(jù)的方法,根據(jù)各類中數(shù)據(jù)樣本缺失值對應屬性的非缺失率確定目標類,根據(jù)包含缺失值的數(shù)據(jù)樣本與聚類中心之間的距離信息確定待填充數(shù)據(jù)樣本,并在每次聚類計算完成后對當前非缺失率閾值進行更新,可以保證數(shù)據(jù)樣本中的所有缺失值均能夠被填充,提高所填充的填充值的準確性,進而提高填充后數(shù)據(jù)樣本的準確性與有效性,提高缺失值的處理速度,減少處理缺失值所需的時間,進而提高后續(xù)數(shù)據(jù)處理流程的準確性與整個數(shù)據(jù)處理過程的平均速度。
實施例四
本發(fā)明實施例四提供一種處理數(shù)據(jù)的裝置。該裝置可以由硬件和/或軟件實現(xiàn),一般可集成在數(shù)據(jù)處理平臺中,可通過執(zhí)行處理數(shù)據(jù)的方法對數(shù)據(jù)進行處理。圖4所示為本發(fā)明實施例三提供的處理數(shù)據(jù)的裝置的結構框圖,如圖4所示,該裝置包括:
樣本信息獲取模塊401,用于獲取數(shù)據(jù)樣本以及數(shù)據(jù)樣本各屬性的屬性信息,所述數(shù)據(jù)樣本包括包含缺失值的數(shù)據(jù)樣本和未包含缺失值的數(shù)據(jù)樣本;
填充值確定模塊402,用于根據(jù)所述屬性信息對所述數(shù)據(jù)樣本進行聚類計算以確定各類數(shù)據(jù)樣本對應的填充值,并根據(jù)所述填充值更新對應的數(shù)據(jù)樣本;
循環(huán)調(diào)用模塊403,用于如果更新后的數(shù)據(jù)樣本符合結束條件,則結束操作;否則,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止,其中,所述結束條件包括:更新后的數(shù)據(jù)樣本的聚類中心與上次聚類計算時的聚類中心相同、聚類計算次數(shù)達到預設的計算次數(shù)或者更新后的數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占比例達到設定閾值。
本發(fā)明實施例四提供的處理數(shù)據(jù)的裝置,通過樣本信息獲取模塊獲取數(shù)據(jù)樣本以及各數(shù)據(jù)樣本的屬性信息,通過填充值確定模塊根據(jù)各數(shù)據(jù)樣本的屬性信息對數(shù)據(jù)樣本進行聚類計算以確定各數(shù)據(jù)樣本對應的填充值,并根據(jù)所確定的填充值更新對應的數(shù)據(jù)樣本,通過循環(huán)調(diào)用模塊判斷更新后的數(shù)據(jù)樣本是否符合結束條件,若是,則結束操作;若否,則對更新后的數(shù)據(jù)樣本重新進行聚類計算,直至更新后的數(shù)據(jù)樣本符合結束條件為止。本實施例通過采用上述技術方案,通過聚類計算確定填充值以及各填充值對應的包含缺失值的數(shù)據(jù)樣本,可以提高填充值的正確性與數(shù)據(jù)信息的有效性,提高缺失值的處理速度,減少處理缺失值所需的時間,進而提高后續(xù)數(shù)據(jù)處理流程的準確性與整個數(shù)據(jù)處理過程的平均速度。
進一步地,所述填充值確定模塊402包括:聚類中心確定單元,用于按照設定規(guī)則確定當前聚類中心;距離信息確定單元,用于根據(jù)所述屬性信息確定所述各數(shù)據(jù)樣本與各當前聚類中心之間的距離信息;數(shù)據(jù)樣本分類單元,用于根據(jù)所述距離信息對各數(shù)據(jù)樣本進行分類;數(shù)據(jù)樣本更新單元,用于根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本進行更新,所述目標類為非缺失率大于當前非缺失率閾值的類,所述非缺失率為數(shù)據(jù)樣本中未包含缺失值的數(shù)據(jù)樣本所占的比例。
進一步地,所述聚類中心確定單元具體用于:判斷數(shù)據(jù)樣本是否存在所屬類;如果不存在,則從所述未包含缺失值的數(shù)據(jù)樣本中獲取至少兩個未包含缺失值的數(shù)據(jù)樣本作為當前聚類中心;如果存在,則根據(jù)各類中包含的數(shù)據(jù)樣本各屬性的屬性信息計算各類的質心點作為當前聚類中心。
進一步地,所述距離信息確定單元具體用于:根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值確定所述數(shù)據(jù)樣本與各當前聚類中心之間的距離信息;或者,根據(jù)數(shù)據(jù)樣本各相關屬性的屬性值以及各相關屬性的貢獻度確定所述數(shù)據(jù)樣本與各前聚類中心之間的距離信息;其中,所述相關屬性為缺失值對應屬性的相關屬性。
進一步地,所述數(shù)據(jù)樣本更新單元包括:目標類確定子單元,用于根據(jù)各類中缺失值對應屬性的非缺失率確定可進行缺失值填充的目標類;待填充樣本確定子單元,用于基于所述目標類中各包含缺失值的數(shù)據(jù)樣本與所述目標類的當前聚類中心之間的距離信息確定待填充數(shù)據(jù)樣本;待填充樣本更新子單元,用于根據(jù)目標類中未包含缺失值的數(shù)據(jù)樣本的缺失值對應屬性的屬性值確定填充值,并根據(jù)所述填充值更新所述待填充數(shù)據(jù)樣本。
進一步地,所述數(shù)據(jù)樣本更新單元還可以包括:閾值更新單元,用于在所述根據(jù)目標類中各數(shù)據(jù)樣本缺失值對應屬性的屬性值確定填充值,并基于所述填充值對目標類中符合預設條件的包含缺失值的數(shù)據(jù)樣本中的缺失值進行填充進行更新之后,基于設定更新規(guī)則更新所述當前非缺失率閾值。
本實施例提供的處理數(shù)據(jù)的裝置可執(zhí)行本發(fā)明任意實施例所提供的處理數(shù)據(jù)的方法,具備執(zhí)行處理數(shù)據(jù)的方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明任意實施例所提供的處理數(shù)據(jù)的方法。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。