首先需要了解的一點(diǎn):分類問題屬于有監(jiān)督學(xué)習(xí);降維和聚類屬于無監(jiān)督學(xué)習(xí)類型。
有監(jiān)督學(xué)習(xí)實(shí)例:鳶尾花數(shù)據(jù)分類
我們使用簡單的高斯樸素貝葉斯方法完成這個(gè)分類任務(wù),該方法假設(shè)每個(gè)特征中屬于每一類的觀測值都符合高斯分布。
首先劃分訓(xùn)練集和測試集:train set和test set。

如上圖,具體每一步含義見程序注釋。
最終預(yù)測結(jié)果高達(dá)97%,說明這個(gè)簡單的分類算法可以有效的學(xué)習(xí)這個(gè)數(shù)據(jù)集。
無監(jiān)督學(xué)習(xí):鳶尾花降維
降維任務(wù)是要找到一個(gè)可以保留數(shù)據(jù)本質(zhì)特征的低維矩陣來表示高維數(shù)據(jù)。降維可以用來輔助數(shù)據(jù)可視化的工作。
下面使用主成分分析法PCA把四維鳶尾花數(shù)據(jù)降為二維數(shù)據(jù)。

接下來將二位數(shù)據(jù)插入到鳶尾花的DataFrame中,然后畫出結(jié)果圖。
插入后DataFrame數(shù)據(jù)形式此時(shí)形式如下:


Implot擬合不同模型
(1.1)lmplot默認(rèn)參數(shù)線性擬合
(1.2)lmplot的order參數(shù),設(shè)置高階擬合
(1.3)lmplot的robust參數(shù),設(shè)置抗噪聲魯棒性
(1.4)lmplot的logistic參數(shù),設(shè)置擬合曲線是logistic(二類分類模型)
(1.5)col:根據(jù)所指定屬性在列上分類
(1.6)row:根據(jù)所指定屬性在行上分類
(1.7)fit_reg 表示回歸的直線要不要畫出來
從二維數(shù)據(jù)圖可以看到,雖然PCA算法不知道數(shù)據(jù)標(biāo)簽,但是仍然將鳶尾花類別清楚的分類出來!
無監(jiān)督學(xué)習(xí)示例:鳶尾花數(shù)據(jù)聚類
我們使用一個(gè)強(qiáng)大的聚類方法——高斯混合模型(GMM)。GMM模型試圖將數(shù)據(jù)構(gòu)造成若干服從高斯分布的概率密度函數(shù)簇。
我們通過上一步PCA將數(shù)據(jù)降維到平面,接下來使用聚類算法將以上3個(gè)類別的鳶尾花分為3個(gè)簇。

GMM參數(shù):
# 1. n_components:混合高斯模型個(gè)數(shù),默認(rèn)為1
# 2. covariance_type:協(xié)方差類型,包括{‘full’,‘tied’, ‘diag’, ‘spherical’}四種,分別對應(yīng)完全協(xié)方差矩陣(元素都不為零),相同的完全協(xié)方差矩陣(HMM會用到),對角協(xié)方差矩陣(非對角為零,對角不為零),球面協(xié)方差矩陣(非對角為零,對角完全相同,球面特性),默認(rèn)‘full’ 完全協(xié)方差矩陣
# 3. tol:EM迭代停止閾值,默認(rèn)為1e-3.
# 4. reg_covar:協(xié)方差對角非負(fù)正則化,保證協(xié)方差矩陣均為正,默認(rèn)為0
# 5. max_iter:最大迭代次數(shù),默認(rèn)100
# 6. n_init:初始化次數(shù),用于產(chǎn)生最佳初始參數(shù),默認(rèn)為1
以上輸出預(yù)測的簇標(biāo)簽。
接下來根據(jù)簇?cái)?shù)量對數(shù)據(jù)進(jìn)行分割,就會清晰的看到GMM的訓(xùn)練效果。
其中的第一類cluster=0被完美的分割出來,唯一遺憾的是cluster=2有些許的混淆。

我們將fit_reg設(shè)置為True,可以看到回歸直線:

即使不知道鳶尾花的類別,但是我們?nèi)耘f通過以上簡單的聚類算法自動的識別出了不同類別的花!
這種算法還可以幫助我們探索觀察不同樣本之間的關(guān)聯(lián)性。