支援向量機 (Support Vector Machine) 是由Vapnik等人于1995年提出來的,之後随着統計理論的發展,支援向量機 SVM 也逐漸受到了各領域研究者的關注,在很短的時間就得到了很廣泛的應用。
支援向量機是被公認的比較優秀的分類模型。同時,在支援向量機的發展過程中,其理論方面的研究得到了同步的發展,為支援向量機的研究提供了強有力的理論支撐。
本實訓項目主要圍繞支援向量機的原理和技術進行介紹,并基于實際案例進行實戰實訓。
第1關:線性可分支援向量機
1.B
2.B
3.C
4.B
5.D
6.A C
第2關:線性支援向量機
任務描述
本關任務:複習課本及網絡教學平台教學資源,使用sklearn實作線性支援向量機,并通過癌細胞資料中訓練集對模型進行訓練,再對測試集癌細胞資料進行識别。
#encoding=utf8
from sklearn.svm import LinearSVC
def linearsvc_predict(train_data,train_label,test_data):
'''
input:train_data(ndarray):訓練資料
train_label(ndarray):訓練标簽
output:predict(ndarray):測試集預測标簽
'''
#********* Begin *********#
'''
dual : bool, (default=True) 選擇算法以解決雙優化或原始優化問題。
當n_samples> n_features時,首選dual = False
'''
lsvc = LinearSVC(dual = False)
lsvc.fit(train_data,train_label)
predict = lsvc.predict(test_data)
#********* End *********#
return predict
第3關:非線性支援向量機
任務描述
本關任務:複習教材及網絡教學平台資源,使用sklearn實作非線性支援向量機,并通過鸢尾花資料中訓練集對模型進行訓練,再對測試集鸢尾花資料進行分類。
#encoding=utf8
from sklearn.svm import SVC
def svc_predict(train_data,train_label,test_data,kernel):
'''
input:train_data(ndarray):訓練資料
train_label(ndarray):訓練标簽
kernel(str):使用核函數類型:
'linear':線性核函數
'poly':多項式核函數
'rbf':徑像核函數/高斯核
output:predict(ndarray):測試集預測标簽
'''
#********* Begin *********#
clf =SVC(kernel=kernel)
clf.fit(train_data,train_label)
predict = clf.predict(test_data)
#********* End *********#
return predict