當前位置:首頁 » 操作系統 » 數據挖掘演算法實例

數據挖掘演算法實例

發布時間: 2023-06-06 04:06:38

A. 數據挖掘演算法與生活中的應用案例

數據挖掘演算法與生活中的應用案例

如何分辨出垃圾郵件」、「如何判斷一筆交易是否屬於欺詐」、「如何判斷紅酒的品質和檔次」、「掃描王是如何做到文字識別的」、「如何判斷佚名的著作是否出自某位名家之手」、「如何判斷一個細胞是否屬於腫瘤細胞」等等,這些問題似乎都很專業,都不太好回答。但是,如果了解一點點數據挖掘的知識,你,或許會有柳暗花明的感覺。
本文,主要想簡單介紹下數據挖掘中的演算法,以及它包含的類型。然後,通過現實中觸手可及的、活生生的案例,去詮釋它的真實存在。 一般來說,數據挖掘的演算法包含四種類型,即分類、預測、聚類、關聯。前兩種屬於有監督學習,後兩種屬於無監督學習,屬於描述性的模式識別和發現。
有監督學習有監督的學習,即存在目標變數,需要探索特徵變數和目標變數之間的關系,在目標變數的監督下學習和優化演算法。例如,信用評分模型就是典型的有監督學習,目標變數為「是否違約」。演算法的目的在於研究特徵變數(人口統計、資產屬性等)和目標變數之間的關系。
分類演算法分類演算法和預測演算法的最大區別在於,前者的目標變數是分類離散型(例如,是否逾期、是否腫瘤細胞、是否垃圾郵件等),後者的目標變數是連續型。一般而言,具體的分類演算法包括,邏輯回歸、決策樹、KNN、貝葉斯判別、SVM、隨機森林、神經網路等。
預測演算法預測類演算法,其目標變數一般是連續型變數。常見的演算法,包括線性回歸、回歸樹、神經網路、SVM等。
無監督學習無監督學習,即不存在目標變數,基於數據本身,去識別變數之間內在的模式和特徵。例如關聯分析,通過數據發現項目A和項目B之間的關聯性。例如聚類分析,通過距離,將所有樣本劃分為幾個穩定可區分的群體。這些都是在沒有目標變數監督下的模式識別和分析。
聚類分析聚類的目的就是實現對樣本的細分,使得同組內的樣本特徵較為相似,不同組的樣本特徵差異較大。常見的聚類演算法包括kmeans、系譜聚類、密度聚類等。
關聯分析關聯分析的目的在於,找出項目(item)之間內在的聯系。常常是指購物籃分析,即消費者常常會同時購買哪些產品(例如游泳褲、防曬霜),從而有助於商家的捆綁銷售。
基於數據挖掘的案例和應用上文所提到的四種演算法類型(分類、預測、聚類、關聯),是比較傳統和常見的。還有其他一些比較有趣的演算法分類和應用場景,例如協同過濾、異常值分析、社會網路、文本分析等。下面,想針對不同的演算法類型,具體的介紹下數據挖掘在日常生活中真實的存在。下面是能想到的、幾個比較有趣的、和生活緊密關聯的例子。
基於分類模型的案例這裡面主要想介紹兩個案例,一個是垃圾郵件的分類和判斷,另外一個是在生物醫葯領域的應用,即腫瘤細胞的判斷和分辨。
垃圾郵件的判別郵箱系統如何分辨一封Email是否屬於垃圾郵件?這應該屬於文本挖掘的范疇,通常會採用樸素貝葉斯的方法進行判別。它的主要原理是,根據郵件正文中的單詞,是否經常出現在垃圾郵件中,進行判斷。例如,如果一份郵件的正文中包含「報銷」、「發票」、「促銷」等詞彙時,該郵件被判定為垃圾郵件的概率將會比較大。
一般來說,判斷郵件是否屬於垃圾郵件,應該包含以下幾個步驟。
第一,把郵件正文拆解成單片語合,假設某篇郵件包含100個單詞。
第二,根據貝葉斯條件概率,計算一封已經出現了這100個單詞的郵件,屬於垃圾郵件的概率和正常郵件的概率。如果結果表明,屬於垃圾郵件的概率大於正常郵件的概率。那麼該郵件就會被劃為垃圾郵件。
醫學上的腫瘤判斷如何判斷細胞是否屬於腫瘤細胞呢?腫瘤細胞和普通細胞,有差別。但是,需要非常有經驗的醫生,通過病理切片才能判斷。如果通過機器學習的方式,使得系統自動識別出腫瘤細胞。此時的效率,將會得到飛速的提升。並且,通過主觀(醫生)+客觀(模型)的方式識別腫瘤細胞,結果交叉驗證,結論可能更加靠譜。
如何操作?通過分類模型識別。簡言之,包含兩個步驟。首先,通過一系列指標刻畫細胞特徵,例如細胞的半徑、質地、周長、面積、光滑度、對稱性、凹凸性等等,構成細胞特徵的數據。其次,在細胞特徵寬表的基礎上,通過搭建分類模型進行腫瘤細胞的判斷。
基於預測模型的案例這裡面主要想介紹兩個案例。即通過化學特性判斷和預測紅酒的品質。另外一個是,通過搜索引擎來預測和判斷股價的波動和趨勢。
紅酒品質的判斷如何評鑒紅酒?有經驗的人會說,紅酒最重要的是口感。而口感的好壞,受很多因素的影響,例如年份、產地、氣候、釀造的工藝等等。但是,統計學家並沒有時間去品嘗各種各樣的紅酒,他們覺得通過一些化學屬性特徵就能夠很好地判斷紅酒的品質了。並且,現在很多釀酒企業其實也都這么幹了,通過監測紅酒中化學成分的含量,從而控制紅酒的品質和口感。
那麼,如何判斷鑒紅酒的品質呢?
第一步,收集很多紅酒樣本,整理檢測他們的化學特性,例如酸性、含糖量、氯化物含量、硫含量、酒精度、PH值、密度等等。
第二步,通過分類回歸樹模型進行預測和判斷紅酒的品質和等級。
搜索引擎的搜索量和股價波動一隻南美洲熱帶雨林中的蝴蝶,偶爾扇動了幾下翅膀,可以在兩周以後,引起美國德克薩斯州的一場龍卷風。你在互聯網上的搜索是否會影響公司股價的波動?
很早之前,就已經有文獻證明,互聯網關鍵詞的搜索量(例如流感)會比疾控中心提前1到2周預測出某地區流感的爆發。
同樣,現在也有些學者發現了這樣一種現象,即公司在互聯網中搜索量的變化,會顯著影響公司股價的波動和趨勢,即所謂的投資者注意力理論。該理論認為,公司在搜索引擎中的搜索量,代表了該股票被投資者關注的程度。因此,當一隻股票的搜索頻數增加時,說明投資者對該股票的關注度提升,從而使得該股票更容易被個人投資者購買,進一步地導致股票價格上升,帶來正向的股票收益。這是已經得到無數論文驗證了的。
基於關聯分析的案例:沃爾瑪的啤酒尿布啤酒尿布是一個非常非常古老陳舊的故事。故事是這樣的,沃爾瑪發現一個非常有趣的現象,即把尿布與啤酒這兩種風馬牛不相及的商品擺在一起,能夠大幅增加兩者的銷量。原因在於,美國的婦女通常在家照顧孩子,所以,她們常常會囑咐丈夫在下班回家的路上為孩子買尿布,而丈夫在買尿布的同時又會順手購買自己愛喝的啤酒。沃爾瑪從數據中發現了這種關聯性,因此,將這兩種商品並置,從而大大提高了關聯銷售。
啤酒尿布主要講的是產品之間的關聯性,如果大量的數據表明,消費者購買A商品的同時,也會順帶著購買B產品。那麼A和B之間存在關聯性。在超市中,常常會看到兩個商品的捆綁銷售,很有可能就是關聯分析的結果。
基於聚類分析的案例:零售客戶細分對客戶的細分,還是比較常見的。細分的功能,在於能夠有效的劃分出客戶群體,使得群體內部成員具有相似性,但是群體之間存在差異性。其目的在於識別不同的客戶群體,然後針對不同的客戶群體,精準地進行產品設計和推送,從而節約營銷成本,提高營銷效率。
例如,針對商業銀行中的零售客戶進行細分,基於零售客戶的特徵變數(人口特徵、資產特徵、負債特徵、結算特徵),計算客戶之間的距離。然後,按照距離的遠近,把相似的客戶聚集為一類,從而有效的細分客戶。將全體客戶劃分為諸如,理財偏好者、基金偏好者、活期偏好者、國債偏好者、風險均衡者、渠道偏好者等。
基於異常值分析的案例:支付中的交易欺詐偵測採用支付寶支付時,或者刷信用卡支付時,系統會實時判斷這筆刷卡行為是否屬於盜刷。通過判斷刷卡的時間、地點、商戶名稱、金額、頻率等要素進行判斷。這裡面基本的原理就是尋找異常值。如果您的刷卡被判定為異常,這筆交易可能會被終止。
異常值的判斷,應該是基於一個欺詐規則庫的。可能包含兩類規則,即事件類規則和模型類規則。第一,事件類規則,例如刷卡的時間是否異常(凌晨刷卡)、刷卡的地點是否異常(非經常所在地刷卡)、刷卡的商戶是否異常(被列入黑名單的套現商戶)、刷卡金額是否異常(是否偏離正常均值的三倍標准差)、刷卡頻次是否異常(高頻密集刷卡)。第二,模型類規則,則是通過演算法判定交易是否屬於欺詐。一般通過支付數據、賣家數據、結算數據,構建模型進行分類問題的判斷。
基於協同過濾的案例:電商猜你喜歡和推薦引擎電商中的猜你喜歡,應該是大家最為熟悉的。在京東商城或者亞馬遜購物,總會有「猜你喜歡」、「根據您的瀏覽歷史記錄精心為您推薦」、「購買此商品的顧客同時也購買了商品」、「瀏覽了該商品的顧客最終購買了商品」,這些都是推薦引擎運算的結果。
這裡面,確實很喜歡亞馬遜的推薦,通過「購買該商品的人同時購買了**商品」,常常會發現一些質量比較高、較為受認可的書。一般來說,電商的「猜你喜歡」(即推薦引擎)都是在協同過濾演算法(Collaborative Filter)的基礎上,搭建一套符合自身特點的規則庫。即該演算法會同時考慮其他顧客的選擇和行為,在此基礎上搭建產品相似性矩陣和用戶相似性矩陣。基於此,找出最相似的顧客或最關聯的產品,從而完成產品的推薦。
基於社會網路分析的案例:電信中的種子客戶種子客戶和社會網路,最早出現在電信領域的研究。即,通過人們的通話記錄,就可以勾勒出人們的關系網路。電信領域的網路,一般會分析客戶的影響力和客戶流失、產品擴散的關系。
基於通話記錄,可以構建客戶影響力指標體系。採用的指標,大概包括如下,一度人脈、二度人脈、三度人脈、平均通話頻次、平均通話量等。基於社會影響力,分析的結果表明,高影響力客戶的流失會導致關聯客戶的流失。其次,在產品的擴散上,選擇高影響力客戶作為傳播的起點,很容易推動新套餐的擴散和滲透。
此外,社會網路在銀行(擔保網路)、保險(團伙欺詐)、互聯網(社交互動)中也都有很多的應用和案例。
基於文本分析的案例這裡面主要想介紹兩個案例。一個是類似「掃描王」的APP,直接把紙質文檔掃描成電子文檔。相信很多人都用過,這里准備簡單介紹下原理。另外一個是,江湖上總是傳言紅樓夢的前八十回和後四十回,好像並非都是出自曹雪芹之手,這裡面准備從統計的角度聊聊。
字元識別:掃描王APP手機拍照時會自動識別人臉,還有一些APP,例如掃描王,可以掃描書本,然後把掃描的內容自動轉化為word。這些屬於圖像識別和字元識別(Optical Character Recognition)。圖像識別比較復雜,字元識別理解起來比較容易些。
查找了一些資料,字元識別的大概原理如下,以字元S為例。
第一,把字元圖像縮小到標准像素尺寸,例如12*16。注意,圖像是由像素構成,字元圖像主要包括黑、白兩種像素。
第二,提取字元的特徵向量。如何提取字元的特徵,採用二維直方圖投影。就是把字元(12*16的像素圖)往水平方向和垂直方向上投影。水平方向有12個維度,垂直方向有16個維度。這樣分別計算水平方向上各個像素行中黑色像素的累計數量、垂直方向各個像素列上的黑色像素的累計數量。從而得到水平方向12個維度的特徵向量取值,垂直方向上16個維度的特徵向量取值。這樣就構成了包含28個維度的字元特徵向量。
第三,基於前面的字元特徵向量,通過神經網路學習,從而識別字元和有效分類。
文學著作與統計:紅樓夢歸屬這是非常著名的一個爭論,懸而未決。對於紅樓夢的作者,通常認為前80回合是曹雪芹所著,後四十回合為高鶚所寫。其實主要問題,就是想確定,前80回合和後40回合是否在遣詞造句方面存在顯著差異。
這事讓一群統計學家比較興奮了。有些學者通過統計名詞、動詞、形容詞、副詞、虛詞出現的頻次,以及不同詞性之間的相關系做判斷。有些學者通過虛詞(例如之、其、或、亦、了、的、不、把、別、好),判斷前後文風的差異。有些學者通過場景(花卉、樹木、飲食、醫葯與詩詞)頻次的差異,來做統計判斷。總而言之,主要通過一些指標量化,然後比較指標之間是否存在顯著差異,藉此進行寫作風格的判斷。

