-
大小: 151KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-06-04
- 語言: 其他
- 標簽:
資源簡介
支持向量機的相關經典案例,里面包含線性核函數和非線性核函數,另外還有實例:支持向量機手寫數字識別;內含測試集訓練集、代碼源文件及注釋,可直接運行(需安裝numpy和matplotlib)

代碼片段和文件信息
‘‘‘
Created?on?Nov?4?2010
Chapter?5?source?file?for?Machine?Learing?in?Action
@author:?Peter
‘‘‘
import?numpy?as?np
from?numpy?import?*
import?random
import?matplotlib.pyplot?as?plt
from?time?import?sleep
def?loadDataSet(fileName):
????dataMat?=?[];
????labelMat?=?[]
????fr?=?open(fileName)
????for?line?in?fr.readlines():
????????lineArr?=?line.strip().split(‘\t‘)
????????dataMat.append([float(lineArr[0])?float(lineArr[1])])
????????labelMat.append(float(lineArr[2]))
????return?dataMat?labelMat
def?selectJrand(i?m):
????j?=?i??#?we?want?to?select?any?J?not?equal?to?i
????while?(j?==?i):
????????j?=?int(random.uniform(0?m))
????return?j
def?clipAlpha(aj?H?L):
????if?aj?>?H:
????????aj?=?H
????if?L?>?aj:
????????aj?=?L
????return?aj
def?smoSimple(dataMatIn?classLabels?C?toler?maxIter):
????dataMatrix?=?mat(dataMatIn);
????labelMat?=?mat(classLabels).transpose()
????b?=?0;
????m?n?=?shape(dataMatrix)
????alphas?=?mat(zeros((m?1)))
????iter?=?0
????while?(iter?????????alphaPairsChanged?=?0
????????for?i?in?range(m):
????????????fXi?=?float(multiply(alphas?labelMat).T?*?(dataMatrix?*?dataMatrix[i?:].T))?+?b
????????????Ei?=?fXi?-?float(labelMat[i])??#?if?checks?if?an?example?violates?KKT?conditions
????????????if?((labelMat[i]?*?Ei?-toler)?and?(alphas[i]??toler)?and?(alphas[i]?>?0)):
????????????????j?=?selectJrand(i?m)
????????????????fXj?=?float(multiply(alphas?labelMat).T?*?(dataMatrix?*?dataMatrix[j?:].T))?+?b
????????????????Ej?=?fXj?-?float(labelMat[j])
????????????????alphaIold?=?alphas[i].copy();
????????????????alphaJold?=?alphas[j].copy();
????????????????if?(labelMat[i]?!=?labelMat[j]):
????????????????????L?=?max(0?alphas[j]?-?alphas[i])
????????????????????H?=?min(C?C?+?alphas[j]?-?alphas[i])
????????????????else:
????????????????????L?=?max(0?alphas[j]?+?alphas[i]?-?C)
????????????????????H?=?min(C?alphas[j]?+?alphas[i])
????????????????if?L?==?H:?print?(“L==H“);?continue
????????????????eta?=?2.0?*?dataMatrix[i?:]?*?dataMatrix[j?:].T?-?dataMatrix[i?:]?*?dataMatrix[i?:].T?-?dataMatrix[
????????????????????????????????????????????????????????????????????????????????????????????????????????????j
????????????????????????????????????????????????????????????????????????????????????????????????????????????:]?*?dataMatrix[
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????j?:].T
????????????????if?eta?>=?0:?print?(“eta>=0“);?continue
????????????????alphas[j]?-=?labelMat[j]?*?(Ei?-?Ej)?/?eta
????????????????alphas[j]?=?clipAlpha(alphas[j]?H?L)
????????????????if?(abs(alphas[j]?-?alphaJold)?0.00001):?print?(“j?not?moving?enough“);?continue
????????????????alphas[i]?+=?labelMat[j]?*?labelMat[i]?*?(alphaJold?-?alphas[j])??#?update?i?by?the?same?amount?as?j
????????????????#?the?update?is?in?the?oppostie?direction
????????????????b1?=?b?-?Ei
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4571??2019-03-25?13:49??支持向量機(線性核函數、非線性核函數、手寫數字識別)\IRIS_dataset.txt
?????文件??????17857??2019-03-28?10:39??支持向量機(線性核函數、非線性核函數、手寫數字識別)\SVM-01_.py
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_0.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_1.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_10.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_11.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_12.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_13.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_14.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_15.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_16.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_17.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_18.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_19.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_2.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_20.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_21.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_22.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_23.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_24.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_25.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_26.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_27.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_28.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_29.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_3.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_30.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_31.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_32.txt
?????文件???????1088??2010-10-07?05:35??支持向量機(線性核函數、非線性核函數、手寫數字識別)\testDigits\1_33.txt
............此處省略571個文件信息
評論
共有 條評論