import pandas as pd
import numpy as np
#匯入手寫體數字載入器
from sklearn.datasets import load_digits
#獲得手寫體數字的數碼影象資料,儲存在digits變數中
digits=load_digits()
digits.data.shape
#共有1797條,每幅由8*8=64的畫素矩陣表示
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)
y_train.shape
y_test.shape
from sklearn.preprocessing import standardscaler
#匯入基於線性假設的支援向量機分類器
from sklearn.svm import linearsvc
#特徵標準化
ss=standardscaler()
x_train=ss.fit_transform(x_train)
x_test=ss.fit_transform(x_test)
lsvc=linearsvc()
lsvc.fit(x_train,y_train)
y_predict=lsvc.predict(x_test)
#accuracy
print(lsvc.score(x_test,y_test))
from sklearn.metrics import classification_report
print(classification_report(y_test,y_predict,target_names=digits.target_names.astype(str)))
#將數字型別轉換為文字型
3 支援向量機
3.1 本質 基本模型是定義在特徵空間上的間隔最大的線性分類器。核技巧使之成為實質上的非線性分類器。學習策略是間隔最大化,可形式化為求解凸二次優化問題。等價於正則化的合頁損失函式的最小化問題。學習演算法是求解凸二次規劃的最優化演算法。理解支援向量機可以從簡至繁推進 線性可分支援向量機 硬間隔svm ...
02 37 支援向量機總結
目錄更新 更全的 機器學習 的更新 更有python go 資料結構與演算法 爬蟲 人工智慧教學等著你 支援向量機中有線性可分支援向量機 線性支援向量機 非線性支援向量機 線性支援回歸等演算法,算是前期比較繁瑣的乙個內容,如果感覺自己還是對間隔最大化 支援向量等知識點不太了解的,可以對著簡單的感知機...
6 3 支援向量機演算法 下)
svm演算法特性 1.1 訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的維度決定的。所以svm不太容易產生overfitting 1.2 svm訓練出來的模型完全依賴於支援向量 support vectors 即使訓練集裡面所有非支援向量的點都被去除,重複訓練過程,結果仍然會得到...