以上是小編為大家分享的關於數據挖掘演算法與生活中的應用案例的相關內容,更多信息可以關注環球青藤分享更多干貨

B. 數據挖掘的經典演算法

1. C4.5:是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法。
2. K-means演算法:是一種聚類演算法。
3.SVM:一種監督式學習的方法,廣泛運用於統計分類以及回歸分析中
4.Apriori :是一種最有影響的挖掘布爾關聯規則頻繁項集的演算法。
5.EM:最大期望值法。
6.pagerank:是google演算法的重要內容。
7. Adaboost:是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器然後把弱分類器集合起來,構成一個更強的最終分類器。
8.KNN:是一個理論上比較成熟的的方法,也是最簡單的機器學習方法之一。
9.Naive Bayes:在眾多分類方法中,應用最廣泛的有決策樹模型和樸素貝葉斯(Naive Bayes)
10.Cart:分類與回歸樹,在分類樹下面有兩個關鍵的思想,第一個是關於遞歸地劃分自變數空間的想法,第二個是用驗證數據進行減枝。
關聯規則規則定義
在描述有關關聯規則的一些細節之前,我們先來看一個有趣的故事: 尿布與啤酒的故事。
在一家超市裡,有一個有趣的現象:尿布和啤酒赫然擺在一起出售。但是這個奇怪的舉措卻使尿布和啤酒的銷量雙雙增加了。這不是一個笑話,而是發生在美國沃爾瑪連鎖店超市的真實案例,並一直為商家所津津樂道。沃爾瑪擁有世界上最大的數據倉庫系統,為了能夠准確了解顧客在其門店的購買習慣,沃爾瑪對其顧客的購物行為進行購物籃分析,想知道顧客經常一起購買的商品有哪些。沃爾瑪數據倉庫里集中了其各門店的詳細原始交易數據。在這些原始交易數據的基礎上,沃爾瑪利用數據挖掘方法對這些數據進行分析和挖掘。一個意外的發現是:跟尿布一起購買最多的商品竟是啤酒!經過大量實際調查和分析,揭示了一個隱藏在尿布與啤酒背後的美國人的一種行為模式:在美國,一些年輕的父親下班後經常要到超市去買嬰兒尿布,而他們中有30%~40%的人同時也為自己買一些啤酒。產生這一現象的原因是:美國的太太們常叮囑她們的丈夫下班後為小孩買尿布,而丈夫們在買尿布後又隨手帶回了他們喜歡的啤酒。
按常規思維,尿布與啤酒風馬牛不相及,若不是藉助數據挖掘技術對大量交易數據進行挖掘分析,沃爾瑪是不可能發現數據內在這一有價值的規律的。
數據關聯是資料庫中存在的一類重要的可被發現的知識。若兩個或多個變數的取值之間存在某種規律性,就稱為關聯。關聯可分為簡單關聯、時序關聯、因果關聯。關聯分析的目的是找出資料庫中隱藏的關聯網。有時並不知道資料庫中數據的關聯函數,即使知道也是不確定的,因此關聯分析生成的規則帶有可信度。關聯規則挖掘發現大量數據中項集之間有趣的關聯或相關聯系。Agrawal等於1993年首先提出了挖掘顧客交易資料庫中項集間的關聯規則問題,以後諸多的研究人員對關聯規則的挖掘問題進行了大量的研究。他們的工作包括對原有的演算法進行優化,如引入隨機采樣、並行的思想等,以提高演算法挖掘規則的效率;對關聯規則的應用進行推廣。關聯規則挖掘在數據挖掘中是一個重要的課題,最近幾年已被業界所廣泛研究。

