一文了解11種最常見的機(jī)器學(xué)習(xí)算法應(yīng)用場景 精華
近年來,機(jī)器學(xué)習(xí)的普及率急劇上升。機(jī)器學(xué)習(xí)從數(shù)據(jù)中創(chuàng)造價(jià)值的潛力使其對許多不同行業(yè)的企業(yè)都具有吸引力。大多數(shù)機(jī)器學(xué)習(xí)產(chǎn)品都是使用現(xiàn)成的機(jī)器學(xué)習(xí)算法設(shè)計(jì)和實(shí)現(xiàn)的,并進(jìn)行了一些調(diào)整和微小的改動(dòng)。
機(jī)器學(xué)習(xí)算法種類繁多,可分為三大類:
- 監(jiān)督學(xué)習(xí)算法在給定一組觀察值的情況下對特征(自變量)和標(biāo)簽(目標(biāo))之間的關(guān)系進(jìn)行建模。然后該模型用于使用這些特征預(yù)測新觀察的標(biāo)簽。根據(jù)目標(biāo)變量的特性,它可以是分類(離散目標(biāo)變量)或回歸(連續(xù)目標(biāo)變量)任務(wù)。
- 無監(jiān)督學(xué)習(xí)算法試圖在未標(biāo)記的數(shù)據(jù)中找到數(shù)據(jù)規(guī)律。
- 強(qiáng)化學(xué)習(xí)基于行動(dòng)獎(jiǎng)勵(lì)原則。代理通過迭代計(jì)算其行為的獎(jiǎng)勵(lì)來學(xué)習(xí)達(dá)到目標(biāo)。
在這篇文章中,我將介紹前兩類中最常見的算法。具體11種算法如下:
- 線性回歸
- 支持向量機(jī)(SVM)
- 樸素貝葉斯
- 邏輯回歸
- k最近鄰(KNN)
- 決策樹
- 隨機(jī)森林
- 梯度提升樹(GBDT)
- K-Means
- 層次聚類
- DBSCAN聚類
- 主成分分析(PCA)
1. 線性回歸
線性回歸是一種監(jiān)督學(xué)習(xí)算法,它試圖通過對數(shù)據(jù)擬合線性方程來模擬連續(xù)目標(biāo)變量與一個(gè)或多個(gè)自變量之間的關(guān)系。
為了使線性回歸成為一個(gè)好的選擇,自變量和目標(biāo)變量之間需要存在線性關(guān)系。有許多工具可以探索變量之間的關(guān)系,例如散點(diǎn)圖和相關(guān)矩陣。例如,下面的散點(diǎn)圖顯示了自變量(x 軸)和因變量(y 軸)之間的正相關(guān)關(guān)系。隨著一個(gè)增加,另一個(gè)也增加。

線性回歸模型試圖將回歸線擬合到最能代表關(guān)系或相關(guān)性的數(shù)據(jù)點(diǎn)。最常用的技術(shù)是普通最小二乘法(OLE)。使用此方法,通過最小化數(shù)據(jù)點(diǎn)與回歸線之間距離的平方和來找到最佳回歸線。對于上面的數(shù)據(jù)點(diǎn),使用 OLE 獲得的回歸線如下所示:

2.支持向量機(jī)
支持向量機(jī) (SVM) 是一種監(jiān)督學(xué)習(xí)算法,主要用于分類任務(wù),但也適用于回歸任務(wù)。
SVM 通過繪制決策邊界來區(qū)分類別。 如何繪制或確定決策邊界是支持向量機(jī)算法中最關(guān)鍵的部分。在創(chuàng)建決策邊界之前,每個(gè)觀察值(或數(shù)據(jù)點(diǎn))都繪制在 n 維空間中?!皀”是使用的特征數(shù)。例如,如果我們使用“長度”和“寬度”對不同的“細(xì)胞”進(jìn)行分類,則觀察結(jié)果繪制在二維空間中,決策邊界是一條線。如果我們使用 3 個(gè)特征,則決策邊界是 3 維空間中的一個(gè)平面。如果我們使用超過 3 個(gè)特征,決策邊界就會(huì)變成一個(gè)很難可視化的超平面。

