資料探勘

資料探勘（Data mining）是一個跨學科的計算機科學分支 。它是用人工智慧、機器學習、統計學和資料庫的交叉方法在相對較大型的資料集中發現模式的計算過程。

資料探勘過程的總體目標是從一個數據集中提取資訊，並將其轉換成可理解的結構，以進一步使用。除了原始分析步驟，它還涉及到資料庫和資料管理方面、、模型與推斷方面考量、興趣度度量、複雜度的考慮，以及發現結構、視覺化及線上更新等後處理。資料探勘是 “資料庫知識發現”（Knowledge-Discovery in Databases, KDD）的分析步驟 ，本質上屬於機器學習的範疇。

類似詞語 “”、“資料捕魚” 和 “資料探測” 指用資料探勘方法來取樣（可能）過小以致無法可靠地統計推斷出所發現任何模式的有效性的更大總體資料集的部分。不過這些方法可以建立新的假設來檢驗更大資料總體。

歷史

資料探勘是因為海量有用資料快速增長的產物。使用計算機進行歷史資料分析，1960 年代數字方式採集資料已經實現。1980 年代，關係資料庫隨著能夠適應動態按需分析資料的結構化查詢語言發展起來。資料倉庫開始用來儲存大量的資料。

因為面臨處理資料庫中大量資料的挑戰，於是資料探勘應運而生，對於這些問題，它的主要方法是資料統計分析和人工智慧搜尋技術。

定義

資料探勘有以下這些不同的定義：

「從資料中提取出隱含的過去未知的有價值的潛在資訊」
「一門從大量資料或資料庫中提取有用資訊的科學」

儘管通常資料探勘應用於資料分析，但是像人工智慧一樣，它也是一個具有豐富含義的詞彙，可用於不同的領域。

它與 KDD (Knowledge discovery in databases) 的關係是：KDD 是從資料中辨別有效的、新穎的、潛在有用的、最終可理解的模式的過程；而資料探勘是 KDD 透過特定的演算法在可接受的計算效率限制內生成特定模式的一個步驟。

事實上，在現今的文獻中，這兩個術語經常不加區分的使用。

本質

資料探勘本質上屬於機器學習的內容。

例如《資料探勘：實用機器學習技術及 Java 實現》一書大部分是機器學習的內容。這本書最初只叫做 “實用機器學習”，“資料探勘” 一詞是後來為了營銷才加入的。通常情況下，使用更為正式的術語，（大規模）資料分析和分析學，或者指出實際的研究方法（例如人工智慧和機器學習）會更準確一些。

過程

資料探勘的實際工作是對大規模資料進行自動或半自動的分析，以提取過去未知的有價值的潛在資訊，例如資料的分組（透過聚類分析）、資料的異常記錄（透過異常檢測）和資料之間的關係（透過關聯式規則挖掘）。這通常涉及到資料庫技術，例如。這些潛在資訊可透過對輸入資料處理之後的總結來呈現，之後可以用於進一步分析，比如機器學習和預測分析。舉個例子，進行資料探勘操作時可能要把資料分成多組，然後可以使用決策支援系統以獲得更加精確的預測結果。不過資料收集、資料預處理、結果解釋和撰寫報告都不算資料探勘的步驟，但是它們確實屬於 “資料庫知識發現”（KDD）過程，只不過是一些額外的環節。

資料庫知識發現（KDD）過程通常定義為以下階段：

(1) 選擇

(2) 預處理

(3) 變換

(4) 資料探勘

(5) 解釋 / 評估。

4.1 預處理

在運用資料探勘演算法之前，必須收集目標資料集。由於資料探勘只能發現實際存在於資料中的模式，目標資料集必須大到足以包含這些模式，而其餘的足夠簡潔以在一個可接受的時間範圍內挖掘。常見的資料來源如資料超市或資料倉儲。在資料探勘之前，有必要預處理來分析多變數資料。然後要清理目標集。資料清理移除包含和含有缺失資料的觀測量。

4.2 資料探勘

資料探勘涉及六類常見的任務：

異常檢測（異常 / 變化 / 偏差檢測）– 識別不尋常的資料記錄，錯誤資料需要進一步調查。
關聯規則學習（依賴建模）– 搜尋變數之間的關係。例如，一個超市可能會收集顧客購買習慣的資料。運用關聯規則學習，超市可以確定哪些產品經常一起買，並利用這些資訊幫助營銷。這有時被稱為市場購物籃分析。
聚類 – 是在未知資料的結構下，發現數據的類別與結構。
分類 – 是對新的資料推廣已知的結構的任務。例如，一個電子郵件程式可能試圖將一個電子郵件分類為 “正常郵件” 或 “垃圾郵件”。
迴歸 – 試圖找到能夠以最小誤差對該資料建模的函式。
– 提供了一個更緊湊的資料集表示，包括生成視覺化和報表。

