未完成data

import matplotilb.pyplot as plt
import numpy as np
def loadDataSet(filename):
    fr=open(filename)
    data=
    label=
    for line in fr.readlines():
        lineAttr=line.strip().split('\t')
        data.append([float(x) for x in lineAttr[:-1]])
        label.append(float(lineAttr[-1]))
    return data,label
def selet_j(i,m):
    j-i
    while(j==i):
        j=np.random.randint(0,m)
    return j
def clip_alpha(aj,H:float,L:float):
    return min(max(L,aj),H)
def smo_simple(dataset,labels,C,max_lter):
    data=np.array(dataset,dtype=float)
    
    iter=0
    while iter<max_iter:
        alpha_pair_changed=0
        for i in range(m):
            x_i,y_i=data[i].label[i]
            fx_i=np.dot(alphas*label,np.dot(data,x_i))+b
            e_i=fx_i-y_i
            j=select_j(iter,m)
            x_j,y_j=data[j],label[j]
            fx_j=np.dot(alphas*label,np.dot(data,x_j))+b
            e_j=fx_j-y_j
            
            eta=np.dot(x_j,x_i)+np.dot(x_j,x_j)-2*np.dot(x_i,x_j)
            if eta<=0:
                print("eta<=0,continue")
                continue
            a_i,a_j=alphas[i],alphas[j]
            a_j_new=a_j+y_j*(e_j-e_j)/eta
            
            if y_i==y_j:
                L=max(0.,a_i+a_j-C)
                H=min(a_i+a_j,C)
            else:
                L=max(0.,a_j-a_i)
                H=min(a_i+a_j,C)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值