C. 數據挖掘的十大經典演算法,總算是講清楚了,想提升自己的趕快收藏

一個優秀的數據分析師,除了要掌握基本的統計學、數據分析思維、數據分析工具之外,還需要掌握基本的數據挖掘思想,幫助我們挖掘出有價值的數據,這也是數據分析專家和一般數據分析師的差距所在。

國際權威的學術組織the IEEE International Conference on Data Mining (ICDM) 評選出了數據挖掘領域的十大經典演算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.

不僅僅是選中的十大演算法,其實參加評選的18種演算法,實際上隨便拿出一種來都可以稱得上是經典演算法,它們在數據挖掘領域都產生了極為深遠的影響。今天主要分享其中10種經典演算法,內容較干,建議收藏備用學習。

1. C4.5

C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進:

1) 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;

2) 在樹構造過程中進行剪枝;

3) 能夠完成對連續屬性的離散化處理;

4) 能夠對不完整數據進行處理。

C4.5演算法有如下優點:產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致演算法的低效(相對的CART演算法只需要掃描兩次數據集,以下僅為決策樹優缺點)。

2. The k-means algorithm 即K-Means演算法

k-means algorithm演算法是一個聚類演算法,把n的對象根據他們的屬性分為k個分割,k < n。它與處理混合正態分布的最大期望演算法很相似,因為他們都試圖找到數據中自然聚類的中心。它假設對象屬性來自於空間向量,並且目標是使各個群組內部的均 方誤差總和最小。

3. Support vector machines

支持向量機,英文為Support Vector Machine,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,它廣泛的應用於統計分類以及回歸分析中。支持向量機將向量映射到一個更 高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類器的總誤差越小。一個極好的指南是C.J.C Burges的《模式識別支持向量機指南》。van der Walt 和 Barnard 將支持向量機和其他分類器進行了比較。

4. The Apriori algorithm

Apriori演算法是一種最有影響的挖掘布爾關聯規則頻繁項集的演算法。其核心是基於兩階段頻集思想的遞推演算法。該關聯規則在分類上屬於單維、單層、布爾關聯規則。在這里,所有支持度大於最小支持度的項集稱為頻繁項集,簡稱頻集。

5. 最大期望(EM)演算法

在統計計算中,最大期望(EM,Expectation–Maximization)演算法是在概率(probabilistic)模型中尋找參數最大似然 估計的演算法,其中概率模型依賴於無法觀測的隱藏變數(Latent Variabl)。最大期望經常用在機器學習和計算機視覺的數據集聚(Data Clustering)領域。

6. PageRank

PageRank是Google演算法的重要內容。2001年9月被授予美國專利,專利人是Google創始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指網頁,而是指佩奇,即這個等級方法是以佩奇來命名的。

PageRank根據網站的外部鏈接和內部鏈接的數量和質量倆衡量網站的價值。PageRank背後的概念是,每個到頁面的鏈接都是對該頁面的一次投票, 被鏈接的越多,就意味著被其他網站投票越多。這個就是所謂的「鏈接流行度」——衡量多少人願意將他們的網站和你的網站掛鉤。PageRank這個概念引自 學術中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。

7. AdaBoost

Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器 (強分類器)。其演算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權 值。將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。

8. kNN: k-nearest neighbor classification

K最近鄰(k-Nearest Neighbor,KNN)分類演算法,是一個理論上比較成熟的方法,也是最簡單的機器學習演算法之一。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。

9. Naive Bayes

在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型(Decision Tree Model)和樸素貝葉斯模型(Naive Bayesian Model,NBC)。 樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。

同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,演算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。 但是實際上並非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。在屬 性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的性能最為良好。

10. CART: 分類與回歸樹

CART, Classification and Regression Trees。 在分類樹下面有兩個關鍵的思想。第一個是關於遞歸地劃分自變數空間的想法(二元切分法);第二個想法是用驗證數據進行剪枝(預剪枝、後剪枝)。在回歸樹的基礎上的模型樹構建難度可能增加了,但同時其分類效果也有提升。

參考書籍:《機器學習實戰》

D. 數據挖掘中的經典演算法

大家都知道,數據挖掘中有很多的演算法,不同的演算法有著不同的優勢,它們在數據挖掘領域都產生了極為深遠的影響。那麼大家知道不知知道數據挖掘中的經典演算法都有哪些呢?在這篇文章中我們就給大家介紹數據挖掘中三個經典的演算法,希望這篇文章能夠更好的幫助大家。
1.K-Means演算法
K-means algorithm演算法是一個聚類演算法,把n的對象根據他們的屬性分為k個分割,k大於n。它與處理混合正態分布的最大期望演算法很相似,因為他們都試圖找到數據中自然聚類的中心。它假設對象屬性來自於空間向量,並且目標是使各個群組內部的均方誤差總和最小。這種演算法在數據挖掘中是十分常見的演算法。
2.支持向量機
而Support vector machines就是支持向量機,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,這種方法廣泛的應用於統計分類以及回歸分析中。支持向量機將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類器的總誤差越小。這些優點也就成就了這種演算法。

3.C4.5演算法
然後我們給大家說一下C4.5演算法,C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並對ID3演算法進行了改進,這種改進具體體現在四個方面,第一就是在樹構造過程中進行剪枝,第二就是能夠完成對連續屬性的離散化處理,第三就是用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足,第四就是能夠對不完整數據進行處理。那麼這種演算法的優點是什麼呢?優點就是產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致演算法的低效。
相信大家看了這篇文章以後對The k-means algorithm演算法、Support vector machines、C4.5演算法有了比較是深刻的了解,其實這三種演算法那都是十分重要的演算法,能夠幫助數據挖掘解決更多的問題。大家在學習數據挖掘的時候一定要注意好這些問題。

