《Python經(jīng)濟(jì)大數(shù)據(jù)分析》Python大數(shù)據(jù)挖掘技術(shù)_第1頁(yè)
《Python經(jīng)濟(jì)大數(shù)據(jù)分析》Python大數(shù)據(jù)挖掘技術(shù)_第2頁(yè)
《Python經(jīng)濟(jì)大數(shù)據(jù)分析》Python大數(shù)據(jù)挖掘技術(shù)_第3頁(yè)
《Python經(jīng)濟(jì)大數(shù)據(jù)分析》Python大數(shù)據(jù)挖掘技術(shù)_第4頁(yè)
《Python經(jīng)濟(jì)大數(shù)據(jù)分析》Python大數(shù)據(jù)挖掘技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩70頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python大數(shù)據(jù)挖掘技術(shù)核心知識(shí)包括:大數(shù)據(jù)挖掘技術(shù)的相關(guān)概念,實(shí)現(xiàn)方法,以及技術(shù)的評(píng)價(jià);在Python常用到的方法庫(kù)。CONTENTS目錄關(guān)聯(lián)規(guī)則聚類(lèi)分析分類(lèi)分析離群點(diǎn)檢測(cè)Python常用方法庫(kù)01PARTONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則1、基本概念關(guān)聯(lián)規(guī)則的概念最早由Agrawal、Imielinski和Swami(1993年)提出,其主要研究目的是分析超市顧客購(gòu)買(mǎi)行為的規(guī)律,發(fā)現(xiàn)連帶購(gòu)買(mǎi)商品,為制定合理的方便顧客選取的貨架擺放方案提供依據(jù)。關(guān)聯(lián)規(guī)則是反映一個(gè)事物與其他事物之間的相互依存性和關(guān)聯(lián)性,用于從大量數(shù)據(jù)中挖掘出有價(jià)值的數(shù)據(jù)項(xiàng)之間的相關(guān)關(guān)系,可從數(shù)據(jù)中分析出形如“由于某些事件的發(fā)生而引起另外一些事件的發(fā)生”之類(lèi)的規(guī)則。ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則1、基本概念數(shù)據(jù)集實(shí)例:ONE關(guān)聯(lián)規(guī)則TID項(xiàng)集1{面包,牛奶}2{面包,尿布,啤酒,咖啡}3{牛奶,尿布,啤酒,可樂(lè)}4{牛奶,面包,尿布,啤酒}5{牛奶,面包,尿布,可樂(lè)}3.1關(guān)聯(lián)規(guī)則1、基本概念1)

關(guān)聯(lián)規(guī)則(AssociationRules):關(guān)聯(lián)規(guī)則是形如A→B蘊(yùn)含的表達(dá)式,其中A和B是不相交的項(xiàng)集,A稱(chēng)為規(guī)則的前件(antecedent),而B(niǎo)稱(chēng)為規(guī)則的后件(consequent),如{牛奶,尿布}→{啤酒},{牛奶,尿布}為規(guī)則的前件,{啤酒}為規(guī)則的后件。2)

項(xiàng)集(Itemset):包含0個(gè)或多個(gè)項(xiàng)的集合,如在表中{牛奶}構(gòu)成一個(gè)一項(xiàng)集,{牛奶,尿布,啤酒}構(gòu)成一個(gè)三項(xiàng)集。ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則1、基本概念5)頻繁項(xiàng):在多個(gè)事務(wù)中頻繁出現(xiàn)的項(xiàng)就是頻繁項(xiàng)。6)頻繁項(xiàng)集(FrequentItemset):假設(shè)有一系列的事務(wù),將這些事務(wù)中同時(shí)出現(xiàn)的頻繁項(xiàng)組成一個(gè)子集,且子集滿(mǎn)足最小支持度閾值(MinimumSupport),這個(gè)集合稱(chēng)為頻繁項(xiàng)集。假設(shè)最小支持度為0.2,則由于項(xiàng)集{牛奶,尿布,啤酒}的支持度為0.4大于0.2,因此項(xiàng)集{牛奶,尿布,啤酒}為頻繁項(xiàng)集。ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則1、基本概念9)關(guān)聯(lián)規(guī)則的強(qiáng)度:(1)支持度,確定項(xiàng)集的頻繁程度,表示項(xiàng)集的重要程度;(2)置信度,確定B在包含A的事務(wù)中出現(xiàn)的頻繁程度,表示關(guān)系的可信程度;(3)提升度,在含有A的條件下同時(shí)含有B的可能性,與沒(méi)有這個(gè)條件下項(xiàng)集中含有的B的可能性之比。規(guī)則的提升度的意義在于度量項(xiàng)集{A}和項(xiàng)集{B}的獨(dú)立性,即Lift(A->B)=1,{A}、{B}相互獨(dú)立。1)若該值=1,說(shuō)明事務(wù)A與事務(wù)B是獨(dú)立的。2)若該值<1,說(shuō)明事務(wù)A與事務(wù)B是互斥的。3)若該值>1,說(shuō)明事務(wù)A與事務(wù)B是強(qiáng)項(xiàng)關(guān)聯(lián)。一般在數(shù)據(jù)挖掘中當(dāng)提升度大于3時(shí),我們才承認(rèn)數(shù)據(jù)挖掘的關(guān)聯(lián)是有價(jià)值的。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則2、實(shí)現(xiàn)方法---Apriori算法(1)Apriori算法原理算法的基本思想:先確定候選的所有可能項(xiàng)(即1項(xiàng)集)以及相應(yīng)的支持度,識(shí)別并保留所有高于支持度的1項(xiàng)集,得到頻繁1項(xiàng)集。然后,對(duì)剩下的頻繁1項(xiàng)集進(jìn)行連接,得到候選的頻繁2項(xiàng)集,再次識(shí)別并保留高于支持度的候選頻繁2項(xiàng)集,得到真正的頻繁二項(xiàng)集,以此類(lèi)推,進(jìn)行迭代,直到無(wú)法找到頻繁k+1項(xiàng)集為止,對(duì)應(yīng)的頻繁k項(xiàng)集的集合即為算法的輸出結(jié)果。然后,再利用找到的頻繁項(xiàng)集與預(yù)先設(shè)定的最小置信度的閾值生成強(qiáng)關(guān)聯(lián)規(guī)則。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則2、實(shí)現(xiàn)方法---Apriori算法(1)Apriori算法原理算法的目標(biāo):找到最大的K-項(xiàng)頻繁集。首先,是要找到符合支持度標(biāo)準(zhǔn)的頻繁集,但是滿(mǎn)足條件的頻繁集可能有很多。因此,接下來(lái)要找到最大個(gè)數(shù)的頻繁集。比如找到符合支持度的頻繁集AB和ABE,那么一般會(huì)拋棄AB,只保留ABE,因?yàn)锳B是2-項(xiàng)頻繁集,而ABE是3-項(xiàng)頻繁集。算法的性質(zhì):如果一個(gè)項(xiàng)集是頻繁的,則它的所有子集也一定是頻繁的;反之,如果一個(gè)項(xiàng)集是非頻繁的,則它的所有超集也一定是非頻繁的。基于該性質(zhì),一旦發(fā)現(xiàn)某項(xiàng)集是非頻繁的,即可將整個(gè)包含該項(xiàng)的超集剪枝。這種基于支持度度量修剪指數(shù)搜索空間的策略稱(chēng)為基于支持度的剪枝。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則2、實(shí)現(xiàn)方法---Apriori算法(2)Apriori算法具體步驟1)掃描數(shù)據(jù)庫(kù),生成候選1-項(xiàng)集和頻繁1-項(xiàng)集;2)2-項(xiàng)集開(kāi)始循環(huán),由頻繁(k-1)-項(xiàng)集生成頻繁k-項(xiàng)集,頻繁(k-1)-項(xiàng)集兩兩組合,判定是否可以連接,若能則連接生成k-項(xiàng)集;對(duì)k項(xiàng)集中的每個(gè)項(xiàng)集檢測(cè)其子集是否頻繁,舍棄掉不是頻繁項(xiàng)集的子集;掃描數(shù)據(jù)庫(kù),計(jì)算前一步中過(guò)濾后的k-項(xiàng)集的支持度,舍棄掉支持度小于閾值的項(xiàng)集,生成頻繁k-項(xiàng)集。3)若當(dāng)前k-項(xiàng)集中只有一個(gè)項(xiàng)集時(shí),循環(huán)結(jié)束。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則2、實(shí)現(xiàn)方法---FP-Growth算法Apriori算法是一個(gè)采用候選消除的算法,每一次消除都需要掃描一次所有數(shù)據(jù)記錄,這導(dǎo)致該算法在面臨大數(shù)據(jù)集時(shí)效率低下。為了解決該問(wèn)題,一個(gè)新的關(guān)聯(lián)規(guī)則挖掘算法FP-Growth被提出。(1)FP-Growth算法原理算法的基本思路:把數(shù)據(jù)集中的事務(wù)映射到一棵FP-tree上面,再根據(jù)這棵樹(shù)找出頻繁項(xiàng)集。FP-Growth算法被用于挖掘頻繁項(xiàng)集,將數(shù)據(jù)集存儲(chǔ)為FP樹(shù)的數(shù)據(jù)結(jié)構(gòu),以更高效地發(fā)現(xiàn)頻繁項(xiàng)集或頻繁項(xiàng)對(duì)。相比于Apriori算法對(duì)每個(gè)潛在的頻繁項(xiàng)集都掃描數(shù)據(jù)集,判定是否滿(mǎn)足支持度,F(xiàn)P-Growth算法只需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行兩次遍歷,就可以高效發(fā)現(xiàn)頻繁項(xiàng)集,因此,它在大數(shù)據(jù)集上的速度要優(yōu)于Apriori算法。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則2、實(shí)現(xiàn)方法---FP-Growth算法(2)FP-Growth算法步驟FP-Growth算法的步驟,大體上可以分成兩步:第一步,F(xiàn)P-tree的構(gòu)建;第二步,在FP-Tree上挖掘頻繁項(xiàng)集。1)掃描第一遍數(shù)據(jù)庫(kù),找出頻繁項(xiàng);2)將記錄按照頻繁項(xiàng)集的支持度由大到小順序重新排列;3)掃描第二遍數(shù)據(jù)庫(kù),產(chǎn)生FP-tree;4)從FP-tree挖掘得到頻繁項(xiàng)集。ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則3、關(guān)聯(lián)模式的評(píng)價(jià)1)客觀標(biāo)準(zhǔn)(1)提升度與興趣因子進(jìn)行度量興趣因子的局限性:當(dāng)規(guī)則的置信度與規(guī)則后件支持度數(shù)值大小相近時(shí),因?yàn)楸嚷实男问窖谏w了分子、分母本身的數(shù)值大小,提升度就不足以說(shuō)明問(wèn)題。尤其是當(dāng)后件的支持度本身很小時(shí),如果再除以后件的支持度,相當(dāng)于乘了一個(gè)很大的數(shù),會(huì)讓興趣因子很模糊。ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則3、關(guān)聯(lián)模式的評(píng)價(jià)1)客觀標(biāo)準(zhǔn)(2)相關(guān)分析進(jìn)行度量相關(guān)分析是一種基于統(tǒng)計(jì)學(xué)的技術(shù),對(duì)于連續(xù)型變量,相關(guān)度可以采用皮爾森相關(guān)系數(shù)表示。相關(guān)度的值從-1(完全負(fù)相關(guān))到+1(完全正相關(guān)),如果變量是相互獨(dú)立的,那么相關(guān)度為0。如果變量是正相關(guān),相關(guān)度大于0,同理,如果變量負(fù)相關(guān),相關(guān)度小于0。相關(guān)分析進(jìn)行度量的局限性:相關(guān)分析中把事務(wù)記錄中項(xiàng)的出現(xiàn)與不出現(xiàn)視為同等重要,因此相關(guān)分析更適合于分析對(duì)稱(chēng)的二元變量。ONE關(guān)聯(lián)規(guī)則

