一、數(shù)據(jù)挖掘和數(shù)據(jù)分析概述
數(shù)據(jù)挖掘和數(shù)據(jù)分析都是從數(shù)據(jù)中提取一些有價(jià)值的信息,二者有很多聯(lián)系,但是二者的側(cè)重點(diǎn)和實(shí)現(xiàn)手法有所區(qū)分。
數(shù)據(jù)挖掘和數(shù)據(jù)分析的不同之處:
1、在應(yīng)用工具上,數(shù)據(jù)挖掘一般要通過自己的編程來實(shí)現(xiàn)需要掌握編程語言;而數(shù)據(jù)分析更多的是借助現(xiàn)有的分析工具進(jìn)行。
2、在行業(yè)知識(shí)方面,數(shù)據(jù)分析要求對(duì)所從事的行業(yè)有比較深的了解和理解,并且能夠?qū)?shù)據(jù)與自身的業(yè)務(wù)緊密結(jié)合起來;而數(shù)據(jù)挖掘不需要有太多的行業(yè)的專業(yè)知識(shí)。
3、交叉學(xué)科方面,數(shù)據(jù)分析需要結(jié)合統(tǒng)計(jì)學(xué)、營銷學(xué)、心理學(xué)以及金融、政治等方面進(jìn)行綜合分析;數(shù)據(jù)挖掘更多的是注重技術(shù)層面的結(jié)合以及數(shù)學(xué)和計(jì)算機(jī)的集合
數(shù)據(jù)挖掘和數(shù)據(jù)分析的相似之處:
1、數(shù)據(jù)挖掘和數(shù)據(jù)分析都是對(duì)數(shù)據(jù)進(jìn)行分析、處理等操作進(jìn)而得到有價(jià)值的知識(shí)。
2、都需要懂統(tǒng)計(jì)學(xué),懂?dāng)?shù)據(jù)處理一些常用的方法,對(duì)數(shù)據(jù)的敏感度比較好。
3、數(shù)據(jù)挖掘和數(shù)據(jù)分析的聯(lián)系越來越緊密,很多數(shù)據(jù)分析人員開始使用編程工具進(jìn)行數(shù)據(jù)分析,如SAS、R、SPSS等。而數(shù)據(jù)挖掘人員在結(jié)果表達(dá)及分析方面也會(huì)借助數(shù)據(jù)分析的手段。二者的關(guān)系的界限變得越來越模糊。
二、數(shù)據(jù)挖掘
1 數(shù)學(xué)預(yù)備知識(shí)
概率論:支撐整個(gè)數(shù)據(jù)挖掘算法和機(jī)器學(xué)習(xí)算法的數(shù)學(xué)基礎(chǔ),要熟悉常見的一些概率分布。
矩陣論:線性代數(shù)中對(duì)數(shù)據(jù)挖掘最有用的部分,還有一些線性空間相關(guān)知識(shí)也很重要。
信息論:將信息和數(shù)學(xué)緊密連接在一起并完美的表達(dá)的橋梁,需要掌握信息熵、信息增益等相關(guān)知識(shí)。
統(tǒng)計(jì)學(xué):數(shù)據(jù)分析最早的依賴基礎(chǔ),通常和概率論一起應(yīng)用,現(xiàn)在的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘很多都是基于統(tǒng)計(jì)的,常見的均值、方差、協(xié)方差等都要熟練掌握。
2 編程基礎(chǔ)
數(shù)據(jù)挖掘需要一定的編程基礎(chǔ),因?yàn)橐獙?shí)現(xiàn)模型以及數(shù)據(jù)的處理很多工作都是需要程序來進(jìn)行的,數(shù)據(jù)挖掘常用的編程語言如下:
SQL:數(shù)據(jù)庫的熟練使用是任何數(shù)據(jù)挖掘人員必不可少的技能。
C++ :有很多的標(biāo)準(zhǔn)模板庫以及機(jī)器學(xué)習(xí)模型庫進(jìn)行調(diào)用可以方便編程實(shí)現(xiàn)。
Python:對(duì)字符串處理有極大的優(yōu)勢,是解釋型語言,實(shí)現(xiàn)簡單,而且有很多開源的機(jī)器學(xué)習(xí)模型庫的支持,可處理大規(guī)模數(shù)據(jù)。
Matlab:擁有強(qiáng)大的矩陣運(yùn)算,也是解釋型語言,有很多發(fā)展較成熟庫可以直接調(diào)用,支持?jǐn)?shù)據(jù)結(jié)果的可視化表示,但是處理數(shù)據(jù)量有限。
R:近年興起的數(shù)據(jù)分析編程語言,數(shù)據(jù)可視化做的比較好,語法簡單,學(xué)習(xí)成本很低,很多非程序設(shè)計(jì)人員都可以數(shù)量掌握。
Java:使用范圍最廣的編程語言,有很多社區(qū)進(jìn)行交流,進(jìn)行編程實(shí)現(xiàn)具有靈活高效的特點(diǎn),不足之處就是實(shí)現(xiàn)功能的代碼量較大(相對(duì)于其他數(shù)據(jù)挖掘編程語言)。
Scala: 一種具有面向?qū)ο箫L(fēng)格、函數(shù)式風(fēng)格、更高層的并發(fā)模型的編程語言。同時(shí)Scala是大數(shù)據(jù)處理平臺(tái)Spark的實(shí)現(xiàn)語言。
3 數(shù)據(jù)挖掘的模型知識(shí)
機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘是緊密相關(guān)的,要進(jìn)行數(shù)據(jù)挖掘需要掌握一些機(jī)器學(xué)習(xí)所用的方法和模型知識(shí),通過模型的訓(xùn)練可以得到處理數(shù)據(jù)的最優(yōu)的模型。數(shù)據(jù)挖掘常用的模型如下:
3.1 監(jiān)督學(xué)習(xí)模型
就是人們常說的分類,通過已有的訓(xùn)練樣本(即已知數(shù)據(jù)以及其對(duì)應(yīng)的輸出)去訓(xùn)練得到一個(gè)最優(yōu)模型(這個(gè)模型屬于某個(gè)函數(shù)的集合,最優(yōu)則表示在某個(gè)評(píng)價(jià)準(zhǔn)則下是最佳的),再利用這個(gè)模型將所有的輸入映射為相應(yīng)的輸出,對(duì)輸出進(jìn)行簡單的判斷從而實(shí)現(xiàn)分類的目的,也就具有了對(duì)未知數(shù)據(jù)進(jìn)行分類的能力。
3.1.1決策樹:
決策樹是用于分類和預(yù)測的主要技術(shù)之一,決策樹學(xué)習(xí)是以實(shí)例為基礎(chǔ)的歸納學(xué)習(xí)算法,它著眼于從一組無次序、無規(guī)則的實(shí)例中推理出以決策樹表示的分類規(guī)則。構(gòu)造決策樹的目的是找出屬性和類別間的關(guān)系,用它來預(yù)測將來未知類別的記錄的類別。它采用自頂向下的遞歸方式,在決策樹的內(nèi)部節(jié)點(diǎn)進(jìn)行屬性的比較,并根據(jù)不同屬性值判斷從該節(jié)點(diǎn)向下的分支,在決策樹的葉節(jié)點(diǎn)得到結(jié)論。
主要的決策樹算法有ID3、C4.5(C5.0)、CART、PUBLIC、SLIQ和SPRINT算法等。它們?cè)谶x擇測試屬性采用的技術(shù)、生成的決策樹的結(jié)構(gòu)、剪枝的方法以及時(shí)刻,能否處理大數(shù)據(jù)集等方面都有各自的不同之處。
3.1.2 貝葉斯方法:
貝葉斯(Bayes)分類算法是一類利用概率統(tǒng)計(jì)知識(shí)進(jìn)行分類的算法,如樸素貝葉斯(Naive Bayes)算法。這些算法主要利用Bayes定理來預(yù)測一個(gè)未知類別的樣本屬于各個(gè)類別的可能性,選擇其中可能性最大的一個(gè)類別作為該樣本的最終類別。由于貝葉斯定理的成立本身需要一個(gè)很強(qiáng)的條件獨(dú)立性假設(shè)前提,而此假設(shè)在實(shí)際情況中經(jīng)常是不成立的,因而其分類準(zhǔn)確性就會(huì)下降。為此就出現(xiàn)了許多降低獨(dú)立性假設(shè)的貝葉斯分類算法,如TAN(Tree Augmented Native Bayes)算法,它是在貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加屬性對(duì)之間的關(guān)聯(lián)來實(shí)現(xiàn)的。
3.1.3 神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的數(shù)學(xué)模型。在這種模型中,大量的節(jié)點(diǎn)(稱”神經(jīng)元”)之間相互聯(lián)接構(gòu)成網(wǎng)絡(luò),即”神經(jīng)網(wǎng)絡(luò)”,以達(dá)到處理信息的目的。神經(jīng)網(wǎng)絡(luò)通常需要進(jìn)行訓(xùn)練,訓(xùn)練的過程就是網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)的過程。訓(xùn)練改變了網(wǎng)絡(luò)節(jié)點(diǎn)的連接權(quán)的值使其具有分類的功能,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)就可用于對(duì)象的識(shí)別。目前,神經(jīng)網(wǎng)絡(luò)已有上百種不同的模型,常見的有BP神經(jīng)網(wǎng)絡(luò)、徑向基RBF網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)、隨機(jī)神經(jīng)網(wǎng)絡(luò)(Boltzmann機(jī))、競爭神經(jīng)網(wǎng)絡(luò)(Hamming網(wǎng)絡(luò),自組織映射網(wǎng)絡(luò))等。但是當(dāng)前的神經(jīng)網(wǎng)絡(luò)仍普遍存在收斂速度慢、計(jì)算量大、訓(xùn)練時(shí)間長和不可解釋等缺點(diǎn)。
3.1.4 支持向量機(jī)(SVM)
支持向量機(jī)(SVM,Support Vector Machine)是根據(jù)統(tǒng)計(jì)學(xué)習(xí)理論提出的一種新的學(xué)習(xí)方法,它的最大特點(diǎn)是根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化準(zhǔn)則,以最大化分類間隔構(gòu)造最優(yōu)分類超平面來提高學(xué)習(xí)機(jī)的泛化能力,較好地解決了非線性、高維數(shù)、局部極小點(diǎn)等問題。對(duì)于分類問題,支持向量機(jī)算法根據(jù)區(qū)域中的樣本計(jì)算該區(qū)域的決策曲面,由此確定該區(qū)域中未知樣本的類別。
3.1.5 集成學(xué)習(xí)分類模型
集成學(xué)習(xí)是一種機(jī)器學(xué)習(xí)范式,它試圖通過連續(xù)調(diào)用單個(gè)的學(xué)習(xí)算法,獲得不同的基學(xué)習(xí)器,然后根據(jù)規(guī)則組合這些學(xué)習(xí)器來解決同一個(gè)問題,可以顯著的提高學(xué)習(xí)系統(tǒng)的泛化能力。主要采用(加權(quán))投票的方法組合多個(gè)基學(xué)習(xí)器,常見的算法有裝袋(Bagging)、提升/推進(jìn)(Boosting)、隨機(jī)森林等。集成學(xué)習(xí)由于采用了投票平均的方法組合多個(gè)分類器,所以有可能減少單個(gè)分類器的誤差,獲得對(duì)問題空間模型更加準(zhǔn)確的表示,從而提高分類器的分類準(zhǔn)確度。
3.1.6 其他分類學(xué)習(xí)模型
此外還有l(wèi)ogistics回歸模型、隱馬爾科夫分類模型(HMM)、基于規(guī)則的分類模型等眾多的分類模型,對(duì)于處理不同的數(shù)據(jù)、分析不同的問題,各種模型都有自己的特性和優(yōu)勢。
3.2 無監(jiān)督學(xué)習(xí)模型
在非監(jiān)督式學(xué)習(xí)中,數(shù)據(jù)并不被特別標(biāo)識(shí),學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu),應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見的聚類算法如下所示:
3.2.1 K-means聚類
K-means算法的基本思想是初始隨機(jī)給定K個(gè)簇中心,按照最鄰近原則把待分類樣本點(diǎn)分到各個(gè)簇。然后按平均法重新計(jì)算各個(gè)簇的質(zhì)心,從而確定新的簇心。一直迭代,直到簇心的移動(dòng)距離小于某個(gè)給定的值。
3.2.2 基于密度的聚類
根據(jù)密度完成對(duì)象的聚類。它根據(jù)對(duì)象周圍的密度(如DBSCAN)不斷增長聚類。典型的基于密度方法包括:DBSCAN(Densit-based Spatial Clustering of Application with Noise):該算法通過不斷生長足夠高密度區(qū)域來進(jìn)行聚類;它能從含有噪聲的空間數(shù)據(jù)庫中發(fā)現(xiàn)任意形狀的聚類。此方法將一個(gè)聚類定義為一組“密度連接”的點(diǎn)集。OPTICS(Ordering Points To Identify the Clustering Structure):并不明確產(chǎn)生一個(gè)聚類,而是為自動(dòng)交互的聚類分析計(jì)算出一個(gè)增強(qiáng)聚類順序。
3.2.3 層次聚類方法
層次聚類方法對(duì)給定的數(shù)據(jù)集進(jìn)行層次的分解,直到某種條件滿足為止。層次凝聚的代表是AGNES算法,層次分裂的代表是DIANA算法。具體又可分為凝聚的,分裂的兩種方案。
凝聚的層次聚類是一種自底向上的策略,首先將每個(gè)對(duì)象作為一個(gè)簇,然后合并這些原子簇為越來越大的簇,直到所有的對(duì)象都在一個(gè)簇中,或者某個(gè)終結(jié)條件被滿足,絕大多數(shù)層次聚類方法屬于這一類,它們只是在簇間相似度的定義上有所不同。
分裂的層次聚類與凝聚的層次聚類相反,采用自頂向下的策略,它首先將所有對(duì)象置于同一個(gè)簇中,然后逐漸細(xì)分為越來越小的簇,直到每個(gè)對(duì)象自成一簇,或者達(dá)到了某個(gè)終止條件。
3.2.4 譜聚類
譜聚類(Spectral Clustering, SC)是一種基于圖論的聚類方法——將帶權(quán)無向圖劃分為兩個(gè)或兩個(gè)以上的最優(yōu)子圖,使子圖內(nèi)部盡量相似,而子圖間距離盡量距離較遠(yuǎn),以達(dá)到常見的聚類的目的。其中的最優(yōu)是指最優(yōu)目標(biāo)函數(shù)不同,可以是割邊最小分割, 也可以是分割規(guī)模差不多且割邊最小的分割。譜聚類能夠識(shí)別任意形狀的樣本空間且收斂于全局最優(yōu)解,其基本思想是利用樣本數(shù)據(jù)的相似矩陣(拉普拉斯矩陣)進(jìn)行特征分解后得到的特征向量進(jìn)行聚類。
此外常用的聚類方法還有基于網(wǎng)格的聚類、模糊聚類算法、自組織神經(jīng)網(wǎng)絡(luò)SOM、基于統(tǒng)計(jì)學(xué)的聚類算法(COBWeb、AutoClass)等。
3.3 半監(jiān)督學(xué)習(xí)
3.3.1 半監(jiān)督學(xué)習(xí)概述
半監(jiān)督學(xué)習(xí)算法要求輸入數(shù)據(jù)部分被標(biāo)識(shí),部分沒有被標(biāo)識(shí),這種學(xué)習(xí)模型可以用來進(jìn)行預(yù)測,但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進(jìn)行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對(duì)常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對(duì)未標(biāo)識(shí)數(shù)據(jù)進(jìn)行建模,在此基礎(chǔ)上再對(duì)標(biāo)識(shí)的數(shù)據(jù)進(jìn)行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(jī)(Laplacian SVM.)等。
3.3.2 Multi-view algorithm(多視角算法)
一般多用于可以進(jìn)行自然特征分裂的數(shù)據(jù)集中.考慮特殊情況(每個(gè)數(shù)據(jù)點(diǎn)表征兩個(gè)特征):每一個(gè)數(shù)據(jù)點(diǎn)看成是兩個(gè)特征的集合,然后利用協(xié)同訓(xùn)練(Co-training algorithm)進(jìn)行處理.協(xié)同訓(xùn)練(co-training)算法,此類算法隱含地利用了聚類假設(shè)或流形假設(shè),它們使用兩個(gè)或多個(gè)學(xué)習(xí)器,在學(xué)習(xí)過程中,這些學(xué)習(xí)器挑選若干個(gè)置信度高的未標(biāo)記示例進(jìn)行相互標(biāo)記,從而使得模型得以更新。
3.3.3 Graph-Based Algorithms(基于圖的算法)
基于圖的算法是基于圖正則化框架的半監(jiān)督學(xué)習(xí)算法,此類算法直接或間接地利用了流形假設(shè),它們通常先根據(jù)訓(xùn)練例及某種相似度度量建立一個(gè)圖,圖中結(jié)點(diǎn)對(duì)應(yīng)了(有標(biāo)記或未標(biāo)記)示例,邊為示例間的相似度,然后,定義所需優(yōu)化的目標(biāo)函數(shù)并使用決策函數(shù)在圖上的光滑性作為正則化項(xiàng)來求取最優(yōu)模型參數(shù)。
3.4 文本處理模型
3.4.1 分詞模型
分詞模型主要在處理文本過程中使用,在此特指中文分詞模型。中文分詞算法現(xiàn)在一般分為三類:基于字符串匹配,基于理解,基于統(tǒng)計(jì)的分詞。
基于字符串匹配分詞:
機(jī)械分詞算法。將待分的字符串與一個(gè)充分大的機(jī)器詞典中的詞條進(jìn)行匹配。分為正向匹配和逆向匹配;最大長度匹配和最小長度匹配;單純分詞和分詞與標(biāo)注過程相結(jié)合的一體化方法。所以常用的有:正向最大匹配,逆向最大匹配,最少切分法。實(shí)際應(yīng)用中,將機(jī)械分詞作為初分手段,利用語言信息提高切分準(zhǔn)確率。優(yōu)先識(shí)別具有明顯特征的詞,以這些詞為斷點(diǎn),將原字符串分為較小字符串再機(jī)械匹配,以減少匹配錯(cuò)誤率;或?qū)⒎衷~與詞類標(biāo)注結(jié)合。
基于理解分詞:
分詞同時(shí)進(jìn)行句法語義分析等模擬人對(duì)句子的理解,包括分詞子系統(tǒng),句法語義系統(tǒng),總控部分。總控部分協(xié)調(diào)下,分詞字系統(tǒng)可以獲得有關(guān)詞,句子等的句法和語義信息對(duì)分詞歧義進(jìn)行判斷。需要大量的語言知識(shí)信息。
基于統(tǒng)計(jì)分詞:
相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,越有可能構(gòu)成一個(gè)詞語,對(duì)語料中的字組頻度進(jìn)行統(tǒng)計(jì),不需要切詞字典,但錯(cuò)誤率很高。可以考慮:使用基本詞典進(jìn)行關(guān)鍵詞分詞,使用統(tǒng)計(jì)方法識(shí)別新詞組,兩者結(jié)合。
3.4.2 TF-IDF模型
TF-IDF(term frequency–inverse document frequency)是一種用于資訊檢索與資訊探勘的常用加權(quán)技術(shù)。TF-IDF是一種統(tǒng)計(jì)方法,用以評(píng)估一字詞對(duì)于一個(gè)文件集或一個(gè)語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時(shí)會(huì)隨著它在語料庫中出現(xiàn)的頻率成反比下降。TF-IDF加權(quán)的各種形式常被搜尋引擎應(yīng)用,作為文件與用戶查詢之間相關(guān)程度的度量或評(píng)級(jí)。除了TF-IDF以外,因特網(wǎng)上的搜尋引擎還會(huì)使用基于連結(jié)分析的評(píng)級(jí)方法,以確定文件在搜尋結(jié)果中出現(xiàn)的順序。
TFIDF的主要思想是:如果某個(gè)詞或短語在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。TFIDF實(shí)際上是:TF * IDF,TF詞頻(Term Frequency),IDF反文檔頻率(Inverse Document Frequency)。TF表示詞條在文檔d中出現(xiàn)的頻率(另一說:TF詞頻(Term Frequency)指的是某一個(gè)給定的詞語在該文件中出現(xiàn)的次數(shù))。IDF的主要思想是:如果包含詞條t的文檔越少,也就是n越小,IDF越大,則說明詞條t具有很好的類別區(qū)分能力。如果某一類文檔C中包含詞條t的文檔數(shù)為m,而其它類包含t的文檔總數(shù)為k,顯然所有包含t的文檔數(shù)n=m+k,當(dāng)m大的時(shí)候,n也大,按照IDF公式得到的IDF的值會(huì)小,就說明該詞條t類別區(qū)分能力不強(qiáng)。(另一說:IDF反文檔頻率(Inverse Document Frequency)是指果包含詞條的文檔越少,IDF越大,則說明詞條具有很好的類別區(qū)分能力。)但是實(shí)際上,如果一個(gè)詞條在一個(gè)類的文檔中頻繁出現(xiàn),則說明該詞條能夠很好代表這個(gè)類的文本的特征,這樣的詞條應(yīng)該給它們賦予較高的權(quán)重,并選來作為該類文本的特征詞以區(qū)別與其它類文檔。這就是IDF的不足之處.
3.4.3 LDA模型
LDA(Latent Dirichlet Allocation)是一種文檔主題生成模型,也稱為一個(gè)三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。所謂生成模型,就是說,我們認(rèn)為一篇文章的每個(gè)詞都是通過“以一定概率選擇了某個(gè)主題,并從這個(gè)主題中以一定概率選擇某個(gè)詞語”這樣一個(gè)過程得到。文檔到主題服從多項(xiàng)式分布,主題到詞服從多項(xiàng)式分布。
LDA是一種非監(jiān)督機(jī)器學(xué)習(xí)技術(shù),可以用來識(shí)別大規(guī)模文檔集(document collection)或語料庫(corpus)中潛藏的主題信息。它采用了詞袋(bag of words)的方法,這種方法將每一篇文檔視為一個(gè)詞頻向量,從而將文本信息轉(zhuǎn)化為了易于建模的數(shù)字信息。但是詞袋方法沒有考慮詞與詞之間的順序,這簡化了問題的復(fù)雜性,同時(shí)也為模型的改進(jìn)提供了契機(jī)。每一篇文檔代表了一些主題所構(gòu)成的一個(gè)概率分布,而每一個(gè)主題又代表了很多單詞所構(gòu)成的一個(gè)概率分布。
4 模型評(píng)價(jià)指標(biāo)
4.1 模型評(píng)價(jià)概述
建模構(gòu)建過程中會(huì)得出一系列的分析結(jié)果、模式或模型。同一個(gè)采樣數(shù)據(jù)可以利用多種數(shù)據(jù)分析方法和模型進(jìn)行分析,模型評(píng)價(jià)的目的之一就是從這些模型中自動(dòng)找出一個(gè)最好的模型出來,另外就是要針對(duì)業(yè)務(wù)對(duì)模型進(jìn)行解釋和應(yīng)用。
模型效果評(píng)價(jià)通常分兩步,第一步是直接使用原來建立模型的樣本數(shù)據(jù)來進(jìn)行檢驗(yàn)。假如這一步都通不過,那么所建立的決策支持信息價(jià)值就不太大了。一般來說,在這一步應(yīng)得到較好的評(píng)價(jià)。這說明你確實(shí)從這批數(shù)據(jù)樣本中挖掘出了符合實(shí)際的規(guī)律性。第一步通過后,第二步是另外找一批數(shù)據(jù),已知這些數(shù)據(jù)是反映客觀實(shí)際的、規(guī)律性的。這次的檢驗(yàn)效果可能會(huì)比前一種差,差多少是要注意的,若是差到所不能容忍程度,那就要考慮第一步構(gòu)建的樣本數(shù)據(jù)是否具有充分的代表性,或是模型本身是否夠完善。這時(shí)候可能要對(duì)前面的工作進(jìn)行反思了。若這一步也得到了肯定的結(jié)果時(shí),那所建立的數(shù)據(jù)挖掘模型應(yīng)得到很好的評(píng)價(jià)了。
4.2 常用的模型評(píng)價(jià)方法
4.2.1 預(yù)測準(zhǔn)確率
預(yù)測準(zhǔn)確率又稱作精度是檢索出相關(guān)文檔數(shù)與檢索出的文檔總數(shù)的比率,衡量的是檢索系統(tǒng)的查準(zhǔn)率。取值在0和1之間,數(shù)值越接近1,查準(zhǔn)率就越高。
計(jì)算公式:正確率 = 提取出的正確信息條數(shù) / 提取出的信息條數(shù)
4.2.2 召回率
召回率是指檢索出的相關(guān)文檔數(shù)和文檔庫中所有的相關(guān)文檔數(shù)的比率,衡量的是檢索系統(tǒng)的查全率。取值在0和1之間,數(shù)值越接近1,查全率就越高。
計(jì)算公式:召回率 = 提取出的正確信息條數(shù) / 樣本中的信息條數(shù)
4.2.3 綜合指標(biāo)F值
F值為正確率和召回率的調(diào)和平均值,能夠綜合平衡的去表示模型的性能效果。
計(jì)算公式:F值 = 正確率 * 召回率 * 2 / (正確率 + 召回率)
4.2.4 ROC曲線
受試者工作特性(Receiver Operating Characteristic,ROC)曲線是一種非常有效的模型評(píng)價(jià)方法,可為選定臨界值給出定量提示。將靈敏度(Sensitivity)設(shè)在縱軸,1-特異性(1-Specificity)設(shè)在橫軸,就可得出ROC曲線圖。該曲線下的積分面積(Area)大小與每種方法優(yōu)劣密切相關(guān),反映分類器正確分類的統(tǒng)計(jì)概率,其值越接近1說明該算法效果越好。
4.2.5 數(shù)據(jù)相似度
聚類分群效果可以通過向量數(shù)據(jù)之間的相似度來衡量,向量數(shù)據(jù)之間的相似度定義為兩個(gè)向量之間的距離(實(shí)時(shí)向量數(shù)據(jù)與聚類中心向量數(shù)據(jù)),距離越近則相似度越大,即該實(shí)時(shí)向量數(shù)據(jù)歸為某個(gè)聚類。常用的相似度計(jì)算方法有:歐幾里得距離法(Euclidean Distance)、皮爾遜相關(guān)系數(shù)法(Pearson Correlation Coefficient)、Cosine相似度和Tanimoto系數(shù)法。
4.2.6 其他的模型評(píng)價(jià)方法
除上述的模型評(píng)價(jià)方法外,還有一些較為詳細(xì)的模型評(píng)價(jià)方法。如可以用相對(duì)絕對(duì)誤差、平均絕對(duì)誤差、根均方差、相對(duì)平方根誤差等指標(biāo)來衡量。此外模型的魯棒性和容錯(cuò)性以及處理數(shù)據(jù)的速度、能夠處理數(shù)據(jù)的規(guī)模等都是衡量一個(gè)模型的重要指標(biāo)。
5 數(shù)據(jù)挖掘開發(fā)平臺(tái)
5.1 單機(jī)模型開發(fā)平臺(tái)
直接在單機(jī)上部署數(shù)據(jù)挖掘開發(fā)環(huán)境,比如說安裝mysql+python就可以搭建一個(gè)數(shù)據(jù)挖掘環(huán)境。
5.2分布式集群開發(fā)平臺(tái)
5.2.1 Hadoop集群環(huán)境
Hadoop 是一個(gè)通過分布式集群技術(shù),將多個(gè)物理機(jī)或虛擬機(jī)(VMware等廠商的虛擬化技術(shù)在一個(gè)物理機(jī)上運(yùn)行多個(gè)虛擬機(jī))當(dāng)作一臺(tái)機(jī)器運(yùn)行。基于Hadoop的數(shù)據(jù)挖掘數(shù)據(jù)挖掘一旦完成,就會(huì)生成挖掘結(jié)果即模式。
5.4.2 Spark集群環(huán)境
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行,Spark,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn);但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的map reduce的算法。
6 數(shù)據(jù)挖掘的開發(fā)流程
6.1 數(shù)據(jù)獲取
6.2 數(shù)據(jù)清洗
6.3 數(shù)據(jù)變換
6.4 特征工程
6.5 模型訓(xùn)練
6.6 模型優(yōu)化
6.7 結(jié)果分析
三、數(shù)據(jù)分析
相比于數(shù)據(jù)挖掘,數(shù)據(jù)分析更多在于利用一定的工具和一定的專業(yè)知識(shí)分析數(shù)據(jù)。最初的數(shù)據(jù)分析來源于統(tǒng)計(jì)學(xué)家和經(jīng)濟(jì)學(xué)家的一些理論,進(jìn)而結(jié)合一定的實(shí)際應(yīng)用場景解決問題。數(shù)據(jù)分析更多的是偏重于業(yè)務(wù)層次的,對(duì)于大多數(shù)非計(jì)算機(jī)相關(guān)專業(yè)人士來說,掌握一般的數(shù)據(jù)分析方法是十分有用的,入門上手也相對(duì)簡單。
1 數(shù)學(xué)和專業(yè)的預(yù)備知識(shí)
概率論:數(shù)據(jù)分析的重要數(shù)學(xué)基礎(chǔ),要熟悉常見的一些概率分布。
統(tǒng)計(jì)學(xué):數(shù)據(jù)分析最早的依賴基礎(chǔ),通常和概率論一起應(yīng)用,數(shù)據(jù)分析要掌握常見的均值、方差、協(xié)方差等。
心理學(xué):數(shù)據(jù)分析往往要結(jié)合不同的學(xué)科知識(shí)進(jìn)行分析,在數(shù)據(jù)分析的過程中,分析人員往往要結(jié)合用戶的心理進(jìn)行結(jié)果的調(diào)整和分析。
專業(yè)知識(shí):一般來說,數(shù)據(jù)分析人員是對(duì)某一特定領(lǐng)域進(jìn)行分析,這就要求分析人員具備一定的行業(yè)的專業(yè)知識(shí)。
2 使用數(shù)據(jù)分析軟件
SPSS:功能非常強(qiáng)大非常專業(yè)的數(shù)據(jù)統(tǒng)計(jì)軟件,界面友好,輸出結(jié)果美觀漂亮。SPSS軟件具有信息的采集、處理、分析進(jìn)行全面評(píng)估和預(yù)測等功能。包含廣義線性混合模型、自動(dòng)線性模型、一個(gè)統(tǒng)計(jì)網(wǎng)頁入口portal和直復(fù)營銷direct marketing功能。
SAS: 是一個(gè)模塊化、集成化的大型應(yīng)用軟件系統(tǒng),由數(shù)十個(gè)專用模塊構(gòu)成,功能包括數(shù)據(jù)訪問、數(shù)據(jù)儲(chǔ)存及管理、應(yīng)用開發(fā)、圖形處理、數(shù)據(jù)分析、報(bào)告編制、運(yùn)籌學(xué)方法、計(jì)量經(jīng)濟(jì)學(xué)與預(yù)測等等。
Excel:辦公套件中最能勝任數(shù)據(jù)分析的軟件,簡單實(shí)用。
Sql:非計(jì)算機(jī)專業(yè)的數(shù)據(jù)分析人員要操作數(shù)據(jù)必備的數(shù)據(jù)庫語言。
R: 近年興起的數(shù)據(jù)分析編程語言,數(shù)據(jù)可視化做的比較好,語法簡單,學(xué)習(xí)成本很低,很多非程序設(shè)計(jì)人員都可以數(shù)量掌握。
3 數(shù)據(jù)分析模型選取
數(shù)據(jù)分析人員可以借助一些現(xiàn)場的分析軟件進(jìn)行分析,這些軟件集成了一些良好的分析模型,分析人員可以根據(jù)自己的實(shí)際應(yīng)用場景進(jìn)行合適的模型選擇。基本的分析方法有:對(duì)比分析法、分組分析法、交叉分析法、結(jié)構(gòu)分析法、漏斗圖分析法、綜合評(píng)價(jià)分析法、因素分析法、矩陣關(guān)聯(lián)分析法等。高級(jí)的分析方法有:相關(guān)分析法、回歸分析法、聚類分析法、判別分析法、主成分分析法、因子分析法、對(duì)應(yīng)分析法、時(shí)間序列等。
4 分析結(jié)果展示
數(shù)據(jù)分析的結(jié)果通過一些可視化圖形或者報(bào)表形式進(jìn)行展示能夠增強(qiáng)對(duì)分析結(jié)果的理解。常用的的分析結(jié)果展示方法有:
圖表展示:用一些柱狀圖、餅圖、盒圖等進(jìn)行展示。
曲線展示:運(yùn)用走勢曲線或者ROC曲線進(jìn)行展示。
文字展示:通過語言文字描述進(jìn)行結(jié)果的分析展示,但是不夠直觀。
5 數(shù)據(jù)分析的流程
5.1 數(shù)據(jù)獲取
5.2 數(shù)據(jù)清洗
5.3 分析工具選取
5.4 數(shù)據(jù)分析模型選擇
5.5 數(shù)據(jù)處理
5.6 處理結(jié)果展示
5.7 結(jié)果數(shù)據(jù)分析