05 《機器學習及實戰》學習之支援向量機分類

2021-08-17 10:21:03 字數 1747 閱讀 8479

支援向量:真正幫助決策最優線性分類模型的資料點(注意是點)。何為支援向量,說白了就是一大堆決策之中最靠譜的那個!

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

# -*- coding: utf-8 -*-

#1、手寫體資料讀取**樣例

#從sklearn.datasets裡面匯入手寫體數字載入器

from sklearn.datasets import load_digits

#從通過資料載入器獲得手寫體數字的數碼影象資料並儲存在digits變數中

digits=load_digits()

print digits.data.shape

#2、手寫體資料分割樣例

#從sklearn.cross_validation import train_test_split

#2、從sklearn.model_selection import train_test_split

from sklearn.model_selection 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

print y_test.shape

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

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

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中

y_predict=lsvc.predict(x_test)

print y_predict

#4、在支援向量機模型分類的對手寫體數碼影象識別能力的評估

#使用模型自帶的評估函式進行準確性評測

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

#依然使用sklearn.metric裡面的classification_report

from sklearn.metrics import classification_report

print classification_report(y_test,y_predict,target_names=digits.target_names.astype(str))

鳴謝:《機器學習及實戰》編者

機器學習實戰 機器學習實戰 支援向量機(一)

從分類效力來講,svm在無論線性還是非線性分類中,都十分出色 現在桌子上有一些雜亂的 小球 我們想要將他們分開 我們可以放一根棒棒上去 是不是看起來還行,小棍將藍色球和紅色球分開。但這時,又有個人把一顆紅色的小球放在了棍子的另一邊,這樣就有乙個球似乎落在了錯誤的一側,我們可能需要調整棒棒 所謂,sv...

機器學習實戰 支援向量機

有些人認為svm是最好的現成的分類器,這裡說的現成值得是分類器不加修改即可直接使用。同時,這意味著在資料上應用基本形式的svm分類器就可以得到低錯誤率的結果。svm能夠對訓練集之外的資料點作出很好的分類決策。svm有很多實現,本章只關注其中最流行的一種實現,即序列最小優化 smo 演算法。優點 泛化...

機器學習實戰之KMeans

from numpy import def loaddataset filename datamat fr open filename for line in fr.readlines curline line.strip split t fltline map float,curline retu...