Exemple #1
0
    print("the test error rate is: %f" % (float(errorCount) / m))


if __name__ == "__main__":
    import svmMLiA
    dataArr, labelArr = svmMLiA.loadDataSet('testSetSVM.txt')
    print("dataArr:\n", dataArr)
    print("labenlArr:\n", labelArr)

    b, alphas = svmMLiA.smoSimple(dataArr, labelArr, 0.6, 0.001, 40)
    print("\nb:\n", b, "\nalphas:\n",
          alphas[alphas > 0])  #alphas[alphas>0], only can be used in numpy
    print("\nshape of alphas>0:\n", shape(alphas[alphas > 0]))
    for i in range(100):
        if alphas[i] > 0.0:
            print(dataArr[i], labelArr[i])

    # b,alphas = svmMLiA.smoPK(dataArr,labelArr,0.6,0.001,40)
    # print("\nb2:\n", b, "\nalphas2:\n", alphas[alphas > 0])  # alphas[alphas>0], only can be used in numpy
    #
    # ws=svmMLiA.calcWs(alphas,dataArr,labelArr)
    # print("\nws:\n",ws)

    # dataMat=mat(dataArr)
    # print("datMat[i]: ",dataMat[2]*mat(ws)+b)
    # print("LabelArr[i]: ",labelArr[2])

    #svmMLiA.testRbf()

    svmMLiA.testDigits(('rbf', 20))
Exemple #2
0
Created on 2015. 10. 27.

@author: KimTaeJin
'''
import svmMLiA
from numpy import * 

# dataArr, labelArr = svmMLiA.loadDataSet('../data/testSet.txt')
# print(labelArr)


# reload(svmMLiA)
# b, alphas = svmMLiA.smoSimple(dataArr, labelArr, 0.6, 0.001, 40)
# 
# print(b)
# print(alphas[alphas>0])

# b, alphas = svmMLiA.smoP(dataArr, labelArr, 0.6, 0.001, 40)
# 
# ws = svmMLiA.calcWs(alphas, dataArr, labelArr)
# print(ws)
# 
# dataMat = mat(dataArr)
# dataMat[0] * mat(ws) + b

# reload(svmMLiA)
# svmMLiA.testRbf()

# reload(svmMLiA)
svmMLiA.testDigits(('rbf', 20))
Exemple #3
0
import svmMLiA
#from numpy import *

#dataArr, labelArr = svmMLiA.loadDataSet('testSet.txt')
#print labelArr, "\n"

#b, alphas = svmMLiA.smoSimple(dataArr, labelArr, 0.6, 0.001, 40)
#print b

#b, alphas = svmMLiA.smoP(dataArr, labelArr, 0.6, 0.001, 20)

#ws = svmMLiA.calcWs(alphas, dataArr, labelArr)
#print ws

#svmMLiA.testRbf()
#svmMLiA.testRbf(2.1)

svmMLiA.testDigits()
#svmMLiA.testDigits(('rbf',20))
  iter: 30 i:17, pairs changed 1
  j not moving enough
  iteration number: 0
  j not moving enough
  iteration number: 1

  b: matrix([[-3.8486163]])
  alphas[alphas>0] = matrix([[0.09313378, 0.27456007, 0.04445935, 0.3232345 ]])

"""

# To see which points of our dataset are support vectors
for i in range(100):
    if alphas[i] > 0.0:
        print(dataArr[i], labelArr[i])
"""
output:
  [4.658191, 3.507396] -1.0
  [3.457096, -0.082216] -1.0
  [2.893743, -1.643468] -1.0
  [6.080573, 0.418886] 1.0
"""
""" optimised SMOP """
b, alphas = SVM.smoP(dataArr, labelArr, 0.6, 0.001, 40)
""" get alpha for supporting vectors """
ws = SVM.calcWs(alphas, dataArr, labelArr)
""" test rbf kernel """
SVM.testRbf()
""" testdigits classification using rbf kernel """
SVM.testDigits(('rbf', 20))
#!/usr/bin/python
# encoding: utf-8

'''
Created on Dec 2, 2015

@author: yanruibo
'''
import svmMLiA

'''
测试四种核函数的SVM
'''
if __name__ == '__main__':
    svmMLiA.testDigits(('lin',))
    #svmMLiA.testDigits(('rbf',50))
    #svmMLiA.testDigits(('polynomial',100))
    #svmMLiA.testDigits(('sigmoid',0.00125,0.4))
    
Exemple #6
0
'''
b, alphas = sl.smoSimple(dataArray, labelArray, 0.6, 0.001, 40)

# print('b = ', b)
print('alphas numbers = ', shape(alphas[alphas > 0]))

for i in range(100):
	if alphas[i] > 0.0:
		print(dataArray[i], labelArray[i])



b, alphas = sl.smoP(dataArray, labelArray, 0.6, 0.001, 40)

ws = sl.calcWs(alphas, dataArray, labelArray)
print('ws : ', ws)

dataMat = mat(dataArray)
print('first data label : ', dataMat[0] * mat(ws) + b)
print('labelArray[0] = ', labelArray[0])

print('labelArray[1] = ', labelArray[0])

print('labelArray[2] = ', labelArray[0])

'''
# sl.testRbf()

# k1 = 10 to get the smallest test-error
sl.testDigits(('rbf', 10))
Exemple #7
0
import svmMLiA

svmMLiA.testDigits()
Exemple #8
0
    if alphas[i] > 0.0:
        print(dataArr[i], labelArr[i])

# 看下优化之后的
reload(svmMLiA)
b, alphas = svmMLiA.smoP(dataArr, labelArr, 0.6, 0.001, 40)

# 给出W
reload(svmMLiA)
ws = svmMLiA.calcWs(alphas, dataArr, labelArr)
ws

# 查看分类结果
datMat = sp.mat(dataArr)
datMat[0] * sp.mat(ws) + b  # 看预测的
labelArr[0]  # 看实际的

# 试试看高斯核的
reload(svmMLiA)
svmMLiA.testGauss()  # 默认是1.3
svmMLiA.testGauss(k1=0.5)
svmMLiA.testGauss(k1=0.7)
svmMLiA.testGauss(k1=0.9)
svmMLiA.testGauss(k1=1.1)
svmMLiA.testGauss(k1=1.4)
svmMLiA.testGauss(k1=1.6)  # 别搞太大

#看看在数字识别上效果如何
reload(svmMLiA)
svmMLiA.testDigits(('Gauss', 10))  # 这个应该是最好的参数了已经
Exemple #9
0
#求出分离超平面
b,alphas=svmMLiA.smoP(dataArr,labelArr,0.6,0.001,40)
ws=svmMLiA.calcWs(alphas,dataArr,labelArr)
#分类决策函数
lf=svmMLiA.classifySVM(ws,b,dataArr[0])
print( lf )

#结束时间
endtime = time.clock()
print( (endtime-starttime) )

#测试svm
svmMLiA.testRbf(0.1)
'''

svmMLiA.testDigits(kTup=('rbf',20))














Exemple #10
0
#!/usr/bin/python
# encoding: utf-8
'''
Created on Dec 2, 2015

@author: yanruibo
'''
import svmMLiA
'''
测试四种核函数的SVM
'''
if __name__ == '__main__':
    svmMLiA.testDigits(('lin', ))
    #svmMLiA.testDigits(('rbf',50))
    #svmMLiA.testDigits(('polynomial',100))
    #svmMLiA.testDigits(('sigmoid',0.00125,0.4))