一種特征選擇方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及數據挖掘技術領域,尤其涉及一種特征選擇方法及裝置。
【背景技術】
[0002] 高維數據,如航天遙感數據、生物數據、網絡數據以及金融市場交易數據等,數據 的數量和維數呈現指數級的數量膨脹,這不僅可以給人們帶來"維數福音",即高維數據中 蘊藏的豐富信息中可產生解決問題的新的可能性;而且,也會給人們帶來"維數災難(curse of dimensionality) ",即高維空間中點與點間的歐式距離幾乎相同,使得高維數據中模式 識別和規則發現帶來極大困難;因此,為了避免"維數災難",需要對高維數據進行特征選擇 (Feature Selection)〇
[0003] 圖1為現有技術中特征選擇的基本流程示意圖,如圖1所示,包括以下步驟:SlOL 從原始數據集中隨機產生一組特征子集;S102.利用評價函數對所述特征子集進行評價; S103.將評價結果與停止準則進行比較,判斷評價結果是否好于停止準則,若是,則執行步 驟S104 ;若否,則重復步驟S101-S103 ;S104.若是,則驗證所述特征子集的有效性,確定所 述特征子集為最優特征子集;由于,在特征選擇的基本過程中,從數據集中產生的初始特征 子集的好壞直接影響整個過程的迭代次數,尤其是隨機產生的特征子集會使得迭代運算收 斂比較慢;同時,結果特征子集評價標準難以確定,容易造成將不夠準確的結果評價為最優 特征子集;因此,現有技術通用的特征選擇運算效率低且選出的最優特征子集不夠準確。
【發明內容】
[0004] 本發明實施例提供一種特征選擇方法及裝置,解決了如何從原始特征子集中選出 比較準確的最優特征子集的問題,提高了高維數據特征選擇的有效性及運算效率。
[0005] 為達到上述目的,本發明采用的技術方案是,
[0006] 第一方面,本發明實施例提供一種特征選擇方法,包括:
[0007] 計算原始數據集中各特征變量之間的相關性,以及,所述原始數據集中各特征變 量與預測目標特征變量之間的相關性;其中,所述原始數據集包含N維特征變量,所述N維 特征變量包含N-I維所述特征變量和所述預測目標特征變量,所述N為正整數;
[0008] 根據所述原始數據集中各特征變量之間的相關性,和,所述原始數據集中各特征 變量與預測目標特征變量之間的相關性,獲取強相關特征子集和弱相關特征子集;其中,所 述強相關子集中包含的特征變量為所述原始數據集中,與所述預測目標特征變量直接相關 的特征變量;所述弱相關子集中包含的特征變量為所述原始數據集中,與所述預測目標特 征變量間接相關的特征變量;
[0009] 將所述強相關特征子集中包含的所有特征變量,以及,所述弱相關特征子集中,與 所述強相關特征子集中的特征變量直接相關的特征變量的集合確定為所述預測目標特征 變量的最優特征子集。
[0010] 在第一方面的第一種可能的實現方式中,結合第一方面,所述原始數據集還包含M 組數據,所述M組數據包含訓練數據集,其中,每組數據中包含在同一時刻采集的所述N維 特征變量對應的數據,所述M為正整數;
[0011] 相應的,所述計算原始數據集中各特征變量之間的相關性,以及,所述原始數據集 中各特征變量與預測目標特征變量之間的相關性,包括:
[0012] 根據所述訓練數據集中的數據計算所述原始數據集中各特征變量之間的相關性, 以及,所述原始數據集中各特征變量與預測目標特征變量之間的相關性。
[0013] 在第一方面的第二種可能的實現方式中,結合第一方面的第一種可能的實現方 式,所述M組數據還包含評估數據集和測試數據集;
[0014] 相應的,所述根據所述原始數據集中各特征變量之間的相關性,和,所述原始數據 集中各特征變量與預測目標特征變量之間的相關性,獲取強相關特征子集和弱相關特征子 集,包括:
[0015] 根據所述原始數據集中各特征變量之間的相關性,所述原始數據集中各特征變量 與預測目標特征變量之間的相關性,以及,所述評估數據集和所述測試數據集獲取分類模 型;
[0016] 根據所述分類模型獲取所述強相關特征子集和所述弱相關特征子集。
[0017] 在第一方面的第三種可能的實現方式中,結合第一方面的第二種可能的實現方 式,所述根據所述原始數據集中各特征變量之間的相關性、所述原始數據集中各特征變量 與預測目標特征變量之間的相關性、所述評估數據集、以及所述測試數據集獲取分類模型, 包括:
[0018] 根據所述原始數據集中各特征變量之間的相關性,和,所述原始數據集中各特征 變量與預測目標特征變量之間的相關性建立初始的貝葉斯網絡模型;其中,所述初始的貝 葉斯網絡模型包含節點和有向邊,所述節點表示特征變量,所述有向邊表示與所述有向邊 連接的兩個節點之間的相關性;
[0019] 利用所述評估數據集迭代訓練所述初始的貝葉斯網絡模型,獲得穩定的貝葉斯網 絡模型;其中,所述穩定的貝葉斯網絡為包含不可逆的有向邊的貝葉斯網絡模型;
[0020] 利用所述測試數據集測試所述穩定的貝葉斯網絡模型,若所述穩定的貝葉斯網絡 模型的拓撲結構保持不變,則將所述穩定的貝葉斯網絡模型確定為分類模型。
[0021] 在第一方面的第四種可能的實現方式中,結合第一方面至第一方面的第三種可能 的實現方式中的任一種實現方式,所述將所述強相關特征子集中包含的所有特征變量,以 及,所述弱相關特征子集中,與所述強相關特征子集中的特征變量直接相關的特征變量的 集合確定為所述預測目標特征變量的最優特征子集,包括:
[0022] 在所述弱相關特征子集中,選擇第一特征變量,將所述第一特征變量加入當前預 測模型,判斷加入所述第一特征變量后的所述當前預測模型的預測精度是否大于所述當前 預測模型的預測精度,其中,所述第一特征變量為所述弱相關特征子集中,與所述預測目標 特征變量的相關性最大的特征變量,所述當前預測模型為初始預測模型或更新后的所述初 始預測模型,所述初始預測模型為以所述強相關特征子集中的特征變量為輸入端建立的預 測模型;
[0023] 若是,則更新所述當前預測模型,并將所述第一特征變量從所述弱相關特征子集 中刪除,加入第一集合;
[0024] 若否,則不更新所述當前預測模型,并將所述第一特征變量從所述弱相關特征子 集中刪除;
[0025] 重復上述過程,直至所述弱相關特征子集中不存在特征變量;
[0026] 將所述強相關特征子集中的特征變量和所述第一集合中的特征變量的集合確定 為所述預測目標特征變量的最優特征子集。
[0027] 在第一方面的第五種可能的實現方式中,結合第一方面的第四種可能的實現方 式,所述預測型為神經網絡模型;
[0028] 相應的,所述以所述強相關特征子集中的特征變量為輸入端建立預測模型,包 括:
[0029] 以強相關特征子集中包含的特征變量為輸入元構建神經網絡模型;其中,所述神 經網絡模型包含輸入層,隱含層,以及,輸出層;所述輸入層和隱含層之間,以及,所述隱含 層與所述輸出層之間通過連接權函數連接。
[0030] 第二方面,本發明實施例提供一種特征選擇裝置,包括:
[0031] 計算模塊,用于計算原始數據集中各特征變量之間的相關性,以及,所述原始數據 集中各特征變量與預測目標特征變量之間的相關性;其中,所述原始數據集包含N維特征 變量,所述N維特征變量包含N-I維所述特征變量和所述預測目標特征變量,所述N為正整 數;
[0032] 獲取模塊,用于根據所述計算模塊計算出的所述原始數據集中各特征變量之間的 相關性,和,所述原始數據集中各特征變量與預測目標特征變量之間的相關性,獲取強相關 特征子集和弱相關特征子集;其中,所述強相關子集中包含的特征變量為所述原始數據集 中,與所述預測目標特征變量直接相關的特征變量;所述弱相關子集中包含的特征變量為 所述原始數據集中,與所述預測目標特征變量間接相關的特征變量;
[0033] 確定模塊,用于將所述獲取模塊獲取的所述強相關特征子集中包含的所有特征變 量,以及,所述弱相關特征子集中,與所述強相關特征子集中的特征變量直接相關的特征變 量的集合確定為所述預測目標特征變量的最優特征子集。
[0034] 在第二方面的第一種可能的實現方式中,結合第二方面,所述原始數據集還包含M 組數據,所述M組數據包含訓練數據集,其中,每組數據中包含在同一時刻采集的所述N維 特征變量對應的數據,所述M為正整數;
[0035] 相應的,所述計算模塊,具體用于:
[0036] 根據所述訓練數據集中的數據計算所述原始數據集中各特征變量之間的相關性, 以及,所述原始數據集中各特征變量與預測目標特征變量之間的相關性。
[0037] 在第二方面的第二種可能的實現方式中,結合第二方面的第一種可能的實現方 式,所述M組數據還包含評估數據集和測試數據集;
[0038] 相應的,所述獲取模塊,具體用于:
[0039] 根據所述原始數據集中各特征變量之間的相關性、所述原始數據集中各特征變 量與預測目標特征變量之間的相關性、所述評估數據集、以及所述測試數據集獲取分類模 型;
[0040] 根據所述分類模型獲取所述強相關特征子集和所述弱相關特征子集。
[0041] 在第二方面的第三種可能的實現方式中,結合第二方面的第二種可能的實現方 式,所述獲取模塊,具體用于:
[0042] 根據所述原始數據集中各特征變量之間的相關性,和,所述原始數據集中各特征 變量與預測目標特征變量之間的相關性建立初始的貝葉斯網絡模型;其中,所述初始的貝 葉斯網絡模型包含節點和有向邊,所述節點表示特征變量,所述有向邊表示與所述有向邊 連接的兩個節點之間的相關性;
[0043] 利用所述評估數據集迭代訓練所述初始的貝葉斯網絡模型,獲得穩定的貝葉斯網 絡模型;其中,所述穩定的貝葉斯網絡為包含不可逆的有向邊的貝葉斯網絡模型;
[0044] 利用所述測試數據集測試所述穩定的貝葉斯網絡模型,若所述穩定的貝葉斯網絡 模型的拓撲結構保持不變,則將所述穩定的貝葉斯網絡模型確定為分類模型。
[0045] 在第二方面的第四種可能的實現方式中,結合第二方面至第二方面的第三種可能 的實現方式中的任一種實現方式,所述確定模塊,具體用于:
[0046] 在所述弱相關特征子集中,選擇第一特征變量,將所述第一特征變量加入當前預 測模型,判斷加入所述第一特征變量后的所述當前預測模型的預測精度是否大于所述當前 預測模型的預測精度,其中,所述第一特征變量為所述弱相關特征子集中,與所述預測目標 特征變量的相關性最大的特征變量,所述當前預測模型為初始預測模型或更新后的所述初 始預測模型,所述初始預測模型為以所述強相關特征子集中的特征變量為輸入端建立的預 測模型;
[0047] 若是,則更新所述當前預測模型,并將所述第一特征變量從所述弱相關特征子集 中刪除,加入第一集合;
[0048] 若否,則不更新所述當前預測模型,并將所述第一特征變量從所述弱相關特征子 集中刪除;
[0049] 重復上述過程,直至所述弱相關特征子集中不存在特征變量;
[0050] 將所述強相關特征子集中的特征變量和所述第一集合中的特征變量的集合確定 為所述預測目標特征變量的最優特征子集。
[0051] 在第二方面的第五種可能的實現方式中,結合第二方面的第四種可能的實現方 式,所述預測模型為神經網絡模型;
[0052] 相應的,所述確定模塊,具體用于:
[0053] 以強相關特征子集中包含的