什麽時候使用機器學習算法——樸素貝葉斯分類器?
(1)如果您有壹個中型或大型訓練數據集。
(2)如果實例有幾個屬性。
(3)給定分類參數,描述實例的屬性應該是條件獨立的。
A.樸素貝葉斯分類器的應用
(1)情緒分析-用於臉書分析表示積極或消極情緒的狀態更新。
(2)文檔分類——Google使用文檔分類對文檔進行索引,找到相關度得分,即PageRank。PageRank機制將數據庫中標記為重要的頁面通過文檔分類技術進行解析和分類。
(3)樸素貝葉斯算法也被用於分類關於科技、娛樂、體育和政治的新聞文章。
(4)電子郵件垃圾郵件過濾——Google Mail使用Na?veBayes算法將您的電子郵件分類為垃圾郵件或非垃圾郵件。
B.樸素貝葉斯分類器機器學習算法的優勢
(1)當輸入變量為分類時,樸素貝葉斯分類器算法表現良好。
(2)當樸素貝葉斯條件獨立性假設成立時,樸素貝葉斯分類器收斂更快,並且需要相對較少的訓練數據,這不同於其他判別模型,例如邏輯回歸。
(3)使用樸素貝葉斯分類器算法,更容易預測測試數據集的類別。多層次預測的好賭註。
(4)盡管需要條件獨立性假設,樸素貝葉斯分類器在各種應用領域表現出良好的性能。
Python中的數據科學庫實現Na?貝葉斯科學工具包學習
數據科學庫在r中實現了樸素貝葉斯-e1071。
3.2 K均值聚類算法
K-means是壹種廣泛用於聚類分析的無監督機器學習算法。K-Means是壹種不確定的叠代方法。該算法通過預定數量的K個聚類對給定數據集進行操作。K均值算法的輸出是K個聚類,輸入數據在聚類之間劃分。
例如,讓我們考慮維基百科搜索結果的K-means聚類。維基百科上的搜索詞“Jaguar”將返回包含單詞Jaguar的所有頁面。可以叫捷豹汽車,捷豹Mac OS版,捷豹動物。K-means聚類算法可用於對描述相似概念的網頁進行分組。因此,算法會將所有談論美洲虎的網頁作為動物分組到壹個集群中,將美洲虎作為汽車分組到另壹個集群中,以此類推。
A.K-均值聚類機學習算法的優勢
(1)在球形聚類的情況下,K-Means比層次聚類產生更緊湊的聚類。
(2)給定壹個小的K值,K-Means聚類計算比大量變量的層次聚類更快。
B . K-均值聚類的應用
k表示聚類算法被大多數搜索引擎(如Yahoo、Google)使用,通過相似度對網頁進行聚類,識別搜索結果的“相關率”。這有助於搜索引擎減少用戶的計算時間。
Python中的數據科學庫實現了K-means聚類-SciPy、Sci-Kit學習和Python打包。
數據科學庫中的r實現了K-means聚類-統計
3.3支持向量機學習算法
支持向量機(SVM)是壹種用於分類或回歸問題的監督機器學習算法,其中數據集教會SVM關於類的知識,以便SVM可以對任何新數據進行分類。它的工作原理是找到將訓練數據集分成不同類的線(超平面)。因為有許多這樣的線性超平面,SVM算法試圖最大化所涉及的各個類之間的距離,這被稱為邊際最大化。如果確定了使類之間的距離最大化的線,那麽對看不見的數據進行良好綜合的可能性就會增加。
A.SVM分為兩類:
線性SVM-在線性SVM中,訓練數據,即分類器,與超平面分離。
非線性SVM在非線性SVM中,不可能用超平面來分離訓練數據。例如,用於面部檢測的訓練數據由壹組是面部的圖像和另壹組不是面部的圖像(換句話說,除了面部之外的所有其他圖像)組成。在這種情況下,訓練數據過於復雜,無法找到每個特征向量的表示。從非人臉集合中線性分離人臉集合是壹項復雜的任務。
B.使用SVM的優勢
(1)SVM為訓練數據提供了最佳的分類性能(準確性)。
(2)SVM為未來數據的正確分類提供了更高的效率。
SVM最好的壹點是它不會對數據做任何強有力的假設。
(4)不會過擬合數據。
C.支持向量機的應用
(1)SVM通常用於預測各種金融機構的股票市場。例如,它可以用來比較股票與同行業其他股票的相對表現。基於SVM學習算法所做的分類,股票的相對比較有助於管理投資決策。
(2)Python中的數據科學庫實現了支持向量機——sci kit學習,PyML,SVMStruct Python,LIBSVM。
(3)R中的數據科學庫實現支持向量機——klar,e1071。
3.4 Apriori機器學習算法
Apriori算法是壹種無監督的機器學習算法,它從給定的數據集生成關聯規則。關聯規則是指如果A項出現,B項也以壹定概率出現。大多數生成的關聯規則都是IF_THEN格式的。比如,人們買iPad,也會買iPad保護套。為了得到這個結論的算法,它首先觀察購買iPad的人數。這樣比例就好比100人買了壹個iPad,85人也買了壹個iPad保護套。
A.A .先驗機器學習算法的基本原理:
如果某個項目集頻繁出現,則該項目集的所有子集也會頻繁出現。
如果某個項目集不經常出現,則該項目集的所有超集都不會經常出現。
B.先驗算法的優勢
(1)易於實現和並行化。
(2)2)Apriori實現使用大項目集屬性。
C.C.Apriori算法的應用
藥物不良反應的檢測
Apriori算法用於醫療數據的關聯分析,如患者服用的藥物、每個患者的特征、患者對不良反應的體驗、初步診斷等。這種分析產生關聯規則,幫助識別由患者特征和藥物的組合引起的藥物的不良副作用。
市場籃子分析
亞馬遜等許多電商巨頭利用Apriori得出數據洞察,哪些產品可能會壹起購買,哪些對促銷最有反應。例如,零售商可能會使用Apriori來預測購買糖和面粉的人很可能會購買雞蛋來烘焙蛋糕。
自動完成應用程序
Google Auto-Complete是Apriori的另壹個流行應用,當用戶鍵入壹個單詞時,搜索引擎會尋找人們通常在特定單詞後鍵入的其他相關單詞。
python中的數據科學庫實現了Apriori機器學習算法PyPi中有壹個Python實現了Apriori。
數據科學庫在R-arules中實現Apriori機器學習算法
3.5線性回歸機器學習算法
線性回歸算法顯示兩個變量之間的關系,以及壹個變量的變化如何影響另壹個變量。該算法顯示了自變量改變時對因變量的影響。自變量被稱為解釋變量,因為它們解釋了因變量對因變量的影響。因變量通常被稱為關註因素或預測因素。
A.線性回歸機器學習算法的優勢
(1)它是可解釋性最強的機器學習算法之壹,很容易向他人解釋。
(2)易於使用,因為它需要最小的調整。
(3)是應用最廣泛的機器學習技術,運行速度快。
B.線性回歸算法的應用
估計銷售額
基於趨勢銷售預測,線性回歸在商業中非常有用。如果公司的月銷售額穩步增長——對月銷售額數據進行線性回歸分析,有助於公司預測未來幾個月的銷售額。
風險評估
線性回歸有助於評估涉及保險或金融的風險。健康險公司可以對理賠次數和每個客戶的年齡進行線性回歸分析。這壹分析有助於保險公司發現,老年客戶往往會提出更多的保險索賠。這種分析結果在重要的商業決策中起著至關重要的作用,並且旨在解決風險。
Python-statsmodel和SciKit中數據科學庫的線性回歸
R中的數據科學庫實現了線性回歸-統計。
3.6決策樹機器學習算法
因為父母的來訪,妳正在制定壹個周末計劃,要去城裏最好的餐館,但妳猶豫不決,不知道該選擇哪家餐館。每當妳想去餐廳,妳會問妳的朋友提利昂他是否認為妳會喜歡某個特定的地方。為了回答妳的問題,提利昂必須先搞清楚妳喜歡什麽樣的餐廳。妳給他壹個妳去過的餐廳列表,告訴他妳是否喜歡每壹家餐廳(給壹個標記的訓練數據集)。當妳問提利昂妳是否想要壹家特別的餐館時,他會問妳各種各樣的問題,比如“是的”或者“屋頂餐館?”餐廳“r”提供意大利菜嗎?現場音樂?r餐廳營業到午夜嗎?“等等。提利昂要求妳提供幾個信息問題,以最大化信息利益,並根據妳對問卷的回答給出是或否的答案。在這裏,提利昂是妳最喜歡的餐館偏好的決策樹。
決策樹是壹種圖形表示,它使用分支方法來說明基於特定條件的決策的所有可能結果。在決策樹中,內部節點代表屬性的測試,樹的每個分支代表測試結果,葉節點代表特定的類標簽,即計算完所有屬性後做出的決策。分類規則由從根到葉節點的路徑表示。
A.決策樹的類型
(1)分類樹——這些被認為是默認的決策樹,用於根據響應變量將數據集分類到不同的類中。這些通常在響應變量被自然分類時使用。
(2)回歸樹-當響應或目標變量是連續的或數字的時,使用回歸樹。與分類相比,這些通常用於預測問題的類型。
根據目標變量的類型——連續變量決策樹和二元變量決策樹,決策樹也可以分為兩種類型。它是壹個目標變量,有助於決定特定問題需要哪種決策樹。
B.妳為什麽選擇決策樹算法?
(1)這些機器學習算法有助於在不確定的情況下做出決策,並幫助您改善溝通,因為它們提供了決策的可視化表示。
(2)決策樹機器學習算法有助於數據科學家捕捉這樣壹個想法,即如果采取不同的決策,情況或模型的操作性質將發生巨大變化。
(3)決策樹算法通過允許數據科學家遍歷向前和向後的計算路徑來幫助做出最佳決策。
C.何時使用決策樹機器學習算法
(1)決策樹對錯誤具有魯棒性,如果訓練數據包含錯誤,決策樹算法將最適合解決此類問題。
(2)決策樹最適合用屬性值對表示實例的問題。
(3)如果訓練數據有缺失值,可以使用決策樹,因為它們可以通過查看其他列中的數據來很好地處理缺失值。
(4)當目標函數有離散輸出值時,決策樹是最合適的。
D.決策樹的優勢
(1)決策樹是非常本能的,可以很容易地向任何人解釋。非技術背景的人也可以解釋從決策樹中得出的假設,因為它們是不言而喻的。
(2)使用決策樹機器學習算法時,數據類型不是約束條件,因為可以處理分類和數值變量。
(3)決策樹機器學習算法不需要對數據中的線性做任何假設,因此可以在參數為非線性時使用。這些機器學習算法對分類器的結構和空間分布不做任何假設。
(4)這些算法在數據探索中是有用的。決策樹隱式地執行特征選擇,這在預測分析中非常重要。當決策樹適合訓練數據集時,將決策樹頂部劃分的節點視為給定數據集中的重要變量,默認完成特征選擇。
(5)決策樹有助於節省數據準備時間,因為它們對缺失值和異常值不敏感。缺少值不會阻止您拆分構建決策樹的數據。離群值不會影響決策樹,因為數據拆分是基於拆分範圍內的壹些樣本而不是精確的絕對值發生的。
E.決策樹的缺點
在(1)樹中做出的決策越多,任何預期的結果就越不準確。
(2)決策樹機器學習算法的主要缺點是結果可能是基於期望的。實時決策時,收益和結果可能與預期或計劃不同。很有可能,這可能會導致不切實際的決策樹和錯誤的決策。任何不合理的預期都可能導致決策樹分析中的重大錯誤和缺陷,因為不可能總是計劃決策可能產生的所有可能性。
(3)決策樹不適合連續變量,導致不穩定和分類平臺。
(4)與其他決策模型相比,決策樹易於使用,但創建壹個具有多個分支的大型決策樹是壹項復雜而耗時的任務。
(5)決策樹機器學習算法每次只考慮壹個屬性,不壹定最適合決策空間中的實際數據。
(6)具有多個分支的大規模決策樹是不可理解的,並且在表示上造成壹些困難。
F.決策樹機器學習算法的應用
(1)決策樹是流行的機器學習算法之壹,對於金融中的期權定價非常有用。
(2)遙感是決策樹模式識別的壹個應用領域。
(3)銀行使用決策樹算法,根據貸款申請人的違約支付概率對其進行分類。
(4)Gerber Products公司,壹家受歡迎的嬰兒用品公司,使用決策樹機器學習算法來決定他們是否應該繼續在產品中使用塑料PVC(聚氯乙烯)。
(5)拉什大學醫學中心開發了壹個名為Guardian的工具,它使用決策樹機器學習算法來識別處於風險中的患者和疾病趨勢。
Python語言的基於數據科學庫的決策樹機器學習算法是-SciPy和Sci-Kit學習。
數據科學庫的R語言實現決策樹的機器學習算法是插入符號。
3.7隨機森林機器學習算法
讓我們繼續我們在決策樹中使用的同壹個例子來解釋隨機森林機器學習算法是如何工作的。提利昂是妳餐館偏好的決策樹。然而,作為壹個人,提利昂並不總是準確地宣傳妳的餐館偏好。為了獲得更準確的餐廳推薦,妳問了壹對夫婦的朋友,如果大多數人都說妳會喜歡,妳就決定去R餐廳。除了問提利昂,妳還想問瓊恩·雪諾、桑鐸、波隆和布蘭,誰投票決定妳是否喜歡R餐廳。這意味著您已經為決策樹——也稱為森林——構建了壹個集成分類器。
妳不希望妳所有的朋友都給妳相同的答案——所以妳給每個朋友提供稍微不同的數據。妳不確定妳的餐館偏好是否進退兩難。妳告訴提利昂妳喜歡開屋頂的餐廳,但也許,只是因為它是在夏天,當妳參觀餐廳時,妳可能會喜歡它。在寒冷的冬天,妳可能不是餐廳的粉絲。所以各位朋友不要用妳喜歡開的天臺餐廳的數據點來對妳的餐廳喜好提出自己的建議。
通過向妳的朋友提供稍微不同的餐館偏好數據,妳可以讓妳的朋友在不同的時間問妳不同的問題。在這種情況下,只需稍微改變您的餐館偏好,您就在模型級別註入了隨機性(不同於決策樹在數據級別的隨機性)。妳的朋友現在形成了妳餐館偏好的隨機森林。
隨機森林是壹種機器學習算法,它使用bagging方法來創建壹束隨機數據子集的決策樹。該模型在數據集的隨機樣本上訓練多次,以從隨機森林算法獲得良好的預測性能。在這種整體學習方法中,隨機森林中所有決策樹的輸出被組合以做出最終預測。隨機森林算法的最終預測是通過輪詢每個決策樹的結果或僅通過使用在決策樹中出現最頻繁的預測來得出的。
比如上面的例子——如果五個朋友決定妳會喜歡餐廳R,但是只有兩個朋友決定妳不會喜歡餐廳R,那麽最後的預測是妳會最喜歡餐廳R的總是贏。
A.為什麽要用隨機森林機器學習算法?
(1)Python和r中有很多很好的開源算法。
(2)在沒有數據的情況下保持準確性,也能抵抗異常值。
(3)簡單地用隨機森林算法作為基礎,只用幾行代碼就可以實現。
(4)隨機森林機器學習算法幫助數據科學家節省數據準備時間,因為它們不需要任何輸入準備,它們可以處理數值、二進制和分類特征,無需縮放、變換或修改。
(5)隱式特征選擇,因為它給出了在分類中什麽變量是重要的估計。
B.使用隨機森林機器學習算法的優勢
(1)與決策樹機器學習算法不同,對於隨機森林來說,過擬合不是問題。沒有必要修剪隨機森林。
(2)這些算法速度很快,但並不是在所有情況下都如此。隨機森林算法在800MHz機器上運行,數據集為100個變量,50000個案例在11分鐘內生成100棵決策樹。
(3)隨機森林是用於各種分類和回歸任務的最有效和通用的機器學習算法之壹,因為它們對噪聲更魯棒。
(4)很難建立壹個壞的隨機森林。在隨機森林機器學習算法的實現中,很容易確定使用哪些參數,因為它們對用於運行算法的參數不敏感。人們可以很容易地建立壹個體面的模型,而不需要太多的調整。
(5)隨機森林機器學習算法可以並行生長。
(6)該算法在大型數據庫上運行高效。
(7)分類精度高。
C.使用隨機森林機器學習算法的缺點
它們可能很容易使用,但很難從理論上分析它們。
隨機森林中的大量決策樹會降低實時預測算法的速度。
如果數據由不同級別的分類變量組成,算法將優先選擇級別更多的屬性。在這種情況下,可變重要性分數似乎不可靠。
RandomForest算法用於回歸任務時,不會超出訓練數據中響應值的範圍。
D.隨機森林機器學習算法的應用
(1)隨機森林算法是銀行用來預測貸款申請人是否可能是高風險的。
(2)在汽車工業中用於預測機械零件的失效。
(3)這些算法用於醫療保健行業,預測患者是否可能患上慢性病。
(4)它們還可以用於回歸任務,例如預測社交媒體份額和績效得分的平均值。
(5)最近,這種算法還被用於預測語音識別軟件中的模式,並對圖像和文本進行分類。
數據科學庫用Python語言實現的隨機森林機器學習算法就是Sci-Kit學習。
R語言數據科學庫實現randomForest機器學習算法。