決策邊界以支持向量的距離最大化的方式繪制。 如果決策邊界太靠近支持向量,它將對噪聲高度敏感并且不能很好地泛化。自變量即使非常小的變化也可能導(dǎo)致錯(cuò)誤分類。
數(shù)據(jù)點(diǎn)并不總是像上圖那樣線性可分。在這些情況下,支持向量機(jī)使用內(nèi)核技巧來測量高維空間中數(shù)據(jù)點(diǎn)的相似性(或接近度),以使它們線性可分。
核函數(shù)是一種相似性度量。輸入是原始特征,輸出是新特征空間中的相似性度量。這里的相似意味著某種程度的接近。將數(shù)據(jù)點(diǎn)實(shí)際轉(zhuǎn)換到高維特征空間是一項(xiàng)代價(jià)高昂的操作。該算法實(shí)際上并沒有將數(shù)據(jù)點(diǎn)轉(zhuǎn)換到一個(gè)新的高維特征空間。核化 SVM 根據(jù)高維特征空間中的相似性度量計(jì)算決策邊界,而無需實(shí)際進(jìn)行轉(zhuǎn)換。我認(rèn)為這就是為什么它也被稱為kernel trick的原因。
SVM在維數(shù)多于樣本數(shù)的情況下特別有效。在尋找決策邊界時(shí),SVM 使用訓(xùn)練點(diǎn)的子集而不是所有點(diǎn),這使得它具有內(nèi)存效率。另一方面,大型數(shù)據(jù)集的訓(xùn)練時(shí)間會(huì)增加,這會(huì)對性能產(chǎn)生負(fù)面影響。
3.樸素貝葉斯
樸素貝葉斯是一種用于分類任務(wù)的監(jiān)督學(xué)習(xí)算法。 因此,它也被稱為樸素貝葉斯分類器。
樸素貝葉斯假設(shè)特征相互獨(dú)立,特征之間不存在相關(guān)性。然而,現(xiàn)實(shí)生活中并非如此。這種特征不相關(guān)的樸素假設(shè)是該算法被稱為“樸素”的原因。
樸素貝葉斯算法背后的直覺是貝葉斯定理:

p(A|B):事件 A 給定事件 B 已經(jīng)發(fā)生的概率
p(B|A):給定事件 A 已經(jīng)發(fā)生的事件 B 的概率
p(A):事件 A 的概率
p(B):事件 B 的概率
樸素貝葉斯分類器計(jì)算給定一組特征值(即 p(yi | x1, x2 , … , xn))的類的概率。 將其輸入貝葉斯定理:

p(x1, x2 , … , xn | yi) 表示給定類別標(biāo)簽的特定特征組合(數(shù)據(jù)集中的觀察/行)的概率。我們需要非常大的數(shù)據(jù)集來估計(jì)所有不同特征值組合的概率分布。為了克服這個(gè)問題,樸素貝葉斯算法假設(shè)所有特征都是相互獨(dú)立的。 此外,可以刪除分母 (p(x1,x2, … , xn)) 以簡化等式,因?yàn)樗鼉H歸一化給定觀察值的類的條件概率值 ( p(yi | x1,x2, … , xn) ).
類別的概率 ( p(yi) ) 計(jì)算起來非常簡單:

在特征獨(dú)立的假設(shè)下,p(x1, x2 , … , xn | yi) 可以寫成:

給定類標(biāo)簽(即 p(x1 | yi) )的單個(gè)特征的條件概率可以更容易地從數(shù)據(jù)中估計(jì)。該算法需要獨(dú)立存儲(chǔ)每個(gè)類別的特征概率分布。例如,如果有 5 個(gè)類別和 10 個(gè)特征,則需要存儲(chǔ) 50 個(gè)不同的概率分布。
將所有這些加起來,對于樸素貝葉斯算法來說,計(jì)算觀察給定特征值的類的概率成為一項(xiàng)簡單的任務(wù)(p(yi | x1,x2,...,xn))
所有特征都是獨(dú)立的假設(shè)使得樸素貝葉斯算法與復(fù)雜算法相比非???。 在某些情況下,速度比更高的精度更受歡迎。另一方面,同樣的假設(shè)使得樸素貝葉斯算法不如復(fù)雜算法準(zhǔn)確。速度是有代價(jià)的!
4.邏輯回歸
邏輯回歸是一種監(jiān)督學(xué)習(xí)算法,主要用于二元 分類問題。雖然“回歸”與“分類”相矛盾,但這里的重點(diǎn)是“邏輯”一詞,指的是在該算法中執(zhí)行分類任務(wù)的邏輯函數(shù)。 邏輯回歸是一種簡單但非常有效的分類算法,因此常用于許多二元分類任務(wù)??蛻袅魇?、垃圾郵件、網(wǎng)站或廣告點(diǎn)擊預(yù)測是邏輯回歸提供強(qiáng)大解決方案的一些領(lǐng)域示例。
邏輯回歸的基礎(chǔ)是邏輯函數(shù),也稱為 sigmoid 函數(shù),它接受任何實(shí)數(shù)值并將其映射到 0 到 1 之間的值。

考慮我們要求解以下線性方程:

邏輯回歸模型以線性方程為輸入,使用邏輯函數(shù)和對數(shù)概率來執(zhí)行二元分類任務(wù)。然后,我們將得到著名的邏輯回歸 s 形圖:

我們可以“按原樣”使用計(jì)算出的概率。例如,輸出可以是“此電子郵件是垃圾郵件的概率為 95%”或“客戶點(diǎn)擊此廣告的概率為 70%”。然而,在大多數(shù)情況下,概率用于對數(shù)據(jù)點(diǎn)進(jìn)行分類。例如,如果概率大于 50%,則預(yù)測為正類 (1)。否則,預(yù)測為負(fù)類 (0)。
并不總是希望為所有高于 50% 的概率值選擇正類。關(guān)于垃圾郵件案例,我們必須幾乎確定才能將電子郵件歸類為垃圾郵件。由于被檢測為垃圾郵件的電子郵件直接進(jìn)入垃圾郵件文件夾,我們不希望用戶錯(cuò)過重要的電子郵件。除非我們幾乎可以肯定,否則電子郵件不會(huì)被歸類為垃圾郵件。另一方面,當(dāng)健康相關(guān)問題的分類要求我們更加敏感時(shí)。即使我們有點(diǎn)懷疑某個(gè)細(xì)胞是惡性的,我們也不想錯(cuò)過它。因此,作為正類和負(fù)類之間閾值的值取決于問題。好消息是邏輯回歸允許我們調(diào)整這個(gè)閾值。
5. K 最近鄰 (kNN)
K 最近鄰 (kNN) 是一種監(jiān)督學(xué)習(xí)算法,可用于解決分類和回歸任務(wù)。kNN 背后的主要思想是數(shù)據(jù)點(diǎn)的值或類別由它周圍的數(shù)據(jù)點(diǎn)決定。
kNN 分類器通過多數(shù)表決原則確定數(shù)據(jù)點(diǎn)的類別。例如,如果 k 設(shè)置為 5,則檢查 5 個(gè)最近點(diǎn)的類別。預(yù)測是根據(jù)多數(shù)類進(jìn)行的。同樣,kNN 回歸取 5 個(gè)最近點(diǎn)的平均值。讓我們來看一個(gè)例子??紤]以下屬于 4 個(gè)不同類別的數(shù)據(jù)點(diǎn):

讓我們看看預(yù)測的類別如何根據(jù) k 值變化:


確定最佳 k 值非常重要。如果 k 太低,則模型太具體并且不能很好地泛化。它也往往對噪音敏感。該模型在訓(xùn)練集上實(shí)現(xiàn)了高精度,但對新的、以前未見過的數(shù)據(jù)點(diǎn)的預(yù)測效果不佳。因此,我們很可能會(huì)得到一個(gè)過度擬合的模型。另一方面,如果 k 太大,則模型過于泛化,在訓(xùn)練集和測試集上都不是一個(gè)好的預(yù)測器。這種情況稱為欠擬合。
kNN 簡單易懂。它不做任何假設(shè),因此可以在非線性任務(wù)中實(shí)現(xiàn)。隨著數(shù)據(jù)點(diǎn)數(shù)量的增加,kNN 變得非常慢,因?yàn)槟P托枰鎯?chǔ)所有數(shù)據(jù)點(diǎn)。因此,它的內(nèi)存效率也不高。kNN 的另一個(gè)缺點(diǎn)是它對異常值很敏感。
6. 決策樹
決策樹建立在反復(fù)提出問題以劃分?jǐn)?shù)據(jù)的基礎(chǔ)上。使用決策樹的可視化表示更容易概念化分區(qū)數(shù)據(jù):

這表示用于預(yù)測客戶流失的決策樹。第一個(gè)拆分是基于每月的費(fèi)用金額。然后該算法不斷提出問題以分離類別標(biāo)簽。隨著樹變得更深,問題變得更加具體。
決策樹算法的目的是在每次分區(qū)時(shí)盡可能增加預(yù)測能力,以便模型不斷獲取有關(guān)數(shù)據(jù)集的信息。隨機(jī)拆分特征通常不會(huì)給我們提供對數(shù)據(jù)集有價(jià)值的洞察力。增加節(jié)點(diǎn)純度的拆分提供更多信息。節(jié)點(diǎn)的純度與該節(jié)點(diǎn)中不同類別的分布成反比。以增加純度或減少雜質(zhì)的方式選擇要問的問題。
我們問了多少問題?我們什么時(shí)候停止?我們的樹什么時(shí)候足以解決我們的分類問題?所有這些問題的答案將我們引向機(jī)器學(xué)習(xí)中最重要的概念之一:過度擬合。該模型可以不斷遍歷,直到所有節(jié)點(diǎn)都是純節(jié)點(diǎn)。但是,這將是一個(gè)過于具體的模型,并且不能很好地概括。它通過訓(xùn)練集實(shí)現(xiàn)了高精度,但在新的、以前未見過的數(shù)據(jù)點(diǎn)上表現(xiàn)不佳,這表明過度擬合。樹的深度由scikit-learn 中決策樹算法的max_depth參數(shù)控制。
決策樹算法通常不需要對特征進(jìn)行歸一化或縮放。它也適用于混合特征數(shù)據(jù)類型(連續(xù)、分類、二進(jìn)制)。不好的地方是,它容易過度擬合,需要進(jìn)行模型集成才能很好地泛化。
6. 隨機(jī)森林
隨機(jī)森林是許多決策樹的集合。隨機(jī)森林是使用稱為bagging的方法構(gòu)建的,其中決策樹用作并行估計(jì)器。如果用于分類問題,則結(jié)果基于從每個(gè)決策樹收到的結(jié)果的多數(shù)投票。對于回歸,葉節(jié)點(diǎn)的預(yù)測是該葉中目標(biāo)值的平均值。隨機(jī)森林回歸取決策樹結(jié)果的平均值。
隨機(jī)森林降低了過度擬合的風(fēng)險(xiǎn),準(zhǔn)確率遠(yuǎn)高于單個(gè)決策樹。此外,隨機(jī)森林中的決策樹并行運(yùn)行,因此時(shí)間不會(huì)成為瓶頸。
隨機(jī)森林的成功在很大程度上取決于使用不相關(guān)的決策樹。如果我們使用相同或非常相似的樹,整體結(jié)果與單個(gè)決策樹的結(jié)果不會(huì)有太大差異。隨機(jī)森林通過引導(dǎo)和特征隨機(jī)性實(shí)現(xiàn)具有不相關(guān)的決策樹。
Bootsrapping 是從訓(xùn)練數(shù)據(jù)中隨機(jī)選擇有放回的樣本。它們被稱為引導(dǎo)樣本。

特征隨機(jī)性是通過為隨機(jī)森林中的每個(gè)決策樹隨機(jī)選擇特征來實(shí)現(xiàn)的??梢允褂?strong>max_features參數(shù)控制隨機(jī)森林中每棵樹使用的特征數(shù)量。