E. 數據挖掘演算法有哪些

問題一:常用的數據挖掘演算法有哪幾類? 10分 有十大經典演算法: 我是看譚磊的那本書學的。。。
下面是網站給出的答案:
1. C4.5
C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進:
1) 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;
2) 在樹構造過程中進行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整數據進行處理。
C4.5演算法有如下優點:產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致演算法的低效。

2. The k-means algorithm 即K-Means演算法
k-means algorithm演算法是一個聚類演算法,把n的對象根據他們的屬性分為k個分割,k >

問題二:數據挖掘中的預測演算法有哪些 數據挖掘(六):預測
blog.csdn/...977837

問題三:用於數據挖掘的分類演算法有哪些,各有何優劣 樸素貝葉斯(Naive Bayes, NB)
超級簡單,就像做一些數數的工作。如果條件獨立假設成立的話,NB將比鑒別模型(如Logistic回歸)收斂的更快,所以你只需要少量的訓練數據。即使條件獨立假設不成立,NB在實際中仍然表現出驚人的好。如果你想做類似半監督學習,或者是既要模型簡單又要性能好,NB值得嘗試。
Logistic回歸(Logistic Regression, LR)
LR有很多方法來對模型正則化。比起NB的條件獨立性假設,LR不需要考慮樣本是否是相關的。與決策樹與支持向量機(SVM)不同,NB有很好的概率解釋,且很容易利用新的訓練數據來更新模型(使用在線梯度下降法)。如果你想要一些概率信息(如,為了更容易的調整分類閾值,得到分類的不確定性,得到置信區間),或者希望將來有更多數據時能方便的更新改進模型,LR是值得使用的。
決策樹(Decision Tree, DT)
DT容易理解與解釋(對某些人而言――不確定我是否也在他們其中)。DT是非參數的,所以你不需要擔心野點(或離群點)和數據是否線性可分的問題(例如,DT可以輕松的處理這種情況:屬於A類的樣本的特徵x取值往往非常小或者非常大,而屬於B類的樣本的特徵轎伍x取值在中間范圍)。DT的主要缺點是容易過擬合,這也正是隨機森林(Random Forest, RF)(或者Boosted樹)等集成學習演算法被提出來的原因。此外,RF在很多分類問題中經常表現得最好(我個人相信一般比SVM稍好),且速度快可擴展,也不像SVM那樣需要調整大量的參數,所以最近RF是一個非常流行的演算法。
支持向量機(Support Vector Machine, SVM)
很高的分類正確率,對過擬合有很好的理論保證,選取合適的核函數,面對特徵線性不可分的問題也可以表現得很好。SVM在維數通常很高的文本分類中非常的流行。由於較大的內存需求和搏帆瞎繁瑣的調參,我認為RF已經開始威脅其地位了。
回到LR與DT的問題(我更傾向是LR與RF的問題),做個簡單的總結:兩種方法都很快且可擴展。在正確率方面,RF比LR更優。但是LR可以在線更新且提供有用的概率信息。鑒於你在Square(不確定推斷科學家是什麼,應該不是有趣的化身),可能從事欺詐檢測:如果你想快速的調整閾值來改變假陽性率與假陰性率,分類結果中包含概率信息將很有幫助。無論你選擇什麼演算法,如果你的各類樣本數量是不基空均衡的(在欺詐檢測中經常發生),你需要重新采樣各類數據或者調整你的誤差度量方法來使各類更均衡。

問題四:數據挖掘與演算法是什麼關系? data mining:數據挖掘一般是指從大量的數據中自動搜索隱藏於其中的有著特殊關系性(屬於Association rule learning)的信息的過程。reference:數據挖掘2.聚類和分類:關於這些,我相信再好的演算法,都會有一定的准確度,我沒有說這些東西不重要。3.如果你的數據量足夠大,舉個例子說明吧,數據挖掘是這樣做的,你要判斷什麼樣的蘋果是甜的,應該這樣做,去超市買蘋果,總結甜蘋果的特徵 A B ,第二次你也去買蘋果,就選具備這些特徵值的。存的的問題有可能買到的蘋果還不是甜的,可能原因是要同時包含特徵C。但是如果你數據量足夠大,足夠大,你要買的蘋果直接能夠找到,一模一樣的蘋果,是不是甜的,都已經知道啦,直接取出來不就好了嗎?前提是數據你想要什麼有什麼。@黃宇恆@肖智博@葛少華@余天升

問題五:數據挖掘的方法有哪些? 利用數據挖掘進行數據分析常用的方法主要有分類、回歸分析、聚類、關聯規則、特徵、變化和偏差分析、Web頁挖掘等, 它們分別從不同的角度對數據進行挖掘。1、分類分類是找出資料庫中一組數據對象的共同特點並按照分類模式將其劃分為不同的類,其目的是通過分類模型,將資料庫中的數據項映射到某個給定的類別。它可以應用到客戶的分類、客戶的屬性和特徵分析、客戶滿意度分析、客戶的購買趨勢預測等,如一個汽車零售商將客戶按照對汽車的喜好劃分成不同的類,這樣營銷人員就可以將新型汽車的廣告手冊直接郵寄到有這種喜好的客戶手中,從而大大增加了商業機會。2、回歸分析回歸分析方法反映的是事務資料庫中屬性值在時間上的特徵,產生一個將數據項映射到一個實值預測變數的函數,發現變數或屬性間的依賴關系,其主要研究問題包括數據序列的趨勢特徵、數據序列的預測以及數據間的相關關系等。它可以應用到市場營銷的各個方面,如客戶尋求、保持和預防客戶流失活動、產品生命周期分析、銷售趨勢預測及有針對性的促銷活動等。3、聚類聚類分析是把一組數據按照相似性和差異性分為幾個類別,其目的是使得屬於同一類別的數據間的相似性盡可能大,不同類別中的數據間的相似性盡可能小。它可以應用到客戶群體的分丹、客戶背景分析、客戶購買趨勢預測、市場的細分等。4、關聯規則關聯規則是描述資料庫中數據項之間所存在的關系的規則,即根據一個事務中某些項的出現可導出另一些項在同一事務中也出現,即隱藏在數據間的關聯或相互關系。在客戶關系管理中,通過對企業的客戶資料庫里的大量數據進行挖掘,可以從大量的記錄中發現有趣的關聯關系,找出影響市場營銷效果的關鍵因素,為產品定位、定價與定製客戶群,客戶尋求、細分與保持,市場營銷與推銷,營銷風險評估和詐騙預測等決策支持提供參考依據。5、特徵特徵分析是從資料庫中的一組數據中提取出關於這些數據的特徵式,這些特徵式表達了該數據集的總體特徵。如營銷人員通過對客戶流失因素的特徵提取,可以得到導致客戶流失的一系列原因和主要特徵,利用這些特徵可以有效地預防客戶的流失。6、變化和偏差分析偏差包括很大一類潛在有趣的知識,如分類中的反常實例,模式的例外,觀察結果對期望的偏差等,其目的是尋找觀察結果與參照量之間有意義的差別。在企業危機管理及其預警中,管理者更感興趣的是那些意外規則。意外規則的挖掘可以應用到各種異常信息的發現、分析、識別、評價和預警等方面。7、Web頁挖掘隨著Internet的迅速發展及Web 的全球普及, 使得Web上的信息量無比豐富,通過對Web的挖掘,可以利用Web 的海量數據進行分析,收集政治、經濟、政策、科技、金融、各種市場、競爭對手、供求信息、客戶等有關的信息,集中精力分析和處理那些對企業有重大或潛在重大影響的外部環境信息和內部經營信息,並根據分析結果找出企業管理過程中出現的各種問題和可能引起危機的先兆,對這些信息進行分析和處理,以便識別、分析、評價和管理危機。

