利用python中的機器學習包sklearn導入svm,然後構造一個SVC或者Linear SVC分類器。LinearSVC 是個線性分類器,用於處理線性可分的數據,只能使用線性核函數。針對非線性的數據,需要用到 SVC。在 SVC 中,我們既可以使用到線性核函數 (進行線性劃分),也能使用高維的核函數(進行非線性劃分)。
SVC 的構造函數:model = svm.SVC(kernel=『rbf』, C=1.0, gamma=『auto』),kernel選擇核函數,C為分類分錯時的懲罰係數,C越大,預測越準確,泛化能力越差。
在創建SVM分類器後,就可以輸入訓練集對它進行訓練建模。使用 model.fit(train_X,train_y),傳入訓練集中的特徵值矩陣 train_X 和分類標識 train_y.使用 prediction=model.predict(test_X) 來對結果進行預測,test_X為測試集的特徵值矩陣。
數據採集:該數據集來自於美國,可以從lengxueqing/exercises_for_python_projects醫療人員採集患者乳腺癌患者經過細針穿刺的數字化圖像,對這些圖像進行特徵提取,這些特徵是對細胞核呈現的描述。腫瘤分為良性和惡性。該數據集共有569個樣本,32列。數據集的部分截圖如下: