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...