ONE關(guān)聯(lián)規(guī)則3.1關(guān)聯(lián)規(guī)則3、關(guān)聯(lián)模式的評(píng)價(jià)2)主觀標(biāo)準(zhǔn)常見(jiàn)的將主觀信息加入到模式發(fā)現(xiàn)任務(wù)的方法有以下幾種:(1)可視化方法:將數(shù)據(jù)中蘊(yùn)含的信息通過(guò)數(shù)據(jù)可視化方法進(jìn)行呈現(xiàn),需要友好的環(huán)境,以及用戶(hù)的參與,允許領(lǐng)域?qū)<医忉尯蜋z驗(yàn)發(fā)現(xiàn)的模式,只有符合觀察到的信息的模式才被認(rèn)為是有趣的。(2)基于模板的方法:該方法通過(guò)限制提取的模式類(lèi)型,只有滿(mǎn)足指定模板的模式被認(rèn)為是有趣的提供給用戶(hù),而不報(bào)告所有提取的所有模式。(3)主觀興趣度量:該方法基于領(lǐng)域信息定義一些主觀度量,例如:企業(yè)的利潤(rùn),概念的分層等;利用主觀度量來(lái)過(guò)濾顯而易見(jiàn)和沒(méi)有實(shí)際價(jià)值的模式。ONE關(guān)聯(lián)規(guī)則3.2 聚類(lèi)分析1、基本概念聚類(lèi)(Clustering)是一種通過(guò)尋找數(shù)據(jù)之間內(nèi)在結(jié)構(gòu)將數(shù)據(jù)對(duì)象劃分為多個(gè)子集的技術(shù)。每個(gè)子集都是一個(gè)簇,處于相同簇中的數(shù)據(jù)彼此盡可能的相似;而處于不同簇中的數(shù)據(jù)彼此盡可能的不同。由聚類(lèi)分析產(chǎn)生的簇的集合稱(chēng)為一個(gè)聚類(lèi)。聚類(lèi)技術(shù)通常又被稱(chēng)為無(wú)監(jiān)督學(xué)習(xí),與監(jiān)督學(xué)習(xí)不同的是,簇中的數(shù)據(jù)在劃分之前并沒(méi)有表示數(shù)據(jù)類(lèi)別的分類(lèi)或者分組信息。聚類(lèi)分析中通常采用距離和相似系數(shù)作為統(tǒng)計(jì)量計(jì)算兩個(gè)數(shù)據(jù)對(duì)象之間的相異度。距離的計(jì)算包括:歐幾里得距離(EuclideanDistance)、曼哈頓距離(ManhattanDistance)、明可夫斯基距離(MinkowskiDistance)等;相似系數(shù)包括:余弦相似度(CosineSimilarity)、皮爾森相關(guān)系數(shù)(PearsonCorrelationCoefficient)、Jaccard相似系數(shù)(JaccardCoefficient)、互信息/信息增益等。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法聚類(lèi)算法主要分為5大類(lèi):基于劃分的聚類(lèi)方法、基于層次的聚類(lèi)方法、基于密度的聚類(lèi)方法、基于網(wǎng)格的聚類(lèi)方法和基于模型的聚類(lèi)方法。1)

基于劃分的聚類(lèi)方法基于劃分的聚類(lèi)方法是一種自頂向下的方法,對(duì)于給定的n個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)集D,將數(shù)據(jù)對(duì)象劃分成k(k≤n)個(gè)分區(qū),其中,每個(gè)分區(qū)代表一個(gè)簇。基于劃分的聚類(lèi)方法中,經(jīng)典的算法包括k-平均(k-means)算法和k-中心(k-medoids)算法。TWO聚類(lèi)分析K-means算法聚類(lèi)過(guò)程示意圖3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法基于劃分的聚類(lèi)方法的優(yōu)點(diǎn)是,收斂速度快?;趧澐值木垲?lèi)方法的缺點(diǎn)是,聚類(lèi)前要明確聚類(lèi)的數(shù)目k,或者能夠?qū)垲?lèi)的數(shù)目k進(jìn)行合理地估計(jì),并且初始中心的選擇和噪聲會(huì)對(duì)聚類(lèi)結(jié)果產(chǎn)生很大影響。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法2)

