貝葉斯模型、SVM模型、K均值(Kmeans)聚類、DBSCAN聚類和GDBT模型


貝葉斯模型、SVM模型、K均值聚類、DBSCAN聚類和GDBT模型

  • 貝葉斯模型

  • SVM模型

  • K均值(Kmeans)聚類

  • DBSCAN聚類

  • GDBT模型

貝葉斯模型

概念

通過已知類別的訓練數據集,計算樣本的先驗概率,然后利⽤⻉葉斯
概率公式測算未知類別樣本屬於某個類別的后驗概率
最終以最⼤后驗概率所對應的類別作為樣本的預測值

高斯貝葉斯分類器

適用於自變量為連續的數值類型的情況

eg:假設某⾦融公司是否願意給客戶放貸會優先考慮兩個因素,分別是年齡和收⼊。

多項式貝葉斯分類器

適用於自變量為離散型類型的情況(非數字類型)

eg:假設影響⼥孩是否參加相親活動的重要因素有三個,分別 是男孩的職業、受教育⽔平和收⼊狀況;

伯努利貝葉斯分類器

適用於自變量為二元值的情況(可以自帶的 也可以是后期處理“因子化”)

eg:假設對10條評論數據做分詞處理后,得到如表 12-5所示的⽂檔詞條矩陣,矩陣中含有5個詞語和1 個表示情感的結果

 

函數:

⾼斯⻉葉斯函數

bayes.GaussianNB()

多項式⻉葉斯分類器函數

MultinomialNB()

伯努利⻉葉斯分類器

BernoulliNB()

 

SVM模型

超平面的概念

將樣本點划分成不同的類別(三種表現形式:點、線、面)

超平面最優解

1.先隨機選擇一條直線
2.分別計算兩邊距離改直線最短的點距離 取更小的距離
3.以該距離左右兩邊做分隔帶
4.依次直線上述三個步驟得出N多個分隔帶 最優的就是分隔帶最寬的

線性可分和非線性可分

線性可分:簡單的理解為就是一條直線划分類別

非線性可分:一條直線無法直接划分 需要升一個維度再做划分

"""
        核函數:高斯核函數>>>:支持無窮維
"""

函數代碼

線性可分函數

LinearSVC(tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, intercept_scaling=1,
class_weight=None, max_iter=1000)

參數:

tol:⽤於指定SVM模型迭代的收斂條件,默認為0.0001 
C:⽤於指定⽬標函數中松弛因⼦的懲罰系數值,默認為1 
fit_intercept:bool類型參數,是否擬合線性“超平⾯”的截距項,默認為True 
intercept_scaling:當參數fit_intercept為True時,該參數有效,通過給參數傳遞⼀個浮點值,就相 當於在⾃變量X矩陣中添加⼀常數列,默認該參數值為1 
class_weight:⽤於指定因變量類別的權重,如果為字典,則通過字典的形式{class_label:weight} 傳遞每個類別的權重;如果為字符串'balanced',則每個分類的權重與實際樣本中的⽐例成反⽐,當 各分類存在嚴重不平衡時,設置為'balanced'會⽐較好;如果為None,則表示每個分類的權重相等 
max_iter:指定模型求解過程中的最⼤迭代次數,默認為1000

非線性可分函數

SVC(C=1.0, kernel=‘rbf’, degree=3, gamma=‘auto’, coef0=0.0, tol=0.001,
class_weight=None, verbose=False, max_iter=-1, random_state=None)

參數:

C:⽤於指定⽬標函數中松弛因⼦的懲罰系數值,默認為1
kernel:⽤於指定SVM模型的核函數,該參數如果為'linear',就表示線性核函數;如果為'poly',就
表示多項式核函數,核函數中的r和p值分別使⽤degree參數和gamma參數指定;如果為'rbf',表示
徑向基核函數,核函數中的r參數值仍然通過gamma參數指定;如果為'sigmoid',表示Sigmoid核函
數,核函數中的r參數值需要通過gamma參數指定;如果為'precomputed',表示計算⼀個核矩陣
degree:⽤於指定多項式核函數中的p參數值
gamma:⽤於指定多項式核函數或徑向基核函數或Sigmoid核函數中的r參數值
coef0:⽤於指定多項式核函數或Sigmoid核函數中的r參數值
tol:⽤於指定SVM模型迭代的收斂條件,默認為0.001
class_weight:⽤於指定因變量類別的權重,如果為字典,則通過字典的形式{class_label:weight}
傳遞每個類別的權重;如果為字符串'balanced',則每個分類的權重與實際樣本中的⽐例成反⽐,當
各分類存在嚴重不平衡時,設置為'balanced'會⽐較好;如果為None,則表示每個分類的權重相等
max_iter:指定模型求解過程中的最⼤迭代次數,默認為-1,表示不限制迭代次數

 