隨機(jī)森林是針對許多不同問題的高度準(zhǔn)確的模型,不需要?dú)w一化或縮放。然而,與快速線性模型(即樸素貝葉斯)相比,它對于高維數(shù)據(jù)集(即文本分類)并不是一個(gè)好的選擇。

7.梯度提升決策樹(GBDT)
GBDT是一種集成算法,它使用boosting方法來組合單個(gè)決策樹。
Boosting 意味著將一個(gè)學(xué)習(xí)算法串聯(lián)起來,從許多順序連接的弱學(xué)習(xí)器中獲得一個(gè)強(qiáng)學(xué)習(xí)器。在 GBDT 的情況下,弱學(xué)習(xí)器是決策樹。
每棵樹都試圖最小化前一棵樹的殘差。boosting中的樹模型是弱學(xué)習(xí)模型,但串聯(lián)添加許多樹,每棵樹都關(guān)注前一棵樹的殘差,從而使 boosting 成為一個(gè)高效和準(zhǔn)確的模型。與 bagging 不同,boosting 不涉及 bootstrap 采樣。每次添加新樹時(shí),它都適合初始數(shù)據(jù)集的修改版本。

由于樹是按順序添加的,因此提升算法學(xué)習(xí)緩慢。在統(tǒng)計(jì)學(xué)習(xí)中,學(xué)習(xí)緩慢的模型表現(xiàn)更好。
損失函數(shù)用于檢測殘差。例如,均方誤差 (MSE) 可用于回歸任務(wù),對數(shù)損失(對數(shù)損失)可用于分類任務(wù)。值得注意的是,當(dāng)添加新樹時(shí),模型中的現(xiàn)有樹不會(huì)改變。添加的決策樹適合當(dāng)前模型的殘差。
學(xué)習(xí)率和n_estimators是梯度提升決策樹的兩個(gè)關(guān)鍵超參數(shù)。學(xué)習(xí)率,表示為 α,僅表示模型學(xué)習(xí)的速度。每棵新樹都會(huì)修改整個(gè)模型。修改的幅度由學(xué)習(xí)率控制。n_estimator是模型中使用的樹的數(shù)量。如果學(xué)習(xí)率低,我們需要更多的樹來訓(xùn)練模型。但是,我們在選擇樹的數(shù)量時(shí)需要非常小心。使用過多的樹會(huì)產(chǎn)生過度擬合的高風(fēng)險(xiǎn)。
GBDT 在分類和回歸任務(wù)上都非常有效,并且與隨機(jī)森林相比提供了更準(zhǔn)確的預(yù)測。它可以處理混合類型的特征,不需要預(yù)處理。GBDT 需要仔細(xì)調(diào)整超參數(shù),以防止模型過擬合。
GBDT 算法非常強(qiáng)大,已經(jīng)實(shí)現(xiàn)了很多升級(jí)版本,如 XGBOOST、LightGBM、CatBoost。
關(guān)于過擬合的注意事項(xiàng)
隨機(jī)森林和梯度提升決策樹之間的一個(gè)關(guān)鍵區(qū)別是模型中使用的樹的數(shù)量。增加隨機(jī)森林中的樹木數(shù)量不會(huì)導(dǎo)致過度擬合。在某個(gè)點(diǎn)之后,模型的準(zhǔn)確性不會(huì)因添加更多樹而增加,但也不會(huì)因添加過多的樹而受到負(fù)面影響。由于計(jì)算原因,您仍然不想添加不必要數(shù)量的樹,但不存在與隨機(jī)森林中的樹數(shù)量相關(guān)的過度擬合風(fēng)險(xiǎn)。
然而,梯度提升決策樹中樹的數(shù)量在過度擬合方面非常關(guān)鍵。添加太多樹會(huì)導(dǎo)致過度擬合,因此在某個(gè)時(shí)候停止添加樹很重要。
8. K-均值聚類
聚類是一種以類似數(shù)據(jù)點(diǎn)分組在一起的方式對一組數(shù)據(jù)點(diǎn)進(jìn)行分組的方法。因此,聚類算法會(huì)尋找數(shù)據(jù)點(diǎn)之間的相似點(diǎn)或不同點(diǎn)。聚類是一種無監(jiān)督學(xué)習(xí)方法,因此沒有與數(shù)據(jù)點(diǎn)關(guān)聯(lián)的標(biāo)簽。聚類算法試圖找到數(shù)據(jù)的底層結(jié)構(gòu)。
分類任務(wù)中的觀察(或數(shù)據(jù)點(diǎn))有標(biāo)簽。每個(gè)觀察結(jié)果都根據(jù)一些測量結(jié)果進(jìn)行分類。分類算法試圖模擬觀測值(特征)與它們分配的類別之間的關(guān)系。然后模型預(yù)測新觀察的類別。
K均值聚類旨在將數(shù)據(jù)劃分為k個(gè)簇,使得同一簇中的數(shù)據(jù)點(diǎn)相似,不同簇中的數(shù)據(jù)點(diǎn)相距較遠(yuǎn)。因此,它是一種基于分區(qū)的聚類技術(shù)。兩點(diǎn)的相似性由它們之間的距離決定。
K 均值聚類試圖最小化集群內(nèi)的距離并最大化不同集群之間的距離。K-means 算法無法確定聚類的數(shù)量。我們需要在創(chuàng)建 KMeans 對象時(shí)定義它,這可能是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。
考慮以下數(shù)據(jù)集的二維可視化:

它可以分為 4 個(gè)不同的集群,如下所示:

現(xiàn)實(shí)生活中的數(shù)據(jù)集要復(fù)雜得多,其中的集群沒有明確分開。但是,該算法以相同的方式工作。K-means 是一個(gè)迭代過程。它建立在期望最大化算法之上。確定集群數(shù)量后,它通過執(zhí)行以下步驟來工作:
- 為每個(gè)集群隨機(jī)選擇質(zhì)心(集群中心)。
- 計(jì)算所有數(shù)據(jù)點(diǎn)到質(zhì)心的距離。
- 將數(shù)據(jù)點(diǎn)分配給最近的集群。
- 通過取集群中所有數(shù)據(jù)點(diǎn)的平均值來找到每個(gè)集群的新質(zhì)心。
- 重復(fù)步驟 2、3 和 4,直到所有點(diǎn)收斂并且聚類中心停止移動(dòng)。
K-Means 聚類相對較快且易于解釋。它還能夠以一種智能方式選擇初始質(zhì)心的位置,從而加快收斂速度。
k-means 的一個(gè)挑戰(zhàn)是必須預(yù)先確定集群的數(shù)量。K-means 算法無法猜測數(shù)據(jù)中存在多少簇。如果數(shù)據(jù)中存在分離組的非線性結(jié)構(gòu),則 k-means 將不是一個(gè)好的選擇。
9. 層次聚類
層次聚類意味著通過迭代分組或分離數(shù)據(jù)點(diǎn)來創(chuàng)建聚類樹。有兩種類型的層次聚類:
- 凝聚聚類
- 分裂聚類
層次聚類的優(yōu)點(diǎn)之一是我們不必指定聚類的數(shù)量。

凝聚聚類是一種自下而上的方法。首先假定每個(gè)數(shù)據(jù)點(diǎn)是一個(gè)單獨(dú)的集群。然后相似的簇被迭代組合。