基于層次的聚類(lèi)方法基于層次的聚類(lèi)方法是指對(duì)給定的數(shù)據(jù)進(jìn)行層次分解,即將數(shù)據(jù)對(duì)象組織成層次機(jī)構(gòu)或“樹(shù)”,直到滿(mǎn)足某種條件為止。該算法根據(jù)層次分解的順序分為自底向上的凝聚層次聚類(lèi)算法,和自頂向下的分裂式層次聚類(lèi)算法。(1)凝聚層次聚類(lèi)算法該算法首先,將每個(gè)數(shù)據(jù)對(duì)象設(shè)置為一個(gè)獨(dú)立的簇,然后計(jì)算數(shù)據(jù)對(duì)象之間的距離,將距離最近的點(diǎn)合并到同一個(gè)簇。接下來(lái),計(jì)算簇與簇之間的距離,將距離最近的簇合并為一個(gè)大簇。直到所有的對(duì)象全部合并為一個(gè)完整的簇,或者達(dá)到某個(gè)終止條件為止。自底向上法的代表算法是AGNES(AgglomerativeNesing)算法。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法(2)分裂式層次聚類(lèi)算法該方法與凝聚性的層次聚類(lèi)算法不同,它首先將所有數(shù)據(jù)對(duì)象都放入一個(gè)簇,然后逐漸細(xì)分為更小的簇,直到每個(gè)數(shù)據(jù)對(duì)象均形成一個(gè)獨(dú)立的簇,或者達(dá)到某個(gè)終止條件為止。自頂向下法的代表算法是DIANA(DivisiveAnalysis)算法?;趯哟蔚木垲?lèi)算法的主要優(yōu)點(diǎn)包括,距離和規(guī)則的相似度容易定義,限制少,不需要預(yù)先制定簇的個(gè)數(shù),可以發(fā)現(xiàn)簇的層次關(guān)系?;趯哟蔚木垲?lèi)算法的主要缺點(diǎn)包括,計(jì)算復(fù)雜度太高,不適用于大數(shù)據(jù)集,奇異值也能產(chǎn)生很大影響,算法很可能聚類(lèi)成鏈狀。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法3)

基于密度的聚類(lèi)方法以上基于劃分和基于層次聚類(lèi)方法均是基于距離的聚類(lèi)算法,該類(lèi)算法的聚類(lèi)結(jié)果是凸形的簇,難以發(fā)現(xiàn)任意形狀的簇。基于密度的聚類(lèi)方法的主要目標(biāo)是尋找被低密度區(qū)域分離的高密度區(qū)域,與基于距離的聚類(lèi)算法不同的是,基于密度的聚類(lèi)算法可以發(fā)現(xiàn)任意形狀的簇。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法3)

基于密度的聚類(lèi)方法基于密度的聚類(lèi)方法中最具代表性的是DBSAN(Density-BasedSpatialClusteringofApplicationswithNoise)算法、OPTICS(OrderingPointstoidentifytheclusteringstructure)算法和DENCLUE(Density-Basedclustering)算法。該類(lèi)算法的優(yōu)點(diǎn)是,能克服基于距離的算法(如K-Means)只能發(fā)現(xiàn)凸聚類(lèi)的缺點(diǎn),可以發(fā)現(xiàn)任意形狀的聚類(lèi),可以過(guò)濾掉異常值對(duì)噪聲數(shù)據(jù)不敏感。該類(lèi)算法的缺點(diǎn)是,找不到具有不同密度的所有簇,僅限于地位數(shù)據(jù)集,計(jì)算密度差異大的計(jì)算復(fù)雜度大,需要建立空間索引來(lái)降低計(jì)算量。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法4)基于網(wǎng)格的聚類(lèi)方法基于網(wǎng)格的聚類(lèi)方法將空間量化為有限數(shù)目的單元,可以形成一個(gè)網(wǎng)格結(jié)構(gòu),所有聚類(lèi)都在網(wǎng)格上進(jìn)行?;舅枷刖褪菍⒚總€(gè)屬性的可能值分割成許多相鄰的區(qū)間,并創(chuàng)建網(wǎng)格單元的集合。每個(gè)對(duì)象落入一個(gè)網(wǎng)格單元,網(wǎng)格單元對(duì)應(yīng)的屬性空間包含該對(duì)象的值。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法4)基于網(wǎng)格的聚類(lèi)方法基于網(wǎng)格的聚類(lèi)方法中最具代表性的算法是STING、Wave-Cluster、CLIQUE等。這些算法用不同的網(wǎng)格劃分方法,將數(shù)據(jù)空間劃分成為有限個(gè)單元(cell)的網(wǎng)格結(jié)構(gòu),并對(duì)網(wǎng)格數(shù)據(jù)結(jié)構(gòu)進(jìn)行了不同的處理?;诰W(wǎng)格的聚類(lèi)方法的主要優(yōu)點(diǎn)是處理速度快,其處理時(shí)間獨(dú)立于數(shù)據(jù)對(duì)象的數(shù)量,而僅依賴(lài)于量化空間中的每一維的單元數(shù)?;诰W(wǎng)格的聚類(lèi)方法的缺點(diǎn)是只能發(fā)現(xiàn)邊界是水平或垂直的簇,而不能檢測(cè)到斜邊界。另外,在處理高維數(shù)據(jù)時(shí),網(wǎng)格單元的數(shù)目會(huì)隨著屬性維數(shù)的增長(zhǎng)而成指數(shù)級(jí)增長(zhǎng)。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法5)基于模型的聚類(lèi)方法基于模型的聚類(lèi)方法主要是指基于概率模型和基于神經(jīng)網(wǎng)絡(luò)模型的方法,是試圖優(yōu)化給定的數(shù)據(jù)和某些數(shù)學(xué)模型之間的適應(yīng)性的。該方法給每一個(gè)簇假定了一個(gè)模型,然后尋找數(shù)據(jù)對(duì)給定模型的最佳擬合。假定的模型可能是代表數(shù)據(jù)對(duì)象在空間分布情況的密度函數(shù)或者其他函數(shù)。這種方法的基本原理就是假定目標(biāo)數(shù)據(jù)集是由一系列潛在的概率分布所決定的。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法5)基于模型的聚類(lèi)方法基于模型的聚類(lèi)方法中最具代表性的是高斯混合模型(GMM)、自組織映射算法(SOM)。(1)混合高斯模型(GMM)就是指對(duì)樣本的概率密度分布進(jìn)行估計(jì),而估計(jì)采用的模型(訓(xùn)練模型)是幾個(gè)高斯模型的加權(quán)和。每個(gè)高斯模型就代表了一個(gè)類(lèi)(一個(gè)Cluster)。對(duì)樣本中的數(shù)據(jù)分別在幾個(gè)高斯模型上投影,就會(huì)分別得到在各個(gè)類(lèi)上的概率。然后,可以選取概率最大的類(lèi)作為判決結(jié)果。(2)SOM是通過(guò)發(fā)現(xiàn)質(zhì)心的集合,并將數(shù)據(jù)集中的每個(gè)對(duì)象指派到提供該對(duì)象最佳近似的質(zhì)心。TWO聚類(lèi)分析3.2 聚類(lèi)分析2、實(shí)現(xiàn)方法5)基于模型的聚類(lèi)方法基于模型的聚類(lèi)方法中最具代表性的是高斯混合模型(GMM)、自組織映射算法(SOM)。(1)混合高斯模型(GMM)就是指對(duì)樣本的概率密度分布進(jìn)行估計(jì),而估計(jì)采用的模型(訓(xùn)練模型)是幾個(gè)高斯模型的加權(quán)和。每個(gè)高斯模型就代表了一個(gè)類(lèi)(一個(gè)Cluster)。對(duì)樣本中的數(shù)據(jù)分別在幾個(gè)高斯模型上投影,就會(huì)分別得到在各個(gè)類(lèi)上的概率。然后,可以選取概率最大的類(lèi)作為判決結(jié)果。(2)SOM是通過(guò)發(fā)現(xiàn)質(zhì)心的集合,并將數(shù)據(jù)集中的每個(gè)對(duì)象指派到提供該對(duì)象最佳近似的質(zhì)心。TWO聚類(lèi)分析3.2 聚類(lèi)分析3、聚類(lèi)算法評(píng)價(jià)聚類(lèi)分析的目標(biāo)是使組內(nèi)的對(duì)象之間盡可能的相似,而不同組之間的對(duì)象則相反。組內(nèi)相似性越大,組間差異性越大,則聚類(lèi)的效果越好。好的聚類(lèi)算法通常要求:1.具有高度可伸縮性;2.能夠處理不同類(lèi)型數(shù)據(jù);3.可發(fā)現(xiàn)任意形狀的簇;4.最小化輸入?yún)?shù);TWO聚類(lèi)分析5.能夠處理噪聲數(shù)據(jù);6.對(duì)數(shù)據(jù)輸入順序不敏感;7.具有處理高維度數(shù)據(jù)的能力;8.聚類(lèi)結(jié)果具有可解釋性和可用性。