4.3 結果驗證

資料探勘的價值一般帶著一定的目的，而這目的是否得到實現一般可以透過結果驗證來實現。驗證是指 “透過提供客觀證據對規定要求已得到滿足的認定”，而這個 “認定” 活動的策劃、實施和完成，與 “規定要求” 的內容緊密相關。資料探勘過程中的資料驗證的 “規定要求” 的設定，往往與資料探勘要達到的基本目標、過程目標和最終目標有關。驗證的結果可能是 “規定要求” 得到完全滿足，或者完全沒有得到滿足，以及其他介於兩者之間的滿足程度的狀況。驗證可以由資料探勘的人自己完成，也可以透過其他人參與或完全透過他人的專案，以與資料探勘者毫無關聯的方式進行驗證。一般驗證過程中，資料探勘者是不可能不參與的，但對於認定過程中的客觀證據的收集、認定的評估等過程如果透過與驗證提出者無關的人來實現，往往更具有客觀性。透過結果驗證，資料探勘者可以得到對自己所挖掘的資料價值高低的評估。

隱私問題及倫理

與資料探勘有關的，還牽扯到隱私問題，例如：一個僱主可以透過訪問醫療記錄來篩選出那些有糖尿病或者嚴重心臟病的人，從而意圖削減保險支出。然而，這種做法會導致倫理和法律問題。

對於政府和商業資料的挖掘，可能會涉及到的，是國家安全或者商業機密之類的問題。這對於保密也是個不小的挑戰。

資料探勘有很多合法的用途，例如可以在患者群的資料庫中查出某藥物和其副作用的關聯。這種關聯可能在 1000 人中也不會出現一例，但藥物學相關的專案就可以運用此方法減少對藥物有不良反應的病人數量，還有可能挽救生命；但這當中還是存在著資料庫可能被濫用的問題。

資料探勘實現了用其他方法不可能實現的方法來發現資訊，但它必須受到規範，應當在適當的說明下使用。

如果資料是收集自特定的個人，那麼就會出現一些涉及保密、法律和倫理的問題。

2018 年 5 月 25 日，歐盟一般資料保護規範 (General Data Protection Regulation，GDPR) 正式上路，保障個人資料蒐集的同意權與刪除要求，在進入網站時會進行個人資料蒐集、處理及利用之告知，並在當事人同意之下做蒐集。

方法

資料探勘的方法包括監督式學習、非監督式學習、半監督學習、增強學習。監督式學習包括：分類、估計、預測。非監督式學習包括：聚類，關聯規則分析。

例子

資料探勘在零售行業中的應用：零售公司跟蹤客戶的購買情況，發現某個客戶購買了大量的真絲襯衣，這時資料探勘系統就在此客戶和真絲襯衣之間建立關聯。銷售部門就會看到此資訊，直接傳送真絲襯衣的當前行情，以及所有關於真絲襯衫的資料發給該客戶。這樣零售商店透過資料探勘系統就發現了以前未知的關於客戶的新資訊，並且擴大經營範圍。

資料捕撈

通常作為與資料倉庫和分析相關的技術，資料探勘處於它們的中間。然而，有時還會出現十分可笑的應用，例如發掘出不存在但看起來振奮人心的模式（特別的因果關係），這些根本不相關的、甚至引人誤入歧途的、或是毫無價值的關聯，在統計學文獻裡通常被戲稱為「」（Data dredging, data fishing, or data snooping）。

資料探勘意味著掃瞄可能存在任何關係的資料，然後篩選出符合的模式，（這也叫作「過度匹配模式」）。大量的資料集中總會有碰巧或特定的資料，有著「令人振奮的關係」。因此，一些結論看上去十分令人懷疑。儘管如此，一些探索性資料分析 還是需要應用統計分析尋找資料，所以好的統計方法和資料資料的界限並不是很清晰。

更危險是出現根本不存在的關聯性。投資分析家似乎最容易犯這種錯誤。在一本叫做《顧客的遊艇在哪裡？》的書中寫道：「總是有相當數量的可憐人，忙於從上千次的賭輪盤的輪子上尋找可能的重複模式。十分不幸的是，他們通常會找到。」

多數的資料探勘研究都關注於發現大量的資料集中，一個高度詳細的模式。在《大忙人的資料探勘》一書中， 西弗吉尼亞大學和不列顛哥倫比亞大學研究者討論了一個交替模式，用來發現一個資料集當中兩個元素的最小區別，它的目標是發現一個更簡單的模式來描述相關資料。