支援向量機分類器

2021-08-15 07:23:59 字數 1576 閱讀 8595

1 支援向量機分類器

根據訓練樣本的分布,搜尋所有可能的線性分類器中最佳的那個。

本文是利用支援向量機進行手寫體數字影象的分類任務。

2 實驗**及結果截圖

#coding:utf-8

#支援向量機分類器

#手寫體資料讀取

#從slearn.datasets裡匯入手寫數字載入器

from sklearn.datasets import load_digits

#獲取影象資料並出儲存在digits變數中

digits=load_digits()

#檢視資料規模和特徵維度

print '資料規模:',digits.data.shape[0]

print '特徵維度:',digits.data.shape[1]

#手寫體資料分割

#從sklearn.cross_validation中匯入train_test_split用於資料分割

from sklearn.cross_validation import train_test_split

#隨機75%的訓練樣本,25%的測試樣本

x_train,x_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.25,random_state=33)

print '訓練資料規模:',y_train.shape[0]

print '測試資料規模:',y_test.shape[0]

#使用支援向量機(分類)對手寫體數字影象進行識別

#從sklearn.preprocessing裡匯入資料標準化模組

from sklearn.preprocessing import standardscaler

#從sklearn.svm中匯入基於線性假設的支援向量機分類器linearsvc

from sklearn.svm import linearsvc

#標準化資料

ss=standardscaler()

x_train=ss.fit_transform(x_train)

x_test=ss.transform(x_test)

#初始化linearsvc

lsvc=linearsvc()

#進行模型訓練

lsvc.fit(x_train, y_train)

#進行**

y_predict=lsvc.predict(x_test)

#準確性測評

print 'the accuracy of linearsvc is:',lsvc.score(x_test,y_test)

#**結果的詳細分析

支援向量機多分類

支援向量機多分類可以採用兩種方式,1.一對一 one vs one 2.一對多 one vs rest 1.one vs rest clc clear all iris label,iris data libsvmread iris.scale 讀取資料到matlab格式 labels unique...

分類 SVM 支援向量機

svm,support vector machine,可用於模式分類和非線性回歸。支援向量機的主要思想是建立乙個分類超平面作為決策曲面,使得正例和反例之間的隔離邊緣被最大化。支援向量機的理論基礎是統計學習理論,更精確的說,支援向量機是結構風險最小化的近似實現。這個原理基於這樣的事實 學習機器在測試資...

支援向量機多分類libSVM

支援向量機多分類可以採用兩種方式,1.一對一 one vs one 2.一對多 one vs rest 1.one vs rest clc clear all iris label,iris data libsvmread iris.scale 讀取資料到matlab格式 labels unique...