TWO聚類(lèi)分析

TWO聚類(lèi)分析

TWO聚類(lèi)分析

TWO聚類(lèi)分析

TWO聚類(lèi)分析3.2 聚類(lèi)分析3、聚類(lèi)算法評(píng)價(jià)(2)RI評(píng)價(jià)法RI評(píng)價(jià)法用排列組合原理來(lái)對(duì)聚類(lèi)進(jìn)行評(píng)價(jià)。RI=(TP+TN)/(TP+FP+FN+TN)(3-14)假設(shè)聚類(lèi)的目標(biāo)是獲取正例(positive)和負(fù)例(negtive),正例為被正確劃分的實(shí)例(樣本),負(fù)例為被錯(cuò)誤劃分的實(shí)例。其中,TP為被正確地劃分為正例的個(gè)數(shù),即實(shí)際為正例且被分類(lèi)器劃分為正例的實(shí)例數(shù);FP為被錯(cuò)誤地劃分為正例的個(gè)數(shù),即實(shí)際為負(fù)例但被分類(lèi)器劃分為正例的實(shí)例數(shù);FN為被錯(cuò)誤地劃分為負(fù)例的個(gè)數(shù),即實(shí)際為正例但被分類(lèi)器劃分為負(fù)例的實(shí)例數(shù);TN為被正確地劃分為負(fù)例的個(gè)數(shù),即實(shí)際為負(fù)例且被分類(lèi)器劃分為負(fù)例的實(shí)例數(shù)。TWO聚類(lèi)分析3.2 聚類(lèi)分析3、聚類(lèi)算法評(píng)價(jià)(3)F值評(píng)價(jià)法F值評(píng)價(jià)法是基于RI評(píng)價(jià)法衍生出的一種評(píng)價(jià)方法。F_α=(α^2+1)PR/(α^2P+R)(3-15)其中,α為調(diào)和參數(shù),P為準(zhǔn)確率:P=TP/(TP+FP),R為召回率:R=TP/(TP+FN),在RI方法中是把準(zhǔn)確率P和召回率R看得同等重要。事實(shí)上有時(shí)候我們可能需要某一特性更多一點(diǎn),這時(shí)候可以采用F值方法。外部評(píng)價(jià)的三個(gè)指標(biāo)均是值越大,表明聚類(lèi)結(jié)果與參考標(biāo)準(zhǔn)的劃分結(jié)果越吻合,聚類(lèi)效果越好。TWO聚類(lèi)分析3.3 分類(lèi)分析1、基本概念分類(lèi)是一個(gè)有監(jiān)督的學(xué)習(xí)過(guò)程,即在構(gòu)建分類(lèi)模型過(guò)程中使用的訓(xùn)練集中的記錄的類(lèi)別是已標(biāo)識(shí)的,分類(lèi)過(guò)程即是將每一條記錄歸到對(duì)應(yīng)的類(lèi)別之中。分類(lèi)的目的是確定一個(gè)記錄為某一個(gè)已知的類(lèi)別。分類(lèi)(classification):就是通過(guò)學(xué)習(xí)得到一個(gè)目標(biāo)函數(shù)(targetfunction)f,將每個(gè)屬性集x映射到一個(gè)預(yù)定義類(lèi)標(biāo)號(hào)y。目標(biāo)函數(shù)也稱(chēng)為分類(lèi)模型(classificationmodel。THR分類(lèi)分析3.3 分類(lèi)分析1、基本概念分類(lèi)模型的目的包含兩個(gè)方面:1.描述性建模:分類(lèi)模型作為解釋性工具,用于區(qū)分不同類(lèi)中的對(duì)象。例如:利用一個(gè)描述性模型對(duì)數(shù)據(jù)進(jìn)行概括,并說(shuō)明哪些特征確定了記錄的類(lèi)型。2.預(yù)測(cè)性建模:分類(lèi)模型用于預(yù)測(cè)未知記錄的類(lèi)標(biāo)號(hào)。分類(lèi)模型可以作為一個(gè)黑箱,當(dāng)給定一條記錄在屬性集上的值時(shí),自動(dòng)為其賦予一個(gè)類(lèi)標(biāo)號(hào)。注意:分類(lèi)技術(shù)一般用于預(yù)測(cè)和描述二元類(lèi)型的數(shù)據(jù)集,而對(duì)于序數(shù)的分類(lèi),由于分類(lèi)技術(shù)未考慮隱含在目標(biāo)類(lèi)中的序關(guān)系,因此分類(lèi)技術(shù)不太有效。此外,形如超類(lèi)與子類(lèi)的關(guān)系等,也常被忽略。THR分類(lèi)分析3.3 分類(lèi)分析1、基本概念分類(lèi)模型一般采用一種學(xué)習(xí)算法進(jìn)行確定,模型應(yīng)能夠很好的擬合輸入數(shù)據(jù)中的屬性集與類(lèi)標(biāo)號(hào)之間的關(guān)系,同時(shí)還要能夠正確的預(yù)測(cè)新樣本的類(lèi)標(biāo)號(hào)。分類(lèi)的基本過(guò)程,一般通過(guò)兩步實(shí)現(xiàn):1.在訓(xùn)練階段,使用訓(xùn)練數(shù)據(jù)集,通過(guò)分析由屬性描述的數(shù)據(jù)庫(kù)元組來(lái)建立分類(lèi)模型。2.在測(cè)試階段,使用測(cè)試數(shù)據(jù)集來(lái)評(píng)估模型的分類(lèi)準(zhǔn)確率,如果認(rèn)為可以接受,就可以用該模型對(duì)其他數(shù)據(jù)元組進(jìn)行分類(lèi)。一般來(lái)說(shuō),測(cè)試階段的代價(jià)遠(yuǎn)低于訓(xùn)練階段。

THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法分類(lèi)算法分為二分類(lèi)算法和多分類(lèi)算法。二分類(lèi)算法表示分類(lèi)標(biāo)簽只有兩個(gè)分類(lèi),具有代表性的有支持向量機(jī)和梯度提升決策樹(shù);多分類(lèi)算法表示分類(lèi)標(biāo)簽多于兩個(gè)分類(lèi),比較常見(jiàn)的有邏輯回歸、樸素貝葉斯、決策樹(shù)等。本節(jié)主要介紹幾種常用的分類(lèi)方法:決策樹(shù)、貝葉斯分類(lèi)器、最近鄰分類(lèi)器以及邏輯回歸等。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法1.決策樹(shù)分類(lèi)器決策樹(shù)是一種常用的分類(lèi)算法,它是一種樹(shù)形結(jié)構(gòu),由決策點(diǎn)、分支和葉節(jié)點(diǎn)組成。其中,每個(gè)內(nèi)部節(jié)點(diǎn)表示一個(gè)屬性上的測(cè)試,每個(gè)分支代表一個(gè)測(cè)試輸出,每個(gè)葉節(jié)點(diǎn)代表一種類(lèi)別。對(duì)一個(gè)新的記錄進(jìn)行分類(lèi)時(shí),只需要沿決策樹(shù)從上到下,在每個(gè)分支節(jié)點(diǎn)進(jìn)行測(cè)試,沿著相應(yīng)的分支遞歸地進(jìn)入子樹(shù)再測(cè)試,一直到達(dá)葉子節(jié)點(diǎn),該葉子節(jié)點(diǎn)所代表的類(lèi)別即為當(dāng)前樣本的預(yù)測(cè)類(lèi)別,這個(gè)過(guò)程就是決策歸納的過(guò)程。從樹(shù)的最頂層的根節(jié)點(diǎn)到每個(gè)葉子節(jié)點(diǎn)均形成一條分類(lèi)的路徑規(guī)則,決策過(guò)程轉(zhuǎn)換為一組決策規(guī)則。如圖所示為對(duì)汽車(chē)購(gòu)買(mǎi)意愿構(gòu)建的決策樹(shù)。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法決策樹(shù)分類(lèi)器決策樹(shù)算法的目的即是從訓(xùn)練集S中建立樹(shù)T,決策樹(shù)的構(gòu)建過(guò)程分為以下3個(gè)部分:(1)屬性選擇:是指從訓(xùn)練數(shù)據(jù)集中的眾多屬性中選擇一個(gè)屬性作為當(dāng)前節(jié)點(diǎn)的決策標(biāo)準(zhǔn),如何選擇屬性有著很多不同量化評(píng)估標(biāo)準(zhǔn),從而衍生出不同的決策樹(shù)算法。選擇最能夠提供信息的屬性,常用的方法是使用基于熵的方法來(lái)識(shí)別最能夠提供信息的屬性。(2)決策樹(shù)生成:根據(jù)選擇的特征評(píng)估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可再分則停止決策樹(shù)的生長(zhǎng)。確定決策樹(shù)停止增長(zhǎng)的方法:一種是通過(guò)檢查是否都具有相同的屬性值,或所有的記錄是否都屬于同一類(lèi);另一種方法是檢查記錄數(shù)是否小于某個(gè)最小閾值,已確定是否終止遞歸函數(shù)。(3)剪枝:決策樹(shù)容易過(guò)擬合,一般需要剪枝,縮小樹(shù)結(jié)構(gòu)規(guī)模、緩解過(guò)擬合。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法決策樹(shù)分類(lèi)器剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。1)預(yù)剪枝:在決策樹(shù)生成過(guò)程中,通過(guò)在每次劃分時(shí),考慮是否能夠帶來(lái)決策樹(shù)性能的提升。如果可以提升決策樹(shù)的性能則會(huì)進(jìn)行劃分,否則停止劃分,決策樹(shù)不再生長(zhǎng)。常用的方法有:①設(shè)定樹(shù)的深度閾值,當(dāng)達(dá)到一定的規(guī)模則停止生長(zhǎng);②設(shè)定節(jié)點(diǎn)的規(guī)模閾值,當(dāng)節(jié)點(diǎn)的樣本數(shù)量小于某個(gè)閾值的時(shí)候停止生長(zhǎng)。2)后剪枝:首先,由訓(xùn)練集生成完整的決策樹(shù);然后,自底向上對(duì)決策樹(shù)進(jìn)行剪枝。后剪枝與預(yù)剪枝最大的不同就是決策樹(shù)是否生長(zhǎng)完整。常用的方法有:①悲觀剪枝(PEP);②錯(cuò)誤率降低剪枝(REP);③最小誤差剪枝(MEP)等。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法決策樹(shù)分類(lèi)器目前較為流行的決策樹(shù)的構(gòu)建算法包括:ID3、C4.5、CART等。(1)ID3(IterativeDichotomiser3):該算法是JohnRossQuinlan開(kāi)發(fā)的一種決策樹(shù)算法,ID3算法在每個(gè)節(jié)點(diǎn)處選擇獲得最高信息增益的分支屬性進(jìn)行分裂,分支劃分和分支屬性選取的目的是提升整個(gè)決策樹(shù)樣本純度。在決策樹(shù)中用熵來(lái)表示樣本集的不純度,如果樣本集只有一個(gè)類(lèi)別,則熵為0;否則,熵越大,越不確定,表示樣本集中的分類(lèi)越多樣。因此,由于分類(lèi)后樣本集的純度提高,而熵降低,熵降低的值即為信息增益。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法決策樹(shù)分類(lèi)器目前較為流行的決策樹(shù)的構(gòu)建算法包括:ID3、C4.5、CART等。(2)C4.5:該算法是ID3算法的后繼者,總體思路與ID3相似,主要區(qū)別在于分支的處理上,通過(guò)引入信息增益率作為分支屬性選擇的度量。從而解決ID3算法在選擇分支屬性時(shí)往往選擇取值較多的分支屬性的問(wèn)題。而且,C4.5算法通過(guò)動(dòng)態(tài)定義將連續(xù)屬性值分割成離散的一組間隔的離散屬性(基于數(shù)值變量)來(lái)去除特征必須是分類(lèi)的限制。C4.5將訓(xùn)練好的樹(shù)轉(zhuǎn)換成if-then規(guī)則的集合,然后評(píng)估每個(gè)規(guī)則的這些準(zhǔn)確性以確定應(yīng)用它們的順序。如果規(guī)則的準(zhǔn)確性沒(méi)有改善,則通過(guò)刪除規(guī)則的前提條件來(lái)完成修剪。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法決策樹(shù)分類(lèi)器目前較為流行的決策樹(shù)的構(gòu)建算法包括:ID3、C4.5、CART等。(3)CART(分類(lèi)和回歸樹(shù)):又稱(chēng)分類(lèi)回歸樹(shù)算法,該算法采用二分循環(huán)分割的方法,每次將當(dāng)前的樣本集劃分為兩個(gè)子集,使決策樹(shù)中的每個(gè)節(jié)點(diǎn)均有兩個(gè)分支,因此構(gòu)建的決策樹(shù)為二叉樹(shù)。如果選擇的分支屬性具有多個(gè)取值,分裂時(shí)進(jìn)行屬性值的組合,選擇最佳的兩個(gè)組合進(jìn)行分支。CART算法中采用的分支屬性選擇的度量指標(biāo)為Gini指標(biāo)。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法2.樸素貝葉斯分類(lèi)器貝葉斯分類(lèi)是一類(lèi)分類(lèi)算法的總稱(chēng),這類(lèi)算法均以貝葉斯定理為基礎(chǔ),利用預(yù)測(cè)類(lèi)隸屬關(guān)系的概率,將元組劃分到一個(gè)特定類(lèi),故統(tǒng)稱(chēng)為貝葉斯分類(lèi)。貝葉斯定理是關(guān)于隨機(jī)事件A和B的條件概率(或邊緣概率)的一則定理,其中P(A|B)是在B發(fā)生的情況下A發(fā)生的可能性。貝葉斯統(tǒng)計(jì)中的兩個(gè)基本概念是先驗(yàn)分布和后驗(yàn)分布:(1)先驗(yàn)分布。先驗(yàn)分布不必有客觀的依據(jù),可以部分地或完全地基于主觀信念。(2)后驗(yàn)分布。根據(jù)樣本分布和未知參數(shù)的先驗(yàn)分布,用概率論中求條件概率分布的方法,求出的在樣本已知下,未知參數(shù)的條件分布。因?yàn)檫@個(gè)分布是在抽樣以后才得到的,故稱(chēng)為后驗(yàn)分布。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法3.最近鄰分類(lèi)器基于最近鄰的分類(lèi)器通過(guò)找出和測(cè)試樣本的屬性相對(duì)接近的所有訓(xùn)練樣本,這些訓(xùn)練樣本稱(chēng)為最近鄰(nearestneighbor),然后使用這些最近鄰中出現(xiàn)次數(shù)最多的類(lèi)標(biāo)號(hào)作為測(cè)試樣本的分類(lèi)標(biāo)號(hào)。最近鄰分類(lèi)器將每個(gè)樣本作為d維空間上的一個(gè)數(shù)據(jù)點(diǎn),其中d是屬性個(gè)數(shù)。通過(guò)相似性或距離度量測(cè)試樣本與訓(xùn)練集中其他數(shù)據(jù)點(diǎn)的鄰近度。給定樣本的k-最近鄰是指和樣本距離最近的k個(gè)數(shù)據(jù)點(diǎn)。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法3.最近鄰分類(lèi)器該算法的主要思想是:如果一個(gè)樣本在特征空間中的k個(gè)最相似的樣本中的大多數(shù)屬于某一類(lèi),則該樣本也屬于該類(lèi)。k-最近鄰分類(lèi)器中,所選擇的鄰居都是已經(jīng)正確分類(lèi)的對(duì)象。該方法指依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本所屬的類(lèi)來(lái)確定測(cè)試樣本所屬的類(lèi)。最近鄰分類(lèi)器中的k值的選擇,如果k太小,則最近鄰分類(lèi)器容易受到訓(xùn)練集中的噪聲影響而產(chǎn)生過(guò)分?jǐn)M合;相反,如果k太大,最近鄰分類(lèi)器可能會(huì)誤分類(lèi)測(cè)試樣本,因?yàn)樽罱徚斜碇锌赡馨h(yuǎn)離其近鄰的數(shù)據(jù)點(diǎn)。k-最近鄰算法的特點(diǎn):(1)不需要事先對(duì)訓(xùn)練數(shù)據(jù)建立樣本分類(lèi)模型,而是當(dāng)需要對(duì)測(cè)試樣本進(jìn)行分類(lèi)時(shí),才使用具體的訓(xùn)練樣本進(jìn)行預(yù)測(cè)。(2)基于局部信息(k個(gè)最近鄰)進(jìn)行決策,因此當(dāng)最近鄰的k很小時(shí),對(duì)噪聲非常敏感。THR分類(lèi)分析3.3 分類(lèi)分析2、實(shí)現(xiàn)方法4.邏輯回歸在線(xiàn)性回歸模型中,利用求輸出特征向量Y和輸入樣本矩陣X之間的線(xiàn)性關(guān)系系數(shù)r,滿(mǎn)足Y=rX。此時(shí)的Y是連續(xù)的,所以是回歸模型。假設(shè),Y是離散的,需要對(duì)于Y再做一次函數(shù)轉(zhuǎn)換,變?yōu)間(Y)。如果令g(Y)的值在某個(gè)區(qū)間的時(shí)候是類(lèi)別A,在另一個(gè)區(qū)間的時(shí)候是類(lèi)別B,則就得到了一個(gè)分類(lèi)模型。如果結(jié)果的類(lèi)別只有兩種,那么就是一個(gè)二元分類(lèi)模型。邏輯回歸(LogisticRegression)雖然被稱(chēng)為回歸,但其實(shí)際上是分類(lèi)模型。邏輯回歸的目的是對(duì)事件進(jìn)行分類(lèi),將事件劃分到最合適的類(lèi)中。邏輯回歸包含一組自變量和截距的β值,通過(guò)β值得出邏輯函數(shù),邏輯函數(shù)可以估計(jì)事件屬于某一分類(lèi)的概率。THR分類(lèi)分析

