支持向量機(SVM)利用網格搜索和交叉驗證進行參數選擇

上一回有個讀者問我:迴歸模型與分類模型的區別在哪?有什麼不一樣,我在這裏給他回答一下 : : : : html

迴歸問題一般是用來預測一個值,如預測房價、將來的天氣狀況等等,例如一個產品的實際價格爲500元,經過迴歸分析預測值爲499元,咱們認爲這是一個比較好的迴歸分析。
 
分類問題是用於將事物打上一個標籤。分類有多個特徵,一個標籤  .例如判斷一幅圖片上的動物是一隻貓仍是一隻狗,分類一般是創建在迴歸之上,分類的最後一層一般要使用softmax函數進行判斷其所屬類別。分類並無逼近的概念,最終正確結果只有一個,錯誤的就是錯誤的,不會有相近的概念。

 

 

這篇的知識點: 1,支持向量機    2 置信度    3網格搜索   數組

 

支持向量機ide

支持向量機 : 是一種按照監督學習的方式對數據進行二元分類, SVM是(支持向量機) . 能夠用來作分類和迴歸函數

SVC是SVM的一種Type,是用來的作分類的                SVR是SVM的另外一種Type,是用來的作迴歸的學習

SVM裏有兩個參數 C 和 gamma:
C是    C是懲罰係數,就是說你對偏差的寬容度,這個值越高,說明你越不能容忍出現偏差

gamma是   gamma是你選擇徑向基函數做爲kernel後,該函數自帶的一個參數。隱含地決定了數據映射到新的特徵空間後的分佈  spa

有人會問:徑向基 是什麼?    徑向基又叫作 : 高斯核函數/他是一個核函數htm

 

classifier =SVC(kernel='rbf',probability=True)   #此處是徑向基核函數
classifier=SVC(kernel='linear') # 構建線性分類器
svc(分類)    poly(多項式)    rbf(徑向基)  linear(線性分類器)
 
 

置信度blog

置信度  可理解爲:  類別機率值 //或者能夠理解爲可信度 //能夠理解爲一我的的信譽度爲1,而這個1分爲了80%和20%,你能夠信他80%,這就叫作置信度圖片

y_pred_proba =classifier.predict_proba(train_X)    #獲取預測數據的置信度置信度
#####  predict_proba 是獲取置信度

print(y_pred_proba ) #打印出這組參數的置信度get

網格搜索(Grid Search)

網格搜索(Grid Search)名字很是大氣,可是用簡答的話來講就是你手動的給出一個模型中你想要改動的所用的參數,程序自動的幫你把所用的參數都運行一遍
用 GridSearch  來搜索最佳參數組合的方法  :試出來最優的,最好的那組參數

SVM利用網格搜索和交叉驗證進行參數選擇 ,GridSearchCV是網格搜索,param_grid,是SVM,  cv = 2是摺疊次數

gride =GridSearchCV(classifier,param_grid,cv=2)

kerenl是鍵linear是他的值,線性分類器,C是他的懲罰係數,
param_grid =[{'kerenl':['linear'],'C':[1,10,100,300]}]

 

網格(gride)參數:
cv_results_ : 將鍵做爲列標題和值做爲列的字典
splits 有分離,切割的意思,拆分的意思
n_splits  :只能拆分整數,交叉驗證拆分的數量(摺疊/迭代)。
best最好的,score得分   estimate 估計
best_score_ :  float;
best_estimator  的平均交叉驗證分數,對於多度量評估.

 

原文出處:https://www.cnblogs.com/lowbi/p/10722425.html

相關文章
相關標籤/搜索