上圖稱為樹狀圖,它是表示基于樹的方法的圖。在層次聚類中,樹狀圖用于可視化聚類之間的關(guān)系。
層次聚類的優(yōu)點(diǎn)之一是我們不必事先指定聚類的數(shù)量。但是,將所有數(shù)據(jù)點(diǎn)合并到一個(gè)集群中并不明智。我們應(yīng)該在某個(gè)時(shí)候停止合并集群。Scikit-learn 為此提供了兩個(gè)選項(xiàng):
- 達(dá)到多個(gè)集群后停止 (n_clusters)
- 設(shè)置鏈接的閾值 (distance_threshold)。如果兩個(gè)簇之間的距離高于閾值,則不會(huì)合并這些簇。
分裂聚類在現(xiàn)實(shí)生活中并不常用,所以我會(huì)簡單地提一下。簡單而明確的解釋是分裂聚類與凝聚聚類相反。我們從一個(gè)包含所有數(shù)據(jù)點(diǎn)的巨型集群開始。然后數(shù)據(jù)點(diǎn)被分成不同的集群。這是一種自上而下的方法。
層次聚類總是生成相同的聚類。K 均值聚類可能會(huì)產(chǎn)生不同的聚類,具體取決于質(zhì)心(聚類中心)的啟動(dòng)方式。但是,與 k-means 相比,它是一種較慢的算法。層次聚類需要很長時(shí)間才能運(yùn)行,尤其是對于大型數(shù)據(jù)集。
10. DBSCAN 聚類
基于分區(qū)和層次聚類技術(shù)對于正常形狀的聚類非常有效。然而,當(dāng)涉及到任意形狀的簇或檢測異常值時(shí),基于密度的技術(shù)更有效。


DBSCAN代表具有噪聲的基于密度的空間聚類。它能夠找到任意形狀的簇和帶有噪聲的簇(即異常值)。
DBSCAN 背后的主要思想是,如果一個(gè)點(diǎn)靠近該集群中的許多點(diǎn),則該點(diǎn)屬于該集群。
DBSCAN有兩個(gè)關(guān)鍵參數(shù):
- eps:指定鄰域的距離。如果兩點(diǎn)之間的距離小于或等于 eps,則認(rèn)為它們是相鄰點(diǎn)。
- minPts:定義集群的最小數(shù)據(jù)點(diǎn)數(shù)。
基于這兩個(gè)參數(shù),點(diǎn)被分類為核心點(diǎn)、邊界點(diǎn)或離群點(diǎn):
- 核心點(diǎn):如果一個(gè)點(diǎn)在其周圍半徑為eps的區(qū)域中至少有minPts個(gè)點(diǎn)(包括點(diǎn)本身),則該點(diǎn)是核心點(diǎn)。
- 邊界點(diǎn):如果一個(gè)點(diǎn)可以從核心點(diǎn)到達(dá)并且其周圍區(qū)域內(nèi)的點(diǎn)數(shù)少于 minPts,則該點(diǎn)是邊界點(diǎn)。
- 離群點(diǎn):如果一個(gè)點(diǎn)不是核心點(diǎn)并且無法從任何核心點(diǎn)到達(dá),則該點(diǎn)是離群點(diǎn)。
DBSCAN 不需要事先指定簇?cái)?shù)。它對異常值具有魯棒性并且能夠檢測異常值。
在某些情況下,確定適當(dāng)?shù)泥徲蚓嚯x (eps) 并不容易,它需要領(lǐng)域知識(shí)。
11.主成分分析(PCA)
PCA 是一種降維算法,它基本上從現(xiàn)有特征中導(dǎo)出新特征,同時(shí)保留盡可能多的信息。PCA 是一種無監(jiān)督學(xué)習(xí)算法,但它也被廣泛用作監(jiān)督學(xué)習(xí)算法的預(yù)處理步驟。
PCA 通過查找數(shù)據(jù)集中特征之間的關(guān)系來導(dǎo)出新特征。
注意:PCA 是一種線性降維算法。也有可用的非線性方法。
PCA 的目的是通過使用較少的特征(或列)盡可能多地解釋原始數(shù)據(jù)集中的方差。新的派生特征稱為主成分。主成分的順序是根據(jù)它們解釋的原始數(shù)據(jù)集的方差分?jǐn)?shù)來確定的。

主成分是原始數(shù)據(jù)集特征的線性組合。
PCA 的優(yōu)點(diǎn)是使用比原始數(shù)據(jù)集少得多的特征保留了原始數(shù)據(jù)集的大量方差。主成分根據(jù)它們解釋的方差量排序。
本文轉(zhuǎn)載自?? 沐白AI筆記??,作者: 楊沐白

