THR分類(lèi)分析混淆矩陣真實(shí)值PositiveNegative預(yù)測(cè)值PositiveTPFPNegativeFNTN3.4離群點(diǎn)檢測(cè)1、基本概念離群點(diǎn)(outlier)也稱(chēng)為異常對(duì)象,它是顯著不同于其他數(shù)據(jù)對(duì)象的數(shù)據(jù)。離群點(diǎn)不同于噪聲數(shù)據(jù),噪聲是被觀測(cè)變量的隨機(jī)誤差或方差。離群點(diǎn)則是由于數(shù)據(jù)來(lái)源于不同的類(lèi)、自然變異、數(shù)據(jù)測(cè)量等造成的。在離群點(diǎn)檢測(cè)時(shí),重要的是搞清楚為什么檢測(cè)到的離群點(diǎn)被某種其他機(jī)制產(chǎn)生。通常,在其余數(shù)據(jù)上做各種假設(shè),并且證明檢測(cè)到的離群點(diǎn)顯著違反了這些假設(shè)。離群點(diǎn)的檢測(cè)已經(jīng)被廣泛應(yīng)用于電信和信用卡的詐騙檢測(cè)、貸款審批、電子商務(wù)、網(wǎng)絡(luò)入侵和天氣預(yù)報(bào)等領(lǐng)域。離群點(diǎn)依據(jù)數(shù)據(jù)范圍、數(shù)據(jù)類(lèi)型以及屬性的數(shù)量等,可以劃分為不同的類(lèi)型。1.依據(jù)數(shù)據(jù)范圍,離群點(diǎn)可以分為全局離群點(diǎn)和局部離群點(diǎn)。用于考察整體來(lái)看,數(shù)據(jù)對(duì)象沒(méi)有離群特征,但是從局部來(lái)看,卻顯示了一定的離群性。在給定的數(shù)據(jù)集中,如果一個(gè)數(shù)據(jù)對(duì)象顯著的偏離數(shù)據(jù)集中的其他對(duì)象,則稱(chēng)為全局離群點(diǎn)。局部離群點(diǎn),則是相對(duì)于數(shù)據(jù)對(duì)象的局部領(lǐng)域,它是遠(yuǎn)離的。2.依據(jù)數(shù)據(jù)類(lèi)型,離群點(diǎn)可以分為數(shù)值型離群點(diǎn)和分類(lèi)型離群點(diǎn)。3.依據(jù)屬性的數(shù)量,離群點(diǎn)可以分為一維離群點(diǎn)和多維離群點(diǎn),一個(gè)對(duì)象可能有一個(gè)或多個(gè)屬性。FOUR離群點(diǎn)3.4離群點(diǎn)檢測(cè)2、實(shí)現(xiàn)方法1.統(tǒng)計(jì)學(xué)方法離群點(diǎn)檢測(cè)的統(tǒng)計(jì)學(xué)方法是對(duì)數(shù)據(jù)的正常性做假定,假定數(shù)據(jù)集中的正常數(shù)據(jù)對(duì)象由一個(gè)隨機(jī)過(guò)程(生成模型)產(chǎn)生。因此,正常數(shù)據(jù)對(duì)象出現(xiàn)在該隨機(jī)模型的高概率區(qū)域中,而處于低概率區(qū)域中的對(duì)象是離群點(diǎn)。離群點(diǎn)檢測(cè)的統(tǒng)計(jì)學(xué)方法的一般思想是:學(xué)習(xí)一個(gè)擬合給定數(shù)據(jù)集的生成模型,然后識(shí)別該模型低概率區(qū)域中的對(duì)象,把它們作為離群點(diǎn)。有許多不同方法來(lái)學(xué)習(xí)生成模型,一般而言,根據(jù)如何指定和如何學(xué)習(xí)模型,離群點(diǎn)檢測(cè)的統(tǒng)計(jì)學(xué)方法可以劃分成兩個(gè)主要類(lèi)型:參數(shù)方法和非參數(shù)方法。(1)參數(shù)方法假定正常的數(shù)據(jù)對(duì)象被一個(gè)以δ為參數(shù)的參數(shù)分布產(chǎn)生。該參數(shù)分布的概率密度函數(shù)f(x,δ)給出對(duì)象x被該分布產(chǎn)生的概率。該值越小,x越可能為離群點(diǎn)。(2)非參數(shù)方法并不假定先驗(yàn)統(tǒng)計(jì)模型,而是通過(guò)從輸入數(shù)據(jù)確定模型。非參數(shù)方法通常假定參數(shù)的個(gè)數(shù)和性質(zhì)都是靈活的,不需要預(yù)先確定。非參數(shù)方法的常見(jiàn)方法包括直方圖和核密度估計(jì)等。FOUR離群點(diǎn)3.4離群點(diǎn)檢測(cè)2、實(shí)現(xiàn)方法2.基于鄰近性的方法給定特征空間中的對(duì)象集,可以使用距離度量來(lái)量化對(duì)象間的相似性?;卩徑缘姆椒ǎ杭俣ㄒ粋€(gè)對(duì)象是離群點(diǎn),如果在特征空間中的最近鄰也遠(yuǎn)離它,即該對(duì)象與它的最近鄰之間的鄰近性顯著偏離數(shù)據(jù)集中其他對(duì)象與它們近鄰之間的鄰近性。常見(jiàn)的基于鄰近性的離群點(diǎn)檢測(cè)方法包括:基于距離的和基于密度的離群點(diǎn)檢測(cè)方法。(1)基于距離的離群點(diǎn)檢測(cè)方法考慮對(duì)象給定半徑的鄰域。一個(gè)對(duì)象被認(rèn)為是離群點(diǎn)是基于如果它的鄰域內(nèi)沒(méi)有足夠多的其他點(diǎn)。基于距離的檢測(cè)方法從全局考慮數(shù)據(jù)集,所找到的離群點(diǎn)都是全局離群點(diǎn)。但是,實(shí)際上數(shù)據(jù)結(jié)構(gòu)往往比較復(fù)雜,數(shù)據(jù)對(duì)象可能關(guān)于局部鄰域是離群的,而不是整個(gè)數(shù)據(jù)分布的離群點(diǎn)。(2)基于密度的離群點(diǎn)的檢測(cè)方法考察對(duì)象和它近鄰的密度,假定非離群點(diǎn)對(duì)象周?chē)拿芏扰c其鄰域周?chē)拿芏阮?lèi)似,而離群點(diǎn)對(duì)象周?chē)拿芏蕊@著不同于其鄰域周?chē)拿芏取R粋€(gè)對(duì)象被識(shí)別為離群點(diǎn),是基于它的密度相對(duì)于它的近鄰低得多。FOUR離群點(diǎn)3.4離群點(diǎn)檢測(cè)2、實(shí)現(xiàn)方法3.基于聚類(lèi)的方法基于聚類(lèi)的方法通過(guò)考察對(duì)象與簇之間的關(guān)系檢測(cè)離群點(diǎn)。直觀地,離群點(diǎn)是一個(gè)對(duì)象,它屬于小的偏遠(yuǎn)簇,或不屬于任何簇。考察一個(gè)對(duì)象是否為離群點(diǎn),通過(guò)以下三種方法進(jìn)行。(1)考察對(duì)象是否屬于某個(gè)簇,如果不屬于任何簇,則被識(shí)別為離群點(diǎn)。(2)考察對(duì)象與最近的簇之間的距離是否很遠(yuǎn),如果距離很遠(yuǎn),則被識(shí)別為離群點(diǎn)。(3)考察對(duì)象是否屬于小簇或稀疏簇的一部分,如果是,則該簇中的所有對(duì)象都是離群點(diǎn)。基于聚類(lèi)方法的離群點(diǎn)檢測(cè)的優(yōu)點(diǎn):可以檢測(cè)離群點(diǎn),而不要求數(shù)據(jù)是有類(lèi)標(biāo)號(hào)的,即可以無(wú)監(jiān)督方式檢測(cè)。因此,對(duì)許多類(lèi)型的數(shù)據(jù)都有效。簇可以被看成是數(shù)據(jù)的概括,一旦得到簇,基于聚類(lèi)的方法只需要把對(duì)象與簇進(jìn)行比較,以確定該對(duì)象是否是離群點(diǎn)。因?yàn)榕c對(duì)象總數(shù)相比,簇的個(gè)數(shù)通常很小,因此這一過(guò)程通常很快?;诰垲?lèi)方法的離群點(diǎn)檢測(cè)的缺點(diǎn):該方法的有效性高度依賴(lài)于所使用的聚類(lèi)方法。這些方法對(duì)于離群點(diǎn)檢測(cè)而言可能不是最優(yōu)的。此外,對(duì)于大型數(shù)據(jù)集,聚類(lèi)方法通常開(kāi)銷(xiāo)很大。FOUR離群點(diǎn)3.4離群點(diǎn)檢測(cè)2、實(shí)現(xiàn)方法4.基于分類(lèi)的方法如果訓(xùn)練數(shù)據(jù)具有類(lèi)標(biāo)號(hào),則離群點(diǎn)檢測(cè)可以作為分類(lèi)問(wèn)題?;诜诸?lèi)的離群點(diǎn)檢測(cè)方法的一般思想是,訓(xùn)練一個(gè)可以區(qū)分“正?!睌?shù)據(jù)和離群點(diǎn)的分類(lèi)模型?;诜诸?lèi)的離群點(diǎn)檢測(cè)方法通常使用一類(lèi)模型(單分類(lèi)模型SVDD),即構(gòu)造一個(gè)僅描述正常類(lèi)的分類(lèi)器,不屬于正常類(lèi)的任何樣本都被視為離群點(diǎn)?;诜诸?lèi)的方法和基于聚類(lèi)的方法可以聯(lián)合使用,以半監(jiān)督的方式檢測(cè)離群點(diǎn)。FOUR離群點(diǎn)3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介Python本身數(shù)據(jù)分析功能并不強(qiáng),但是可以通過(guò)第三方擴(kuò)展庫(kù)來(lái)增強(qiáng)其相應(yīng)的數(shù)據(jù)分析功能。常用的庫(kù)有NumPy、SciPy、Matplotlib、Pandas、StatsModels、scikit-learn、Keras、Gensim等,如表所示。FIVEPython工具擴(kuò)展庫(kù)名簡(jiǎn)介NumPy由多維數(shù)組對(duì)象和用于處理數(shù)組的例程集合組成的庫(kù)SciPy提供矩陣支持,以及矩陣相關(guān)的數(shù)值計(jì)算模塊Matplotlib強(qiáng)大的數(shù)據(jù)可視化工具、作圖庫(kù)Pandas用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能。StatsModels用于擬合多種統(tǒng)計(jì)模型,執(zhí)行統(tǒng)計(jì)測(cè)試以及數(shù)據(jù)探索和可視化Scikit-learn支持分類(lèi),回歸,降維和聚類(lèi)等機(jī)器學(xué)習(xí)算法,還包括了特征提取,數(shù)據(jù)處理和模型評(píng)估者三大模塊。Keras用于建立神經(jīng)網(wǎng)絡(luò)模型以及深度學(xué)習(xí)模型Scrapy爬蟲(chóng)工具,具有URL讀取、HTML解析、存儲(chǔ)數(shù)據(jù)等功能Gensim強(qiáng)大的自然語(yǔ)言處理工具3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介2.SciPySciPy主要用于數(shù)學(xué)、科學(xué)和工程計(jì)算,是一組專(zhuān)門(mén)解決科學(xué)計(jì)算中各種標(biāo)準(zhǔn)問(wèn)題域的包的集合,包含的功能有最優(yōu)化、線(xiàn)性代數(shù)、積分、插值、擬合、特殊函數(shù)、快速傅里葉變換、信號(hào)處理和圖像處理、常微分方程求解和其他科學(xué)與工程中常用的計(jì)算等。SciPy庫(kù)依賴(lài)于NumPy,因此安裝之前需要先安裝NumPy。對(duì)數(shù)據(jù)進(jìn)行最小二乘擬合的示例代碼如下:FIVEPython工具importnumpyasnpfromscipy.optimizeimportleastsqX=np.array([8.3,2.4,6.9,8.7,4.7,2.6,3.8])Y=np.array([7.5,2.7,6.7,5.7,4.1,4.3,4.5])#計(jì)算以p為參數(shù)的直線(xiàn)和原始數(shù)據(jù)之間的誤差deff(p):