補充知識

有監督學習於無監督學習

有監督:有明確需要研究的因變量Y

無監督:沒有明確需要研究的因變量Y

 

K均值(Kmeans)聚類

屬於無監督學習

K值的求解(K表示分成幾類)

1.拐點法

  計算不同K值下類別中離差平方和(看斜率 變化越明顯越好)

2.輪廓系數法

  計算輪廓系數(看大小 越大越好)

函數代碼

KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001)

參數:

n_clusters:⽤於指定聚類的簇數
init:⽤於指定初始的簇中⼼設置⽅法,如果為'k-means++',則表示設置的初始簇中⼼之間相距較
遠;如果為'random',則表示從數據集中隨機挑選k個樣本作為初始簇中⼼;如果為數組,則表示⽤
戶指定具體的簇中⼼
n_init:⽤於指定Kmeans算法運⾏的次數,每次運⾏時都會選擇不同的初始簇中⼼,⽬的是防⽌算
法收斂於局部最優,默認為10
max_iter:⽤於指定單次運⾏的迭代次數,默認為300
tol:⽤於指定算法收斂的閾值,默認為0.0001

 

DBSCAN(密度)聚類

K均值聚類的兩大缺點

1.聚類效果容易受到異常樣本點的影響

2.無法准確的將非球形樣本進行合理的聚類

'''可以采用密度聚類解決上述兩個缺點'''

核心概念

核心對象:內部含有至少大於等於最少樣本點的樣本

非核心對象:內部少於最少樣本點的樣本

直接密度可達:在核心對象內部的樣本點到核心對象的距離

 

 密度可達:多個直接密度可達鏈接了多個核心對象(首尾點密度可達)

 

 密度相連:兩邊的點由中間的核心對象分別密度可達

 異常點:不與任何核心或非核心點有密度可達關系

 

GDBT模型

Adaboost算法

由多顆基礎決策樹組成 並且這些決策樹彼此之間有先后關系(既可以解決分類問題也可以解決預測問題)

GBDT算法

GBDT就是⽤來解決這個問題,利⽤損失函數的負梯度值作為該輪基礎模型損失值的近似,並利 ⽤這個近似值構建下⼀輪基礎模型。

 

SMOTE算法

  通過算法將比例較少的數據樣本擴大

函數代碼

Adaboost算法函數

AdaBoostClassifier(base_estimator=None, n_estimators=50,
learning_rate=1.0, algorithm='SAMME.R', random_state=None)

AdaBoostRegressor(base_estimator=None, n_estimators=50,
learning_rate=1.0, loss='linear', random_state=None)

參數:

algorithm:⽤於指定AdaBoostClassifier分類器的算法,默認為'SAMME.R',也可以使⽤
'SAMME';使⽤'SAMME.R'時,基礎模型必須能夠計算類別的概率值;⼀般⽽⾔,'SAMME.R'算法
相⽐於'SAMME'算法,收斂更快、誤差更⼩、迭代數量更少。
loss:⽤於指定AdaBoostRegressor回歸提升樹的損失函數,可以是'linear',表示使⽤線性損失函
數;也可以是'square',表示使⽤平⽅損失函數;還可以是'exponential',表示使⽤指數損失函數;
該參數的默認值為'linear'。
random_state:⽤於指定隨機數⽣成器的種⼦。

SMOTE算法

SMOTE(ratio='auto', random_state=None, k_neighbors=5, m_neighbors=10)

參數:

ratio:⽤於指定重抽樣的⽐例,如果指定字符型的值,可以是'minority'(表示對少數類別的樣本進
⾏抽樣)、'majority'(表示對多數類別的樣本進⾏抽樣)、'not minority'(表示采⽤⽋采樣⽅
法)、'all'(表示采⽤過采樣⽅法),默認為'auto',等同於'all''not minority'。如果指定字典型的
值,其中鍵為各個類別標簽,值為類別下的樣本量。
random_state:⽤於指定隨機數⽣成器的種⼦,默認為None,表示使⽤默認的隨機數⽣成器。
k_neighbors:指定近鄰個數,默認為5個。
m_neighbors:指定從近鄰樣本中隨機挑選的樣本個數,默認為10個。

返回目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM