分類學習 支援向量機(Scikit learn)

2021-08-14 21:40:05 字數 1150 閱讀 5737

手寫體數字識別

1、手寫體資料讀取

from sklearn.datasets import load_digits

digits = load_digits() #獲得的手寫體資料儲存在digits變數中

print(digits.data.shape)

2、資料分割

from sklearn.cross_validation import train_test_split

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、資料標準化

#用支援向量機進行分類處理

from sklearn.preprocessing import standardscaler

from sklearn.svm import linearsvc

#標準化資料

ss = standardscaler()

x_train = ss.fit_transform(x_train)

x_test = ss.transform(x_test)

4、訓練模型

#訓練模型

lsvc = linearsvc()

lsvc.fit(x_train, y_train)

y_predict = lsvc.predict(x_test)

5、效能分析

#效能分析

from sklearn.metrics import classification_report

print('accuracy of linear svc',lsvc.score(x_test, y_test))

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

感知機分類學習

感知機 perceptron 是一種二類分類的線性分類模型,也就是說,使用於將資料分成兩類的,並且資料要線性可分的情況。線性可分是指存在乙個超平面能夠將空間分成兩部分,每一部分為一類,感知機的目的就在於找這樣的乙個超平面。假設輸入資料形式為x x1,x2.xn 即所謂的特徵向量。y代表輸入資料的類別...

支援向量機多分類

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