問題六:數據挖掘中常見的分類方法有哪些 判別分析、規則歸納、決策樹、神經網路、K最近鄰、基於案例的推理、遺傳演算法等等挺多的,這個問題范圍太大了,雲速數據挖掘分類挺多。

問題七:數據挖掘的方法有哪些 利用數據挖掘進行數據分析常用的方法主要有分類、回歸分析、聚類、關聯規則、特徵、變化和偏差分析、Web頁挖掘等, 它們分別從不同的角度對數據進行挖掘。
1、分類
分類是找出資料庫中一組數據對象的共同特點並按照分類模式將其劃分為不同的類,其目的是通過分類模型,將資料庫中的數據項映射到某個給定的類別。它可以應用到客戶的分類、客戶的屬性和特徵分析、客戶滿意度分析、客戶的購買趨勢預測等,如一個汽車零售商將客戶按照對汽車的喜好劃分成不同的類,這樣營銷人員就可以將新型汽車的廣告手冊直接郵寄到有這種喜好的客戶手中,從而大大增加了商業機會。
2、回歸分析
回歸分析方法反映的是事務資料庫中屬性值在時間上的特徵,產生一個將數據項映射到一個實值預測變數的函數,發現變數或屬性間的依賴關系,其主要研究問題包括數據序列的趨勢特徵、數據序列的預測以及數據間的相關關系等。它可以應用到市場營銷的各個方面,如客戶尋求、保持和預防客戶流失活動、產品生命周期分析、銷售趨勢預測及有針對性的促銷活動等。
3、聚類
聚類分析是把一組數據按照相似性和差異性分為幾個類別,其目的是使得屬於同一類別的數據間的相似性盡可能大,不同類別中的數據間的相似性盡可能小。它可以應用到客戶群體的分類、客戶背景分析、客戶購買趨勢預測、市場的細分等。
4、關聯規則
關聯規則是描述資料庫中數據項之間所存在的關系的規則,即根據一個事務中某些項的出現可導出另一些項在同一事務中也出現,即隱藏在數據間的關聯或相互關系。在客戶關系管理中,通過對企業的客戶資料庫里的大量數據進行挖掘,可以從大量的記錄中發現有趣的關聯關系,找出影響市場營銷效果的關鍵因素,為產品定位、定價與定製客戶群,客戶尋求、細分與保持,市場營銷與推銷,營銷風險評估和詐騙預測等決策支持提供參考依據。
5、特徵
特徵分析是從資料庫中的一組數據中提取出關於這些數據的特徵式,這些特徵式表達了該數據集的總體特徵。如營銷人員通過對客戶流失因素的特徵提取,可以得到導致客戶流失的一系列原因和主要特徵,利用這些特徵可以有效地預防客戶的流失。
6、變化和偏差分析
偏差包括很大一類潛在有趣的知識,如分類中的反常實例,模式的例外,觀察結果對期望的偏差等,其目的是尋找觀察結果與參照量之間有意義的差別。在企業危機管理及其預警中,管理者更感興趣的是那些意外規則。意外規則的挖掘可以應用到各種異常信息的發現、分析、識別、評價和預警等方面。
7、Web頁挖掘
隨著Internet的迅速發展及Web 的全球普及, 使得Web上的信息量無比豐富,通過對Web的挖掘,可以利用Web 的海量數據進行分析,收集政治、經濟、政策、科技、金融、各種市場、競爭對手、供求信息、客戶等有關的信息,集中精力分析和處理那些對企業有重大或潛在重大影響的外部環境信息和內部經營信息,並根據分析結果找出企業管理過程中出現的各種問題和可能引起危機的先兆,對這些信息進行分析和處理,以便識別、分析、評價和管理危機。

問題八:用於數據挖掘的分類演算法有哪些,各有何 數據挖掘可以看看【雲速數據挖掘】,全中文界面,只要設置好挖掘的熟悉,什麼信息都能挖掘到

問題九:大數據挖掘常用的方法有哪些 在大數據時代,數據挖掘是最關鍵的工作。大數據的挖掘是從海量、不完全的、有雜訊的、模糊的、隨機的大型資料庫中發現隱含在其中有價值的、潛在有用的信息和知識的過程,也是一種決策支持過程。其主要基於人工智慧,機器學習,模式學習,統計學等。通過對大數據高度自動化地分析,做出歸納性的推理,從中挖掘出潛在的模式,可以幫助企業、商家、用戶調整市場政策、減少風險、理性面對市場,並做出正確的決策。目前,在很多領域尤其是在商業領域如銀行、電信、電商等,數據挖掘可以解決很多問題,包括市場營銷策略制定、背景分析、企業管理危機等。大數據的挖掘常用的方法有分類、回歸分析、聚類、關聯規則、神經網路方法、Web 數據挖掘等。這些方法從不同的角度對數據進行挖掘。
(1)分類。分類是找出資料庫中的一組數據對象的共同特點並按照分類模式將其劃分為不同的類,其目的是通過分類模型,將資料庫中的數據項映射到摸個給定的類別中。可以應用到涉及到應用分類、趨勢預測中,如淘寶商鋪將用戶在一段時間內的購買情況劃分成不同的類,根據情況向用戶推薦關聯類的商品,從而增加商鋪的銷售量。
(2)回歸分析。回歸分析反映了資料庫中數據的屬性值的特性,通過函數表達數據映射的關系來發現屬性值之間的依賴關系。它可以應用到對數據序列的預測及相關關系的研究中去。在市場營銷中,回歸分析可以被應用到各個方面。如通過對本季度銷售的回歸分析,對下一季度的銷售趨勢作出預測並做出針對性的營銷改變。
(3)聚類。聚類類似於分類,但與分類的目的不同,是針對數據的相似性和差異性將一組數據分為幾個類別。屬於同一類別的數據間的相似性很大,但不同類別之間數據的相似性很小,跨類的數據關聯性很低。
(4)關聯規則。關聯規則是隱藏在數據項之間的關聯或相互關系,即可以根據一個數據項的出現推導出其他數據項的出現。關聯規則的挖掘過程主要包括兩個階段:第一階段為從海量原始數據中找出所有的高頻項目組;第二極端為從這些高頻項目組產生關聯規則。關聯規則挖掘技術已經被廣泛應用於金融行業企業中用以預測客戶的需求,各銀行在自己的ATM 機上通過捆綁客戶可能感興趣的信息供用戶了解並獲取相應信息來改善自身的營銷。
(5)神經網路方法。神經網路作為一種先進的人工智慧技術,因其自身自行處理、分布存儲和高度容錯等特性非常適合處理非線性的以及那些以模糊、不完整、不嚴密的知識或數據為特徵的處理問題,它的這一特點十分適合解決數據挖掘的問題。典型的神經網路模型主要分為三大類:第一類是以用於分類預測和模式識別的前饋式神經網路模型,其主要代表為函數型網路、感知機;第二類是用於聯想記憶和優化演算法的反饋式神經網路模型,以Hopfield 的離散模型和連續模型為代表。第三類是用於聚類的自組織映射方法,以ART 模型為代表。雖然神經網路有多種模型及演算法,但在特定領域的數據挖掘中使用何種模型及演算法並沒有統一的規則,而且人們很難理解網路的學習及決策過程。
(6)Web數據挖掘。Web數據挖掘是一項綜合性技術,指Web 從文檔結構和使用的 *** C 中發現隱含的模式P,如果將C看做是輸入,P 看做是輸出,那麼Web 挖掘過程就可以看做是從輸入到輸出的一個映射過程。
當前越來越多的Web 數據都是以數據流的形式出現的,因此對Web 數據流挖掘就具有很重要的意義。目前常用的Web數據挖掘演算法有:PageRank演算法,HITS演算法以及LOGSOM 演算法。這三種演算法提到的用戶都是籠統的用戶,並沒有區分用戶的個體。目前Web 數據挖掘面臨著一些問題,包括:用戶的分類問題、網站內容時效性問題,用戶在頁面......>>