k,b=p

return(Y-(k*X+b))#leastsq使得f的輸出數(shù)組的平方和最小,參數(shù)初始值為[1,0]r=leastsq(f,[1,0])k,b=r[0]print("k=",k,"b=",b)3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介3.MatplotlibMatplotlib是強(qiáng)大的數(shù)據(jù)可視化工具,主要用于二維繪圖,能方便的做出線(xiàn)條圖、餅圖、柱狀圖以及其他專(zhuān)業(yè)圖形,也可以進(jìn)行簡(jiǎn)單的三維繪圖。它提供了繪制各類(lèi)可視化圖形的命令字庫(kù)、簡(jiǎn)單的接口,可以方便用戶(hù)輕松掌握?qǐng)D形的格式,繪制各類(lèi)可視化圖形。并且可以將圖形輸出為常見(jiàn)的矢量圖和圖形測(cè)試,如PDF、SVG、JPG、PNG、BMP和GIF等。Matplotlib繪制折線(xiàn)圖的示例代碼如下:FIVEPython工具importmatplotlib.pyplotaspltimportnumpyasnpx=np.arange(9)y=np.sin(x)z=np.cos(x)#marker數(shù)據(jù)點(diǎn)樣式,linewidth線(xiàn)寬,linestyle線(xiàn)型樣式,color顏色plt.plot(x,y,marker="*",linewidth=3,linestyle="--",color="orange")plt.plot(x,z)plt.title("matplotlib")plt.xlabel("height")plt.ylabel("width")#設(shè)置圖例plt.legend(["Y","Z"],loc="upperright")plt.grid(True)plt.show()3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介3.Matplotlib若在圖中使用了中文標(biāo)簽,則由于matplotlib默認(rèn)的是英文字體,需要在作圖之前指定默認(rèn)的字體為中文字體,如仿宋(FangSong),命令如下:plt.rcParams['font.sans-serif']=['FangSong']#指定默認(rèn)字體為仿宋若在圖中需要正確顯示負(fù)號(hào)“-”,可以進(jìn)行如下設(shè)置:plt.rcParams['axes.unicode_minus']=FalseFIVEPython工具3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介4.PandasPandas是Python中強(qiáng)大、靈活的數(shù)據(jù)分析和探索工具。它包含了Series、DataFrame等高級(jí)數(shù)據(jù)結(jié)構(gòu)和工具,安裝Pandas可使Python中處理數(shù)據(jù)變得快速和簡(jiǎn)單。Pandas建立在NumPy之上,使得NumPy應(yīng)用變得簡(jiǎn)單。Pandas最初被用作金融數(shù)據(jù)分析工具而開(kāi)發(fā)出來(lái),因此Pandas為時(shí)間序列分析提供了很好的支持。Pandas的功能非常強(qiáng)大,支持類(lèi)似SQL的數(shù)據(jù)增、刪、查、改,并且?guī)в胸S富的數(shù)據(jù)處理函數(shù);支持時(shí)間序列分析功能;支持靈活處理缺失數(shù)據(jù);等等。Pandas中的基本操作代碼如下所示:FIVEPython工具importpandasaspdse=pd.series([1,2,3],index=['a','b','c'])#創(chuàng)建一個(gè)序列df1=pd.DataFrame([[1,2,3,4],[5,6,7,8]],columns=['a','b','c','d'])#創(chuàng)建一個(gè)表df2=pd.DataFrame(se)#利用已有序列創(chuàng)建一個(gè)表df1.describe()#描述樣本的基本統(tǒng)計(jì)量#注意文件的路徑,存儲(chǔ)路徑不能帶有中文,否則讀取可能出錯(cuò)pd.read_excel('../temp/data.xls')#讀取excel文件,創(chuàng)建DataFrame3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介5.StatsModelsStatsmodels主要用于擬合多種統(tǒng)計(jì)模型、執(zhí)行統(tǒng)計(jì)測(cè)試以及數(shù)據(jù)探索和可視化。Statsmodels包含有線(xiàn)性模型、廣義線(xiàn)性模型和魯棒線(xiàn)性模型、線(xiàn)性混合效應(yīng)模型、方差分析(ANOVA)方法、時(shí)間序列過(guò)程和狀態(tài)空間模型、廣義的矩量法,等。Statsmodels支持與Pandas進(jìn)行數(shù)據(jù)交互,因此其與Pandas結(jié)合成為Python下強(qiáng)大的數(shù)據(jù)挖掘組合。線(xiàn)性方程擬合的示例代碼如下:FIVEPython工具importstatsmodels.apiassmimportnumpyasnpX=2*np.random.rand(100,1)#生產(chǎn)100個(gè)1維隨機(jī)數(shù)y=4+3*X+np.random.randn(100,1)#生成滿(mǎn)足y=4+3x的數(shù)據(jù),加入一些隨機(jī)值x1=sm.add_constant(X)#X是一維,通過(guò)一個(gè)簡(jiǎn)單的函數(shù),就可以增加一個(gè)值為1的特征向量,實(shí)現(xiàn)了X2=np.c_[np.ones((100,1)),X]models=sm.OLS(y,x1)rs=models.fit()print(rs.summary())3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介6.Scikit-LearnScikit-Learn是Python常用的機(jī)器學(xué)習(xí)工具庫(kù),它提供了完善的機(jī)器學(xué)習(xí)工具箱,包括數(shù)據(jù)預(yù)處理、分類(lèi)、回歸、聚類(lèi)、預(yù)測(cè)和模型分析等。此外,Scikit-Learn還有一些庫(kù),如:Nltk(用于自然語(yǔ)言處理)、Scrappy(用于網(wǎng)站數(shù)據(jù)抓?。?、Pattern(用于網(wǎng)絡(luò)挖掘)、Theano(用于深度學(xué)習(xí))等。Scikit-Learn依賴(lài)于NumPy、SciPy和Matplotlib等,因此,Scikit-Learn的安裝需要提前安裝NumPy、SciPyMatplotlib等模塊。利用Scikit-Learn自帶的鳶尾花數(shù)據(jù)集,進(jìn)行K最鄰近分類(lèi)的示例代碼如下:FIVEPython工具fromsklearn.model_selectionimporttrain_test_splitfromsklearnimportdatasets#導(dǎo)入k近鄰函數(shù)fromsklearn.neighborsimportKNeighborsClassifieriris=datasets.load_iris()#導(dǎo)入數(shù)據(jù)和標(biāo)簽iris_X=iris.datairis_y=iris.targetX_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)#劃分為訓(xùn)練集和測(cè)試集數(shù)據(jù)#設(shè)置knn分類(lèi)器knn=KNeighborsClassifier()#進(jìn)行訓(xùn)練knn.fit(X_train,y_train)#使用訓(xùn)練好的knn進(jìn)行數(shù)據(jù)預(yù)測(cè)print(knn.predict(X_test))print(y_test)3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介7.KerasKeras是一個(gè)高度模塊化的神經(jīng)網(wǎng)絡(luò)庫(kù)。利用該模塊可以搭建普通的神經(jīng)網(wǎng)絡(luò),也可以搭建各種深度學(xué)習(xí)模型,如語(yǔ)言處理、圖像識(shí)別、自編碼器、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸審計(jì)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等。Keras是基于Theano之上,依賴(lài)于Numpy和Scipy,因此在安裝之前需要先安裝Theano、Numpy和Scipy。Keras有兩種類(lèi)型的模型,序貫?zāi)P停⊿equential)和函數(shù)式模型(Model),函數(shù)式模型應(yīng)用更為廣泛,而序貫?zāi)P褪呛瘮?shù)式模型的一種特殊情況。(1)序貫?zāi)P停⊿equential):為單輸入單輸出,一條路通到底,層與層之間只有相鄰關(guān)系,沒(méi)有跨層連接。這種模型編譯速度快,操作也比較簡(jiǎn)單。(2)函數(shù)式模型(Model):為多輸入多輸出,層與層之間任意連接。這種模型編譯速度慢。FIVEPython工具3.5Python常用數(shù)據(jù)分析工具簡(jiǎn)介7.Keras搭建一個(gè)MLP(多層感知器)的示例代碼如下:fromkeras.modelsimportSequentialfromkeras.layers.coreimportDense,Dropout,Activationfromkeras.optimizersimportSGD#選擇模型,模型初始化model=Sequential()#構(gòu)建網(wǎng)絡(luò)層model.add(Dense(30,48)#添加輸入層20個(gè)節(jié)點(diǎn),第一隱藏層64個(gè)節(jié)點(diǎn)的連接model.add(Activation('tanh'))#第一隱藏層的激活函數(shù)采用tanhmodel.add(Dropout(0.5))#采用50%的dropout防止過(guò)擬合model.add(Dense(48,48))#添加第一隱藏層48個(gè)節(jié)點(diǎn)、第二隱藏層48個(gè)節(jié)點(diǎn)的連接model.add(Activation('tanh'))#第二隱藏層的激活函數(shù)采用tanhmodel.add(Dropout(0.5))#采用50

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論