SVM机器学习实战2(包含训练数据)

本文介绍了如何使用机器学习实战中的简易版SMO算法进行SVM训练,通过具体代码展示了实现过程,并附有线性分割的图形示例。
摘要由CSDN通过智能技术生成

上一篇简单的用sklearn里面的SVM训练数据,本次按照机器学习实战里面的简易版的SMO来训练数据。
详细代码如下:

import numpy  as np
import matplotlib.pyplot as plt
from sklearn.utils import check_random_state
from sklearn import datasets

#load data
def loadData():
    iris = datasets.load_iris()
    rng = check_random_state(42)
    perm = rng.permutation(iris.target.size)
    iris_data = iris.data[perm]
    data = []
    for i in iris_data:
        data.append(i[:2])#选择前两个特征作为本次训练的基本特征
    iris_target = iris.target[perm]
    #将label分为+1('Iris-setosa') 和 -1('Iris-versicolor'和'Iris-virginica')
    iris_target = np.where((iris_target == 1) |(iris_target == 2), -1, 1)  
    return data, iris_target

#随机选择一个alpha
def selectJrand(i, m):
    j = i
    while j == i:
        j = int(np.random.uniform(0, m))
    return j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值