F. 帶你了解數據挖掘中的經典演算法

數據挖掘的演算法有很多,而不同的演算法有著不同的優點,同時也發揮著不同的作用。可以這么說,演算法在數據挖掘中做出了極大的貢獻,如果我們要了解數據挖掘的話就不得不了解這些演算法,下面我們就繼續給大家介紹一下有關數據挖掘的演算法知識。
1.The Apriori algorithm,
Apriori演算法是一種最有影響的挖掘布爾關聯規則頻繁項集的演算法。其核心是基於兩階段頻集思想的遞推演算法。該關聯規則在分類上屬於單維、單層、布爾關聯規則。在這里,所有支持度大於最小支持度的項集稱為頻繁項集,簡稱頻集。這個演算法是比較復雜的,但也是十分實用的。
2.最大期望演算法
在統計計算中,最大期望演算法是在概率模型中尋找參數最大似然估計的演算法,其中概率模型依賴於無法觀測的隱藏變數。最大期望經常用在機器學習和計算機視覺的數據集聚領域。而最大期望演算法在數據挖掘以及統計中都是十分常見的。
3.PageRank演算法
PageRank是Google演算法的重要內容。PageRank里的page不是指網頁,而是創始人的名字,即這個等級方法是以佩奇來命名的。PageRank根據網站的外部鏈接和內部鏈接的數量和質量倆衡量網站的價值。PageRank背後的概念是,每個到頁面的鏈接都是對該頁面的一次投票,被鏈接的越多,就意味著被其他網站投票越多。這個就是所謂的「鏈接流行度」,這個標准就是衡量多少人願意將他們的網站和你的網站掛鉤。PageRank這個概念引自學術中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。
3.AdaBoost演算法
Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器,然後把這些弱分類器集合起來,構成一個更強的最終分類器。其演算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。這種演算法給數據挖掘工作解決了不少的問題。
數據挖掘演算法有很多,這篇文章中我們給大家介紹的演算法都是十分經典的演算法,相信大家一定可以從中得到有價值的信息。需要告訴大家的是,我們在進行數據挖掘工作之前一定要事先掌握好數據挖掘需呀掌握的各類演算法,這樣我們才能在工總中得心應手,如果基礎不牢固,那麼我們遲早是會被淘汰的。職場如戰場,我們一定要全力以赴。

G. 數據挖掘十大經典演算法之EM

EM(Expectation-Maximum)演算法也稱期望最大化演算法,它是最常見的隱變數估計方法,在機器學習中有極為廣泛的用途,例如常被用來學習高斯混合模型(Gaussian mixture model,簡稱GMM)的參數;隱式馬爾科夫演算法(HMM)、LDA主題模型的變分推斷等等。

EM演算法是一種迭代優化策略,由於它的計算方法中每一次迭代都分兩步,其中一個為期望步(E步),另一個為極大步(M步),一輪輪迭代更新隱含數據和模型分布參數,直到收斂,即得到我們需要的模型參數。

1. EM演算法推導過程

補充知識:Jensen不等式:

如果f是凸函數,函數的期望 大於等於 期望的函數。當且僅當下式中X是常量時,該式取等號。(應用於凹函數時,不等號方向相反)

2. EM演算法流程

3. EM演算法的其他問題

上面介紹的傳統EM演算法對初始值敏感,聚類結果隨不同的初始值而波動較大。總的來說,EM演算法收斂的優劣很大程度上取決於其初始參數。

EM演算法可以保證收斂到一個穩定點,即EM演算法是一定收斂的。

EM演算法可以保證收斂到一個穩定點,但是卻不能保證收斂到全局的極大值點,因此它是局部最優的演算法,當然,如果我們的優化目標是凸的,則EM演算法可以保證收斂到全局最大值,這點和梯度下降法這樣的迭代演算法相同。

EM演算法的簡單實例: https://zhuanlan.hu.com/p/40991784

參考:

https://zhuanlan.hu.com/p/40991784

https://blog.csdn.net/u011067360/article/details/24368085

H. 數據挖掘十大經典演算法(1)——樸素貝葉斯(Naive Bayes)

在此推出一個演算法系列的科普文章。我們大家在平時埋頭工程類工作之餘,也可以抽身對一些常見演算法進行了解,這不僅可以幫助我們拓寬思路,從另一個維度加深對計算機技術領域的理解,做到觸類旁通,同時也可以讓我們搞清楚一些既熟悉又陌生的領域——比如數據挖掘、大數據、機器學習——的基本原理,揭開它們的神秘面紗,了解到其實很多看似高深的領域,其實背後依據的基礎和原理也並不復雜。而且,掌握各類演算法的特點、優劣和適用場景,是真正從事數據挖掘工作的重中之重。只有熟悉演算法,才可能對紛繁復雜的現實問題合理建模,達到最佳預期效果。

本系列文章的目的是力求用最干練而生動的講述方式,為大家講解由國際權威的學術組織the IEEE International Conference on Data Mining (ICDM) 於2006年12月評選出的數據挖掘領域的十大經典演算法。它們包括:

本文作為本系列的第一篇,在介紹具體演算法之前,先簡單為大家鋪墊幾個數據挖掘領域的常見概念:

在數據挖掘領域,按照演算法本身的行為模式和使用目的,主要可以分為分類(classification),聚類(clustering)和回歸(regression)幾種,其中:

打幾個不恰當的比方

另外,還有一個經常有人問起的問題,就是 數據挖掘 機器學習 這兩個概念的區別,這里一句話闡明我自己的認識:機器學習是基礎,數據挖掘是應用。機器學習研製出各種各樣的演算法,數據挖掘根據應用場景把這些演算法合理運用起來,目的是達到最好的挖掘效果。

當然,以上的簡單總結一定不夠准確和嚴謹,更多的是為了方便大家理解打的比方。如果大家有更精當的理解,歡迎補充和交流。

好了,鋪墊了這么多,現在終於進入正題!
作為本系列入門的第一篇,先為大家介紹一個容易理解又很有趣的演算法—— 樸素貝葉斯

先站好隊,樸素貝葉斯是一個典型的 有監督的分類演算法

光從名字也可以想到,要想了解樸素貝葉斯,先要從 貝葉斯定理 說起。
貝葉斯定理是我們高中時代學過的一條概率學基礎定理,它描述了條件概率的計算方式。不要怕已經把這些知識還給了體育老師,相信你一看公式就能想起來。

P(A|B)表示事件B已經發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。其基本求解公式為:

其中,P(AB)表示A和B同時發生的概率,P(B)標識B事件本身的概率。

貝葉斯定理之所以有用,是因為我們在生活中經常遇到這種情況:我們可以很容易直接得出P(A|B),P(B|A)則很難直接得出,但我們更關心P(B|A)。

而貝葉斯定理就為我們打通從P(A|B)獲得P(B|A)的道路。
下面不加證明地直接給出貝葉斯定理:

有了貝葉斯定理這個基礎,下面來看看樸素貝葉斯演算法的基本思路。

你看,其思想就是這么的樸素。那麼,屬於每個分類的概率該怎麼計算呢?下面我們先祭出形式化語言!

那麼現在的關鍵就是如何計算第3步中的各個條件概率。我們可以這么做:

