资源简介
支持向量机的几个Python代码例子,分别是有SMO实现,核函数的应用,以及手写数字识别的代码例子,下载即可运行
代码片段和文件信息
# -*- coding: cp936 -*-
‘‘‘
Created on Nov 4 2010
Chapter 5 source file for Machine Learing in Action
@author: Peter
‘‘‘
from numpy import *
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 dataMatlabelMat
def selectJrand(im):
j=i #we want to select any J not equal to i
while (j==i):
j = int(random.uniform(0m))
return j
def clipAlpha(ajHL):
if aj > H:
aj = H
if L > aj:
aj = L
return aj
class optStruct:
def __init__(selfdataMatIn classLabels C toler): # Initialize the structure with the parameters
self.X = dataMatIn
self.labelMat = classLabels
self.C = C
self.tol = toler
self.m = shape(dataMatIn)[0]
self.alphas = mat(zeros((self.m1)))
self.b = 0
self.eCache = mat(zeros((self.m2))) #first column is valid flag
def calcEk(oS k):
fXk = float(multiply(oS.alphasoS.labelMat).T*oS.X*oS.X[k:].T + oS.b)
Ek = fXk - float(oS.labelMat[k])
return Ek
def selectJ(i oS Ei): #this is the second choice -heurstic and calcs Ej
maxK = -1;
maxDeltaE = 0;
Ej = 0
oS.eCache[i] = [1Ei] #set valid #choose the alpha that gives the maximum delta E
validEcacheList = nonzero(oS.eCache[:0].A)[0]
if (len(validEcacheList)) > 1:
for k in validEcacheList: #loop through valid Ecache values and find the one that maximizes delta E
if k == i: continue #don‘t calc for i waste of time
Ek = calcEk(oS k)
deltaE = abs(Ei - Ek)
if (deltaE > maxDeltaE):
maxK = k;
maxDeltaE = deltaE;
Ej = Ek
return maxK Ej
else: #in this case (first time around) we don‘t have any valid eCache values
j = selectJrand(i oS.m)
Ej = calcEk(oS j)
return j Ej
def updateEk(oS k):#after any alpha has changed update the new value in the cache
Ek = calcEk(oS k)
oS.eCache[k] = [1Ek]
def innerL(i oS):
Ei = calcEk(oS i)
if ((oS.labelMat[i]*Ei < -oS.tol) and (oS.alphas[i] < oS.C)) or ((oS.labelMat[i]*Ei > oS.tol) and (oS.alphas[i] > 0)):
jEj = selectJ(i oS Ei) #this has been changed from selectJrand
alphaIold = oS.alphas[i].copy();
alphaJold = oS.alphas[j].copy();
if (oS.labelMat[i] != oS.labelMat[j]):
L = max(0 oS.alphas[j] - oS.alphas[i])
H = min(oS.C oS.C + oS.alphas[j] - oS.alphas[i])
else:
L = max(0 oS.alphas[j] + oS.alphas[i] - oS.C)
H = min(oS.C oS.alphas[j] + oS.alphas[i])
if L==H:
print “L==H“;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-12-17 10:21 支持向量机(ML in action)整理\
文件 5558 2014-12-16 22:38 支持向量机(ML in action)整理\optimalMethod.py
文件 3697 2014-12-16 21:11 支持向量机(ML in action)整理\simple.py
文件 7366 2014-12-17 09:44 支持向量机(ML in action)整理\svmRBF.py
文件 2208 2010-11-04 14:13 支持向量机(ML in action)整理\testSet.txt
文件 2945 2010-11-26 18:16 支持向量机(ML in action)整理\testSetRBF.txt
文件 2951 2010-11-26 18:17 支持向量机(ML in action)整理\testSetRBF2.txt
目录 0 2014-12-17 08:43 支持向量机(ML in action)整理\作图\
文件 2336 2010-11-03 16:30 支持向量机(ML in action)整理\作图\notLinSeperable.py
文件 835 2011-02-16 18:24 支持向量机(ML in action)整理\作图\plotRBF.py
文件 1452 2010-11-23 19:46 支持向量机(ML in action)整理\作图\plotSupportVectors.py
文件 2208 2010-11-04 14:13 支持向量机(ML in action)整理\作图\testSet.txt
文件 2950 2014-12-17 08:51 支持向量机(ML in action)整理\作图\testSetRBF2.txt
目录 0 2014-12-17 10:17 支持向量机(ML in action)整理\识别数字1和9\
文件 7617 2014-12-17 10:18 支持向量机(ML in action)整理\识别数字1和9\svmMLiA.py
目录 0 2014-12-16 22:40 支持向量机(ML in action)整理\识别数字1和9\testDigits\
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_0.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_1.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_10.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_11.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_12.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_13.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_14.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_15.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_16.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_17.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_18.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_19.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_2.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_20.txt
文件 1088 2010-10-07 05:35 支持向量机(ML in action)整理\识别数字1和9\testDigits\1_21.txt
............此处省略574个文件信息
相关资源
- Python:网络爬虫抓取豆瓣3万本书-详细
- Python GUI项目:文件夹管理系统代码
- python2.7_批量读取netCDF4文件并输出为
- Python 3网络爬虫开发实战pdf 崔庆才著
- python串口读写
- 基于Python的Vibe目标检测代码
- python首次连接STK
- PSO_TSP_Python
- PythonOCC的安装
-
pyQt5_wavepla
yer python计算声音分贝 语 - The Python Language Reference Manual 无水印
- iris.csv数据集和python代码
- Python爬虫爬取校内论坛标题,并将关
- crowd counting test single image demo
- kNN(python实现)
- ds18x20_onewire.rar
- python生成扭曲带干扰验证码
- 基于OpenCV 3 LBPH 人脸识别 Python代码
- Python标准库源代码.zip
- 信息隐藏——Python语言幻方置乱实现
- train_loss_acc.py
- 可视化函数绘图计算器
- Bayesian Network贝叶斯网络 Python Program
- Python WSQ行情订阅演示案例.rar
- python网络爬虫爬取Boss直聘代码
- generate_train_val_test_txt.py
- 在python环境下成功实现视频分帧,并
- 传染病SEIR传播动力模型python代码
- 船舶AIS数据轨迹可视化python代码.py
- python背单词小程序
评论
共有 条评论