因為分母對於所有類別為常數,因為我們只要將分子最大化皆可。又因為各特徵屬性是條件獨立的,所以有:

如果你也跟我一樣,對形式化語言有嚴重生理反應,不要怕,直接跳過前面這一坨,我們通過一個鮮活的例子,用人類的語言再解釋一遍這個過程。

某個醫院早上收了六個門診病人,如下表。

現在又來了第七個病人,是一個打噴嚏的建築工人。請問他最有可能患有何種疾病?

本質上,這就是一個典型的分類問題, 症狀 職業 是特徵屬性, 疾病種類 是目標類別

根據 貝葉斯定理

可得

假定"打噴嚏"和"建築工人"這兩個特徵是獨立的,因此,上面的等式就變成了

這是可以計算的。

因此,這個打噴嚏的建築工人,有66%的概率是得了感冒。同理,可以計算這個病人患上過敏或腦震盪的概率。比較這幾個概率,就可以知道他最可能得什麼病。

接下來,我們再舉一個樸素貝葉斯演算法在實際中經常被使用的場景的例子—— 文本分類器 ,通常會用來識別垃圾郵件。
首先,我們可以把一封郵件的內容抽象為由若干關鍵片語成的集合,這樣是否包含每種關鍵詞就成了一封郵件的特徵值,而目標類別就是 屬於垃圾郵件 不屬於垃圾郵件

假設每個關鍵詞在一封郵件里出現與否的概率相互之間是獨立的,那麼只要我們有若干已經標記為垃圾郵件和非垃圾郵件的樣本作為訓練集,那麼就可以得出,在全部垃圾郵件(記為Trash)出現某個關鍵詞Wi的概率,即 P(Wi|Trash)

而我們最重要回答的問題是,給定一封郵件內容M,它屬於垃圾郵件的概率是多大,即 P(Trash|M)

根據貝葉斯定理,有

我們先來看分子:
P(M|Trash) 可以理解為在垃圾郵件這個范疇中遇見郵件M的概率,而一封郵件M是由若干單詞Wi獨立匯聚組成的,只要我們所掌握的單詞樣本足夠多,因此就可以得到

這些值我們之前已經可以得到了。

再來看分子里的另一部分 P(Trash) ,這個值也就是垃圾郵件的總體概率,這個值顯然很容易得到,用訓練集中垃圾郵件數除以總數即可。

而對於分母來說,我們雖然也可以去計算它,但實際上已經沒有必要了,因為我們要比較的 P(Trash|M) 和 P(non-Trash|M) 的分母都是一樣的,因此只需要比較分子大小即可。

這樣一來,我們就可以通過簡單的計算,比較郵件M屬於垃圾還是非垃圾二者誰的概率更大了。

樸素貝葉斯的英文叫做 Naive Bayes ,直譯過來其實是 天真的貝葉斯 ,那麼他到底天真在哪了呢?

這主要是因為樸素貝葉斯的基本假設是所有特徵值之間都是相互獨立的,這才使得概率直接相乘這種簡單計算方式得以實現。然而在現實生活中,各個特徵值之間往往存在一些關聯,比如上面的例子,一篇文章中不同單詞之間一定是有關聯的,比如有些詞總是容易同時出現。

因此,在經典樸素貝葉斯的基礎上,還有更為靈活的建模方式—— 貝葉斯網路(Bayesian Belief Networks, BBN) ,可以單獨指定特徵值之間的是否獨立。這里就不展開了,有興趣的同學們可以做進一步了解。

最後我們來對這個經典演算法做個點評:

優點:

缺點:

好了,對於 樸素貝葉斯 的介紹就到這里,不知道各位看完之後是否會對數據挖掘這個領域產生了一點興趣了呢?

I. 數據挖掘十大演算法-

整理里一晚上的數據挖掘演算法,其中主要引自wiki和一些論壇。發布到上作為知識共享,但是發現Latex的公式轉碼到網頁的時候出現了丟失,暫時沒找到解決方法,有空再回來填坑了。

——編者按

一、 C4.5

C4.5演算法是由Ross Quinlan開發的用於產生決策樹的演算法[1],該演算法是對Ross Quinlan之前開發的ID3演算法的一個擴展。C4.5演算法主要應用於統計分類中,主要是通過分析數據的信息熵建立和修剪決策樹。

1.1 決策樹的建立規則

在樹的每個節點處,C4.5選擇最有效地方式對樣本集進行分裂,分裂規則是分析所有屬性的歸一化的信息增益率,選擇其中增益率最高的屬性作為分裂依據,然後在各個分裂出的子集上進行遞歸操作。

依據屬性A對數據集D進行分類的信息熵可以定義如下:

劃分前後的信息增益可以表示為:

那麼,歸一化的信息增益率可以表示為:

1.2 決策樹的修剪方法

C4.5採用的剪枝方法是悲觀剪枝法(Pessimistic Error Pruning,PEP),根據樣本集計運算元樹與葉子的經驗錯誤率,在滿足替換標准時,使用葉子節點替換子樹。

不妨用K表示訓練數據集D中分類到某一個葉子節點的樣本數,其中其中錯誤分類的個數為J,由於用估計該節點的樣本錯誤率存在一定的樣本誤差,因此用表示修正後的樣本錯誤率。那麼,對於決策樹的一個子樹S而言,設其葉子數目為L(S),則子樹S的錯誤分類數為:

設數據集的樣本總數為Num,則標准錯誤可以表示為:

那麼,用表示新葉子的錯誤分類數,則選擇使用新葉子節點替換子樹S的判據可以表示為:

二、KNN

最近鄰域演算法(k-nearest neighbor classification, KNN)[2]是一種用於分類和回歸的非參數統計方法。KNN演算法採用向量空間模型來分類,主要思路是相同類別的案例彼此之間的相似度高,從而可以藉由計算未知樣本與已知類別案例之間的相似度,來實現分類目標。KNN是一種基於局部近似和的實例的學習方法,是目前最簡單的機器學習演算法之一。

在分類問題中,KNN的輸出是一個分類族群,它的對象的分類是由其鄰居的「多數表決」確定的,k個最近鄰居(k為正整數,通常較小)中最常見的分類決定了賦予該對象的類別。若k = 1,則該對象的類別直接由最近的一個節點賦予。在回歸問題中,KNN的輸出是其周圍k個鄰居的平均值。無論是分類還是回歸,衡量鄰居的權重都非常重要,目標是要使較近鄰居的權重比較遠鄰居的權重大,例如,一種常見的加權方案是給每個鄰居權重賦值為1/d,其中d是到鄰居的距離。這也就自然地導致了KNN演算法對於數據的局部結構過於敏感。

三、Naive Bayes

在機器學習的眾多分類模型中,應用最為廣泛的兩種分類模型是決策樹模型(Decision Tree Model)和樸素貝葉斯模型(Naive Bayesian Model,NBC)[3]。樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,演算法也比較簡單。

在假設各個屬性相互獨立的條件下,NBC模型的分類公式可以簡單地表示為:

但是實際上問題模型的屬性之間往往是非獨立的,這給NBC模型的分類准確度帶來了一定影響。在屬性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型;而在屬性相關性較小時,NBC模型的性能最為良好。

四、CART

CART演算法(Classification And Regression Tree)[4]是一種二分遞歸的決策樹,把當前樣本劃分為兩個子樣本,使得生成的每個非葉子結點都有兩個分支,因此CART演算法生成的決策樹是結構簡潔的二叉樹。由於CART演算法構成的是一個二叉樹,它在每一步的決策時只能是「是」或者「否」,即使一個feature有多個取值,也是把數據分為兩部分。在CART演算法中主要分為兩個步驟:將樣本遞歸劃分進行建樹過程;用驗證數據進行剪枝。

五、K-means

k-平均演算法(k-means clustering)[5]是源於信號處理中的一種向量量化方法,現在則更多地作為一種聚類分析方法流行於數據挖掘領域。k-means的聚類目標是:把n個點(可以是樣本的一次觀察或一個實例)劃分到k個聚類中,使得每個點都屬於離他最近的均值(此即聚類中心)對應的聚類。

5.1 k-means的初始化方法

通常使用的初始化方法有Forgy和隨機劃分(Random Partition)方法。Forgy方法隨機地從數據集中選擇k個觀測作為初始的均值點;而隨機劃分方法則隨機地為每一觀測指定聚類,然後執行「更新」步驟,即計算隨機分配的各聚類的圖心,作為初始的均值點。Forgy方法易於使得初始均值點散開,隨機劃分方法則把均值點都放到靠近數據集中心的地方;隨機劃分方法一般更適用於k-調和均值和模糊k-均值演算法。對於期望-最大化(EM)演算法和標准k-means演算法,Forgy方法作為初始化方法的表現會更好一些。

5.2 k-means的標准演算法

k-means的標准演算法主要包括分配(Assignment)和更新(Update),在初始化得出k個均值點後,演算法將會在這兩個步驟中交替執行。

分配(Assignment):將每個觀測分配到聚類中,使得組內平方和達到最小。

更新(Update):對於上一步得到的每一個聚類,以聚類中觀測值的圖心,作為新的均值點。

六、Apriori

Apriori演算法[6]是一種最有影響的挖掘布爾關聯規則頻繁項集的演算法,其核心是基於兩階段頻集思想的遞推演算法。該關聯規則在分類上屬於單維、單層、布爾關聯規則。Apriori採用自底向上的處理方法,每次只擴展一個對象加入候選集,並且使用數據集對候選集進行檢驗,當不再產生匹配條件的擴展對象時,演算法終止。

Apriori的缺點在於生成候選集的過程中,演算法總是嘗試掃描整個數據集並盡可能多地添加擴展對象,導致計算效率較低;其本質上採用的是寬度優先的遍歷方式,理論上需要遍歷次才可以確定任意的最大子集S。

七、SVM

支持向量機(Support Vector Machine, SVM)[7]是在分類與回歸分析中分析數據的監督式學習模型與相關的學習演算法。給定一組訓練實例,每個訓練實例被標記為屬於兩個類別中的一個或另一個,SVM訓練演算法創建一個將新的實例分配給兩個類別之一的模型,使其成為非概率二元線性分類器。SVM模型是將實例表示為空間中的點,這樣映射就使得單獨類別的實例被盡可能寬的明顯的間隔分開。然後,將新的實例映射到同一空間,並基於它們落在間隔的哪一側來預測所屬類別。

除了進行線性分類之外,SVM還可以使用所謂的核技巧有效地進行非線性分類,將其輸入隱式映射到高維特徵空間中,即支持向量機在高維或無限維空間中構造超平面或超平面集合,用於分類、回歸或其他任務。直觀來說,分類邊界距離最近的訓練數據點越遠越好,因為這樣可以縮小分類器的泛化誤差。

八、EM

最大期望演算法(Expectation–Maximization Algorithm, EM)[7]是從概率模型中尋找參數最大似然估計的一種演算法。其中概率模型依賴於無法觀測的隱性變數。最大期望演算法經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域。最大期望演算法經過兩個步驟交替進行計算,第一步是計算期望(E),利用對隱藏變數的現有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在E步上求得的最大似然值來計算參數的值。M步上找到的參數估計值被用於下一個E步計算中,這個過程不斷交替進行。

九、PageRank

PageRank演算法設計初衷是根據網站的外部鏈接和內部鏈接的數量和質量對網站的價值進行衡量。PageRank將每個到網頁的鏈接作為對該頁面的一次投票,被鏈接的越多,就意味著被其他網站投票越多。

演算法假設上網者將會不斷點網頁上的鏈接,當遇到了一個沒有任何鏈接出頁面的網頁,這時候上網者會隨機轉到另外的網頁開始瀏覽。設置在任意時刻,用戶到達某頁面後並繼續向後瀏覽的概率,該數值是根據上網者使用瀏覽器書簽的平均頻率估算而得。PageRank值可以表示為:

其中,是被研究的頁面集合,N表示頁面總數,是鏈接入頁面的集合,是從頁面鏈接處的集合。

PageRank演算法的主要缺點是的主要缺點是舊的頁面等級會比新頁面高。因為即使是非常好的新頁面也不會有很多外鏈,除非它是某個站點的子站點。

十、AdaBoost

AdaBoost方法[10]是一種迭代演算法,在每一輪中加入一個新的弱分類器,直到達到某個預定的足夠小的錯誤率。每一個訓練樣本都被賦予一個權重,表明它被某個分類器選入訓練集的概率。如果某個樣本點已經被准確地分類,那麼在構造下一個訓練集中,它被選中的概率就被降低;相反,如果某個樣本點沒有被准確地分類,那麼它的權重就得到提高。通過這樣的方式,AdaBoost方法能「聚焦於」那些較難分的樣本上。在具體實現上,最初令每個樣本的權重都相等,對於第k次迭代操作,我們就根據這些權重來選取樣本點,進而訓練分類器Ck。然後就根據這個分類器,來提高被它分錯的的樣本的權重,並降低被正確分類的樣本權重。然後,權重更新過的樣本集被用於訓練下一個分類器Ck[,並且如此迭代地進行下去。

AdaBoost方法的自適應在於:前一個分類器分錯的樣本會被用來訓練下一個分類器。AdaBoost方法對於雜訊數據和異常數據很敏感。但在一些問題中,AdaBoost方法相對於大多數其它學習演算法而言,不會很容易出現過擬合現象。AdaBoost方法中使用的分類器可能很弱(比如出現很大錯誤率),但只要它的分類效果比隨機好一點(比如兩類問題分類錯誤率略小於0.5),就能夠改善最終得到的模型。而錯誤率高於隨機分類器的弱分類器也是有用的,因為在最終得到的多個分類器的線性組合中,可以給它們賦予負系數,同樣也能提升分類效果。

引用

[1] Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, 1993.

[2] Altman, N. S. An introction to kernel and nearest-neighbor nonparametric regression. The American Statistician. 1992, 46 (3): 175–185. doi:10.1080/00031305.1992.10475879

[3] Webb, G. I.; Boughton, J.; Wang, Z. Not So Naive Bayes: Aggregating One-Dependence Estimators. Machine Learning (Springer). 2005, 58 (1): 5–24. doi:10.1007/s10994-005-4258-6

[4] decisiontrees.net Interactive Tutorial

[5] Hamerly, G. and Elkan, C. Alternatives to the k-means algorithm that find better clusterings (PDF). Proceedings of the eleventh international conference on Information and knowledge management (CIKM). 2002

[6] Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules in large databases. Proceedings of the 20th International Conference on Very Large Data Bases, VLDB, pages 487-499, Santiago, Chile, September 1994.

[7] Cortes, C.; Vapnik, V. Support-vector networks. Machine Learning. 1995, 20 (3): 273–297. doi:10.1007/BF00994018

[8] Arthur Dempster, Nan Laird, and Donald Rubin. "Maximum likelihood from incomplete data via the EM algorithm". Journal of the Royal Statistical Society, Series B, 39 (1):1–38, 1977

[9] Susan Moskwa. PageRank Distribution Removed From WMT. [October 16, 2009]

[10] Freund, Yoav; Schapire, Robert E. A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting. 1995. CiteSeerX: 10.1.1.56.9855

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:626
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:71
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:296
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:798
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:355
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582